Public Member Functions | Protected Member Functions | Protected Attributes

Geometry::CubicBezierCurve Class Reference

Inheritance diagram for Geometry::CubicBezierCurve:
Geometry::ParametricCurve Geometry::Element CallBacker

List of all members.

Public Member Functions

 CubicBezierCurve (const Coord3 &, const Coord3 &, int firstparam=0, int step=1)
CubicBezierCurveclone () const
IntervalND< float > boundingBox (bool) const
Coord3 computePosition (float) const
Coord3 computeTangent (float) const
StepInterval< int > parameterRange () const
Coord3 getPosition (GeomPosID) const
bool setPosition (GeomPosID, const Coord3 &)
bool unsetPosition (GeomPosID)
bool insertPosition (GeomPosID, const Coord3 &)
bool removePosition (GeomPosID)
bool isDefined (GeomPosID) const
Coord3 getBezierVertex (GeomPosID, bool before) const
Coord3 getTangent (GeomPosID, bool computeifudf) const
bool setTangent (GeomPosID, const Coord3 &)
bool unsetTangent (GeomPosID)
bool isTangentDefined (GeomPosID) const
float directionInfluence () const
void setTangentInfluence (float)
bool isCircular () const
bool setCircular (bool yn)

Protected Member Functions

int getIndex (GeomPosID param) const
Coord3 computeTangent (GeomPosID) const

Protected Attributes

int firstparam
int paramstep
TypeSet< Coord3positions
TypeSet< Coord3directions
float directioninfluence
bool iscircular

Constructor & Destructor Documentation

Geometry::CubicBezierCurve::CubicBezierCurve ( const Coord3 ,
const Coord3 ,
int  firstparam = 0,
int  step = 1 
)

Member Function Documentation

IntervalND<float> Geometry::CubicBezierCurve::boundingBox ( bool   )  const [virtual]

Reimplemented from Geometry::Element.

CubicBezierCurve* Geometry::CubicBezierCurve::clone (  )  const [virtual]

Implements Geometry::Element.

Coord3 Geometry::CubicBezierCurve::computePosition ( float   )  const [virtual]

Computes the position between two samples

Implements Geometry::ParametricCurve.

Coord3 Geometry::CubicBezierCurve::computeTangent ( float   )  const [virtual]
Note:
the tangent is scaled so the components (x, y, z) forms the derivatives: (dx/du, dy/du, dz/du ).

Implements Geometry::ParametricCurve.

Coord3 Geometry::CubicBezierCurve::computeTangent ( GeomPosID   )  const [protected]
float Geometry::CubicBezierCurve::directionInfluence (  )  const
Coord3 Geometry::CubicBezierCurve::getBezierVertex ( GeomPosID  ,
bool  before 
) const
int Geometry::CubicBezierCurve::getIndex ( GeomPosID  param  )  const [inline, protected]
Coord3 Geometry::CubicBezierCurve::getPosition ( GeomPosID   )  const [virtual]

Implements Geometry::Element.

Coord3 Geometry::CubicBezierCurve::getTangent ( GeomPosID  ,
bool  computeifudf 
) const
bool Geometry::CubicBezierCurve::insertPosition ( GeomPosID  ,
const Coord3  
) [virtual]
bool Geometry::CubicBezierCurve::isCircular (  )  const [virtual]

If true, the curve is connected between parameterRange().stop and parameterRange().start.

Reimplemented from Geometry::ParametricCurve.

bool Geometry::CubicBezierCurve::isDefined ( GeomPosID   )  const [virtual]

Implements Geometry::Element.

bool Geometry::CubicBezierCurve::isTangentDefined ( GeomPosID   )  const
StepInterval<int> Geometry::CubicBezierCurve::parameterRange (  )  const [virtual]
bool Geometry::CubicBezierCurve::removePosition ( GeomPosID   ) 

The opposite of insertPosition

bool Geometry::CubicBezierCurve::setCircular ( bool  yn  ) 
bool Geometry::CubicBezierCurve::setPosition ( GeomPosID  ,
const Coord3  
) [virtual]

Implements Geometry::Element.

bool Geometry::CubicBezierCurve::setTangent ( GeomPosID  ,
const Coord3  
)
void Geometry::CubicBezierCurve::setTangentInfluence ( float   ) 
bool Geometry::CubicBezierCurve::unsetPosition ( GeomPosID   ) 

Sets position to undefined

bool Geometry::CubicBezierCurve::unsetTangent ( GeomPosID   ) 

Member Data Documentation