A curve that is defined by regularly sampled positions. More...
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 |
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.
| 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] |
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.
| 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
| 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.
1.7.1