#include <curve.h>
Inheritance diagram for csBezierCurve:
Public Methods | |
csBezierCurve (csBezierTemplate *parent_tmpl) | |
~csBezierCurve () | |
virtual csCurveTesselated* | Tesselate (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). | |
csVector3& | GetControlPoint (int i) |
Get a curve point. | |
csVector2& | GetTextureCoord (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. |
|
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. |