| OpendTect 8.0

Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
Geometry::ParametricCurve Class Referenceabstract
Geometry

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

`#include <parametriccurve.h>`

Inheritance diagram for Geometry::ParametricCurve:
[legend]

## Public Member Functions
| ~ParametricCurve ()
virtual Coord3 | computePosition (float) const =0
virtual Coord3 | computeTangent (float) const =0
Iterator * | createIterator () const override
virtual bool | findClosestIntersection (float &p, const Plane3 &, float eps=1e-2) const
virtual bool | findClosestPosition (float &p, const Coord3 &, float eps=1e-2) const
void | getPosIDs (TypeSet< GeomPosID > &, bool=true) const override
virtual bool | insertPosition (GeomPosID, const Coord3 &)=0
virtual bool | isCircular () const
virtual StepInterval< int > | parameterRange () const =0
Public Member Functions inherited from Geometry::Element
| Element ()
| Element (const Element &)
virtual | ~Element ()
void | blockCallBacks (bool yn, bool flush=true)
bool | blocksCallBacks () const
virtual IntervalND< float > | boundingBox (bool approx) const
virtual Element * | clone () const =0
virtual uiString | errMsg () const
virtual Coord3 | getPosition (GeomPosID) const =0
virtual bool | isChanged () const
virtual bool | isDefined (GeomPosID) const =0
Element & | operator= (const Element &)
virtual void | resetChangedFlag ()
virtual bool | setPosition (GeomPosID, const Coord3 &)=0
virtual void | trimUndefParts ()
Public Member Functions inherited from CallBacker
| CallBacker ()
| CallBacker (const CallBacker &)
virtual | ~CallBacker ()
bool | attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const
bool | attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const
void | detachAllNotifiers () const
| Call from the destructor of your inherited object.
void | detachCB (const NotifierAccess &, const CallBack &) const
void | detachCB (const NotifierAccess *notif, const CallBack &cb) const
virtual bool | isCapsule () const
bool | isNotifierAttached (const NotifierAccess *) const
| Only for debugging purposes, don't use.
CallBacker & | operator= (const CallBacker &)=delete
void | stopReceivingNotifications () const
virtual CallBacker * | trueCaller ()

## Protected Member Functions
| ParametricCurve ()
Protected Member Functions inherited from Geometry::Element
uiString & | errmsg ()
void | triggerMovement ()
void | triggerMovement (const GeomPosID &)
void | triggerMovement (const TypeSet< GeomPosID > &)
void | triggerNrPosCh ()
void | triggerNrPosCh (const GeomPosID &)
void | triggerNrPosCh (const TypeSet< GeomPosID > &)

## Additional Inherited Members
Static Public Member Functions inherited from CallBacker
static void | createReceiverForCurrentThread ()
static void | removeReceiverForCurrentThread ()
Public Attributes inherited from Geometry::Element
CNotifier< Element, const TypeSet< GeomPosID > * > | movementnotifier
CNotifier< Element, const TypeSet< GeomPosID > * > | nrpositionnotifier
Protected Attributes inherited from Geometry::Element
bool | blockcbs_ = false
bool | ischanged_ = false
TypeSet< GeomPosID > | movementbuffer_
TypeSet< GeomPosID > | nrposchbuffer_

## Detailed Description

A curve that is defined by regularly sampled positions.

The curve's behavior 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.

<>

## Constructor & Destructor Documentation

## ◆ ~ParametricCurve()

Geometry::ParametricCurve::~ParametricCurve | ( |  | ) |

## ◆ ParametricCurve()

Geometry::ParametricCurve::ParametricCurve | ( |  | ) |
| protected

## Member Function Documentation

## ◆ computePosition()

virtual Coord3 Geometry::ParametricCurve::computePosition | ( | float |  | ) | const
| pure virtual

Computes the position between two samples

Implemented in Geometry::CubicBezierCurve.

## ◆ computeTangent()

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.

## ◆ createIterator()

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

Implements Geometry::Element.

## ◆ findClosestIntersection()

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

## ◆ findClosestPosition()

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

## ◆ getPosIDs()

void Geometry::ParametricCurve::getPosIDs | ( | TypeSet< GeomPosID > & | ,
|  | bool | = true ) const
| override virtual

Returns a list with all defined positions.

Reimplemented from Geometry::Element.

## ◆ insertPosition()

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

Implemented in Geometry::CubicBezierCurve.

## ◆ isCircular()

virtual bool Geometry::ParametricCurve::isCircular | ( |  | ) | const
| inline virtual

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

Reimplemented in Geometry::CubicBezierCurve.

## ◆ parameterRange()

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. 1995-2025