Google

Main Page   Class Hierarchy   Compound List   File List   Compound Members  

csBezierCurve Class Reference

A specific curve implementation for Bezier curves. More...

#include <curve.h>

Inheritance diagram for csBezierCurve:

csCurve csObject iObject iBase List of all members.

Public Methods

 csBezierCurve (csBezierTemplate *parent_tmpl)
 ~csBezierCurve ()
virtual csCurveTesselatedTesselate (int res)
 Tesselate this curve.

virtual void GetObjectBoundingBox (csBox3 &bbox)
 Return a bounding box in object space for this curve.

void Load (char *buf)
 Load a curve from disk.

virtual void SetControlPoint (int index, int control_id)
 set control index for a control point (referring to the controls in the parent csThing).

csVector3GetControlPoint (int i)
 Get a curve point.

csVector2GetTextureCoord (int i)
 Get the texture coordinate of a curve point.

virtual bool IsLightable ()
 Lighting support. More...

virtual void PosInSpace (csVector3 &vec, double u, double v)
 Helper function for lighting. Override for different types of curves.

virtual void Normal (csVector3 &vec, double u, double v)
 Helper function for lighting. Override for different types of curves.

virtual void HardTransform (const csReversibleTransform &trans)
 Do a hard transform on this curve.


Detailed Description

A specific curve implementation for Bezier curves.


Member Function Documentation

virtual bool csBezierCurve::IsLightable ( ) [virtual]
 

Lighting support.

If IsLightable returns true, PosInSpace and Normal should calculate accurate positions and normals for the beziers, regardless of the approximating tesselation method. These are used for lighting. Default behaviour is to allow for unlighted curves. Derive these if you do want them lighted.

Reimplemented from csCurve.


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000