OpendTect-6_4  6.4
Public Member Functions | List of all members
Geometry::ParametricCurve Class Referenceabstract

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

Inheritance diagram for Geometry::ParametricCurve:
[legend]

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
 
IteratorcreateIterator () const
 
virtual bool insertPosition (GeomPosID, const Coord3 &)=0
 
virtual StepInterval< int > parameterRange () const =0
 
- Public Member Functions inherited from Geometry::Element
 Element ()
 
virtual ~Element ()
 
virtual IntervalND< float > boundingBox (bool approx) const
 
virtual Elementclone () const =0
 
virtual uiString errMsg () const
 
virtual Coord3 getPosition (GeomPosID) const =0
 
virtual bool setPosition (GeomPosID, const Coord3 &)=0
 
virtual bool isDefined (GeomPosID) const =0
 
virtual bool isChanged () const
 
virtual void resetChangedFlag ()
 
virtual void trimUndefParts ()
 
void blockCallBacks (bool yn, bool flush=true)
 
bool blocksCallBacks () const
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (NotifierAccess &, const CallBack &, bool onlyifnew=false)
 
bool attachCB (NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false)
 
void detachCB (NotifierAccess &, const CallBack &)
 
void detachCB (NotifierAccess *notif, const CallBack &cb)
 
bool isNotifierAttached (NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 

Additional Inherited Members

- Public Attributes inherited from Geometry::Element
CNotifier< Element, const TypeSet< GeomPosID > * > movementnotifier
 
CNotifier< Element, const TypeSet< GeomPosID > * > nrpositionnotifier
 
- Protected Member Functions inherited from Geometry::Element
void triggerMovement (const TypeSet< GeomPosID > &)
 
void triggerMovement (const GeomPosID &)
 
void triggerMovement ()
 
void triggerNrPosCh (const TypeSet< GeomPosID > &)
 
void triggerNrPosCh (const GeomPosID &)
 
void triggerNrPosCh ()
 
uiStringerrmsg ()
 
- Protected Member Functions inherited from CallBacker
void detachAllNotifiers ()
 Call from the destructor of your inherited object. More...
 
- Protected Attributes inherited from Geometry::Element
bool blockcbs_
 
TypeSet< GeomPosIDnrposchbuffer_
 
TypeSet< GeomPosIDmovementbuffer_
 
bool ischanged_
 

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.

Iterator* Geometry::ParametricCurve::createIterator ( ) const
virtual

Implements Geometry::Element.

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
epsthe allowed error in parameter space
pThe 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
epsthe allowed error in parameter space
pThe 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.

Reimplemented from Geometry::Element.

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

Implemented in Geometry::CubicBezierCurve.

virtual bool Geometry::ParametricCurve::isCircular ( ) const
inlinevirtual

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.


Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2019