Public Member Functions

Geometry::ParametricCurve Class Reference

A curve that is defined by regularly sampled positions. More...

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

List of all members.

Public Member Functions

virtual Coord3 computePosition (float) const =0
virtual Coord3 computeTangent (float) const =0
virtual bool findClosestPosition (float &p, const Coord3 &, float eps=1e-2) const
virtual bool findClosestIntersection (float &p, const Plane3 &, float eps=1e-2) const
virtual bool isCircular () const
void getPosIDs (TypeSet< GeomPosID > &, bool=true) const
virtual bool insertPosition (GeomPosID, const Coord3 &)=0
virtual StepInterval< int > parameterRange () const =0

Detailed Description

A curve that is defined by regularly sampled positions.

The curve's behaviour between the positions is determined by a function of a parameter u: (x(u), y(u), z(u)). The samplerange is determined by parameterRange(). The curve is guaranteed to be continious within its parameter range, and if isCircular() returns true, it connects between parameterRange().stop and parameterRange().start.


Member Function Documentation

virtual Coord3 Geometry::ParametricCurve::computePosition ( float   )  const [pure virtual]

Computes the position between two samples

Implemented in Geometry::CubicBezierCurve.

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

Implemented in Geometry::CubicBezierCurve.

virtual bool Geometry::ParametricCurve::findClosestIntersection ( float &  p,
const Plane3 ,
float  eps = 1e-2 
) const [virtual]

Iterates over the curve to find the closest intersection.

Parameters:
eps the allowed error in parameter space
p The initial position and the returned intersection. If undef on start, the closest defined position will be used as start
virtual bool Geometry::ParametricCurve::findClosestPosition ( float &  p,
const Coord3 ,
float  eps = 1e-2 
) const [virtual]

Iterates over the curve to find the closest position

Parameters:
eps the allowed error in parameter space
p The initial position and the returned best position. If undef on start, the closest defined position will be used as start
void Geometry::ParametricCurve::getPosIDs ( TypeSet< GeomPosID > &  ,
bool  = true 
) const [virtual]

Returns a list with all defined positions.

Implements Geometry::Element.

virtual bool Geometry::ParametricCurve::insertPosition ( GeomPosID  ,
const Coord3  
) [pure virtual]

Implemented in Geometry::CubicBezierCurve.

virtual bool Geometry::ParametricCurve::isCircular (  )  const [inline, virtual]

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

Reimplemented in Geometry::CubicBezierCurve.

virtual StepInterval<int> Geometry::ParametricCurve::parameterRange (  )  const [pure virtual]

Implemented in Geometry::CubicBezierCurve.