DATAKIT API  V2025.1
Dtk_Polyline Class Reference

This is the Polyline and Segment Line Class. It is part of the Dtk_Curve entity. More...

+ Inheritance diagram for Dtk_Polyline:

Public Member Functions

virtual Dtk_ErrorStatus _ComputeAnyDerivative (Dtk_Double64 u, int inUdiff, Dtk_dir &outdir, int exttype) const
 
virtual Dtk_ErrorStatus _Store (void *)
 
void AddPoint (const Dtk_Double64 &inX, const Dtk_Double64 &inY, const Dtk_Double64 &inZ=0.0)
 
void AddPoint (const Dtk_pnt &inNewPoint)
 Add point to polyline. More...
 
Dtk_ErrorStatus ComputeBoundingBox (Dtk_pnt &outMin, Dtk_pnt &outMax, Dtk_bool inMorePrecise=0)
 Compute Bounding Box. More...
 
virtual Dtk_pnt ComputeEndPoint () const
 Return Last point. More...
 
Dtk_Double64 ComputeLength ()
 return curve Length More...
 
Dtk_NurbsCurvePtr ComputeOffset (Dtk_Double64 inOffset, Dtk_dir inOffsetDirection)
 Compute offset curve and convert it to nurbs. More...
 
virtual Dtk_ErrorStatus ComputeOrientedBoundingBox (Dtk_pnt &outMin, Dtk_pnt &outMax, const Dtk_transfo &inLocal)
 Compute Oriented Bounding Box. More...
 
virtual Dtk_ErrorStatus ComputeParameter (const Dtk_pnt &inPoint, Dtk_Double64 &outU) const
 Compute U parameter from point. More...
 
virtual Dtk_pnt ComputeStartPoint () const
 Compute dir on U parameter. More...
 
virtual Dtk_ErrorStatus ComputeUDir (const Dtk_Double64 &inU, Dtk_dir &outDir) const
 Compute dir on U parameter. More...
 
virtual Dtk_ErrorStatus ComputeUPoint (const Dtk_Double64 &inU, Dtk_pnt &outPoint) const
 Compute point on U parameter. More...
 
virtual Dtk_ErrorStatus ComputeUPointDir (const Dtk_Double64 &inU, Dtk_pnt &outPoint, Dtk_dir &outDir) const
 Compute point and dir on U parameter. More...
 
void DeleteCorrespondingNurbs ()
 
int DtkDynamicType (const int &inId)
 downcasting More...
 
virtual void dump (FILE *file=stdout)
 
Dtk_InfoPtr get_info () const
 
type_detk get_type_detk () const
 
Dtk_Size_t GetDimension () const
 Return 2 or 3. More...
 
virtual Dtk_ErrorStatus GetDomain (Dtk_Double64 &outUmin, Dtk_Double64 &outUmax) const
 Get Curve Parametrisation. More...
 
const Dtk_IDGetID () const
 Get Internal UniqueID. More...
 
Dtk_Size_t GetNumPoints () const
 return number of points for the polyline More...
 
virtual Dtk_Size_t GetSize () const
 
Dtk_pnt GetTrimEndPoint () const
 Return last trim point. More...
 
Dtk_pnt GetTrimStartPoint () const
 Return first trim point. More...
 
Dtk_Double64 GetTrimUMax () const
 Get end Trim parameter. More...
 
Dtk_Double64 GetTrimUMin () const
 Get start Trim parameter. More...
 
Dtk_InfoPtrinfo ()
 
virtual Dtk_ErrorStatus InverseTrim ()
 
virtual Dtk_bool IsClosed (Dtk_Double64 inTol=DTK_TOLERANCE) const
 return True if Curve is closed More...
 
Dtk_bool IsLine ()
 return True if Curve is a line More...
 
Dtk_bool IsLine () const
 return DTK_TRUE if polyline is a line DTK_FALSE otherwise More...
 
virtual Dtk_bool IsPeriodic () const
 return True if Curve is periodic More...
 
Dtk_bool IsTrimmed () const
 Return DTK_TRUE if Curve Is trimmed by point or parameter value. More...
 
virtual void Normalize ()
 Normalize Curve. More...
 
Dtk_pntPoint (const Dtk_Size_t &inIndex)
 
const Dtk_pntPoint (const Dtk_Size_t &inIndex) const
 return the point at place inIndex More...
 
virtual void PrepareTransfo ()
 
virtual void Reverse ()
 Reverse Curve. More...
 
void SetDimension (const Dtk_Size_t &inDimension)
 Set curve dimension (2 or 3) More...
 
virtual Dtk_ErrorStatus SetTrimmingParameters (const Dtk_Double64 &inUmin, const Dtk_Double64 &inUmax)
 Set Trim parameter for curve. More...
 
void SetTrimPoints (const Dtk_pnt &inStartPoint, const Dtk_pnt &inEndPoint)
 Set Trim points for curve. More...
 
virtual Dtk_NurbsCurvePtr ToNurbs () const
 Convert Curve to nurbs. More...
 
virtual Dtk_PolylinePtr ToPolyline (const int &inMinPoint, const Dtk_Double64 &inTolerance) const
 Convert Curve to polyline. More...
 
virtual Dtk_ErrorStatus Transform (const Dtk_transfo &inTransfo)
 transform Polyline with inTransformation More...
 

Static Public Member Functions

static Dtk_PolylinePtr Create (const Dtk_pnt &inPnt1, const Dtk_pnt &inPnt2)
 
static Dtk_PolylinePtr Create (const Dtk_Polyline &inPolylineToCopy)
 constructors returning Smart pointers More...
 
static Dtk_PolylinePtr Create (const Dtk_tab< Dtk_pnt > &inPoints)
 
static Dtk_PolylineDtkDynamicCast (Dtk_Object *inObjectToCast)
 

Protected Types

enum  { _typeID = DTK_TYPE_OBJECT }
 
enum  { _typeID = DTK_TYPE_CURVE }
 
enum  { _typeID = DTK_TYPE_POLYLINE }
 Entity Type. More...
 

Protected Member Functions

void _Copy (const Dtk_Curve &s)
 
void _copy (const Dtk_Entity &s)
 
void _copy (const Dtk_Object &s)
 
void _init ()
 
void _reset ()
 
virtual Dtk_ObjectClone ()
 
 Dtk_Polyline ()
 Default constructor. More...
 
 Dtk_Polyline (const Dtk_pnt &inPnt1, const Dtk_pnt &inPnt2)
 constructor More...
 
 Dtk_Polyline (const Dtk_Polyline &inPolylineToCopy)
 constructor More...
 
 Dtk_Polyline (const Dtk_tab< Dtk_pnt > &inPoints)
 constructor More...
 
virtual ~Dtk_Polyline ()
 Default destructor. More...
 

Protected Attributes

Dtk_Handle * _Private
 Handle
More...
 
unsigned long count_
 

Friends

class Dtk_SmartPtr< Dtk_Polyline >
 smart pointer More...
 

Detailed Description

This is the Polyline and Segment Line Class. It is part of the Dtk_Curve entity.

Warning
Please use the Dtk_PolylinePtr class to handle it...

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
_typeID 

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
_typeID 
91 { _typeID = DTK_TYPE_CURVE };

◆ anonymous enum

anonymous enum
protected

Entity Type.

Enumerator
_typeID 

Constructor & Destructor Documentation

◆ Dtk_Polyline() [1/4]

Dtk_Polyline::Dtk_Polyline ( )
protected

Default constructor.

◆ Dtk_Polyline() [2/4]

Dtk_Polyline::Dtk_Polyline ( const Dtk_Polyline inPolylineToCopy)
protected

constructor

◆ Dtk_Polyline() [3/4]

Dtk_Polyline::Dtk_Polyline ( const Dtk_tab< Dtk_pnt > &  inPoints)
protected

constructor

◆ Dtk_Polyline() [4/4]

Dtk_Polyline::Dtk_Polyline ( const Dtk_pnt inPnt1,
const Dtk_pnt inPnt2 
)
protected

constructor

◆ ~Dtk_Polyline()

virtual Dtk_Polyline::~Dtk_Polyline ( )
protectedvirtual

Default destructor.

Member Function Documentation

◆ _ComputeAnyDerivative()

virtual Dtk_ErrorStatus Dtk_Polyline::_ComputeAnyDerivative ( Dtk_Double64  u,
int  inUdiff,
Dtk_dir outdir,
int  exttype 
) const
virtual

Reimplemented from Dtk_Curve.

◆ _Copy()

void Dtk_Curve::_Copy ( const Dtk_Curve s)
protectedinherited

◆ _copy() [1/2]

void Dtk_Entity::_copy ( const Dtk_Entity s)
protectedinherited

◆ _copy() [2/2]

void Dtk_Object::_copy ( const Dtk_Object s)
protectedinherited

◆ _init()

void Dtk_Entity::_init ( )
protectedinherited

◆ _reset()

void Dtk_Entity::_reset ( )
protectedinherited

◆ _Store()

virtual Dtk_ErrorStatus Dtk_Polyline::_Store ( void *  )
virtual

Reimplemented from Dtk_Curve.

◆ AddPoint() [1/2]

void Dtk_Polyline::AddPoint ( const Dtk_Double64 inX,
const Dtk_Double64 inY,
const Dtk_Double64 inZ = 0.0 
)

◆ AddPoint() [2/2]

void Dtk_Polyline::AddPoint ( const Dtk_pnt inNewPoint)

Add point to polyline.

◆ Clone()

virtual Dtk_Object* Dtk_Polyline::Clone ( )
protectedvirtual

Implements Dtk_Curve.

353 { return new Dtk_Polyline(*this); }

◆ ComputeBoundingBox()

Dtk_ErrorStatus Dtk_Polyline::ComputeBoundingBox ( Dtk_pnt outMin,
Dtk_pnt outMax,
Dtk_bool  inMorePrecise = 0 
)
virtual

Compute Bounding Box.

Reimplemented from Dtk_Curve.

◆ ComputeEndPoint()

virtual Dtk_pnt Dtk_Polyline::ComputeEndPoint ( ) const
virtual

Return Last point.

Implements Dtk_Curve.

◆ ComputeLength()

Dtk_Double64 Dtk_Curve::ComputeLength ( )
inherited

return curve Length

◆ ComputeOffset()

Dtk_NurbsCurvePtr Dtk_Curve::ComputeOffset ( Dtk_Double64  inOffset,
Dtk_dir  inOffsetDirection 
)
inherited

Compute offset curve and convert it to nurbs.

◆ ComputeOrientedBoundingBox()

virtual Dtk_ErrorStatus Dtk_Curve::ComputeOrientedBoundingBox ( Dtk_pnt outMin,
Dtk_pnt outMax,
const Dtk_transfo inLocal 
)
virtualinherited

Compute Oriented Bounding Box.

◆ ComputeParameter()

virtual Dtk_ErrorStatus Dtk_Polyline::ComputeParameter ( const Dtk_pnt inPoint,
Dtk_Double64 outU 
) const
virtual

Compute U parameter from point.

Implements Dtk_Curve.

◆ ComputeStartPoint()

virtual Dtk_pnt Dtk_Polyline::ComputeStartPoint ( ) const
virtual

Compute dir on U parameter.

Implements Dtk_Curve.

◆ ComputeUDir()

virtual Dtk_ErrorStatus Dtk_Curve::ComputeUDir ( const Dtk_Double64 inU,
Dtk_dir outDir 
) const
virtualinherited

Compute dir on U parameter.

Reimplemented in Dtk_Ellipse, Dtk_Line, and Dtk_NurbsCurve.

◆ ComputeUPoint()

virtual Dtk_ErrorStatus Dtk_Polyline::ComputeUPoint ( const Dtk_Double64 inU,
Dtk_pnt outPoint 
) const
virtual

Compute point on U parameter.

Implements Dtk_Curve.

◆ ComputeUPointDir()

virtual Dtk_ErrorStatus Dtk_Curve::ComputeUPointDir ( const Dtk_Double64 inU,
Dtk_pnt outPoint,
Dtk_dir outDir 
) const
virtualinherited

Compute point and dir on U parameter.

Reimplemented in Dtk_NurbsCurve.

◆ Create() [1/3]

static Dtk_PolylinePtr Dtk_Polyline::Create ( const Dtk_pnt inPnt1,
const Dtk_pnt inPnt2 
)
static

◆ Create() [2/3]

static Dtk_PolylinePtr Dtk_Polyline::Create ( const Dtk_Polyline inPolylineToCopy)
static

constructors returning Smart pointers

◆ Create() [3/3]

static Dtk_PolylinePtr Dtk_Polyline::Create ( const Dtk_tab< Dtk_pnt > &  inPoints)
static

◆ DeleteCorrespondingNurbs()

void Dtk_Curve::DeleteCorrespondingNurbs ( )
inherited

◆ DtkDynamicCast()

static Dtk_Polyline* Dtk_Polyline::DtkDynamicCast ( Dtk_Object inObjectToCast)
static

◆ DtkDynamicType()

int Dtk_Polyline::DtkDynamicType ( const int &  inId)
virtual

downcasting

Reimplemented from Dtk_Curve.

◆ dump()

virtual void Dtk_Object::dump ( FILE *  file = stdout)
virtualinherited

◆ get_info()

Dtk_InfoPtr Dtk_Entity::get_info ( ) const
inherited

◆ get_type_detk()

type_detk Dtk_Polyline::get_type_detk ( ) const
virtual

Implements Dtk_Entity.

◆ GetDimension()

Dtk_Size_t Dtk_Curve::GetDimension ( ) const
inherited

Return 2 or 3.

◆ GetDomain()

virtual Dtk_ErrorStatus Dtk_Polyline::GetDomain ( Dtk_Double64 outUmin,
Dtk_Double64 outUmax 
) const
virtual

Get Curve Parametrisation.

Implements Dtk_Curve.

◆ GetID()

const Dtk_ID& Dtk_Entity::GetID ( ) const
inherited

Get Internal UniqueID.

Returns
InternalID

◆ GetNumPoints()

Dtk_Size_t Dtk_Polyline::GetNumPoints ( ) const

return number of points for the polyline

◆ GetSize()

virtual Dtk_Size_t Dtk_Polyline::GetSize ( ) const
virtual

Reimplemented from Dtk_Curve.

◆ GetTrimEndPoint()

Dtk_pnt Dtk_Curve::GetTrimEndPoint ( ) const
inherited

Return last trim point.

◆ GetTrimStartPoint()

Dtk_pnt Dtk_Curve::GetTrimStartPoint ( ) const
inherited

Return first trim point.

◆ GetTrimUMax()

Dtk_Double64 Dtk_Curve::GetTrimUMax ( ) const
inherited

Get end Trim parameter.

◆ GetTrimUMin()

Dtk_Double64 Dtk_Curve::GetTrimUMin ( ) const
inherited

Get start Trim parameter.

◆ info()

Dtk_InfoPtr& Dtk_Entity::info ( )
inherited

◆ InverseTrim()

virtual Dtk_ErrorStatus Dtk_Curve::InverseTrim ( )
virtualinherited

◆ IsClosed()

virtual Dtk_bool Dtk_Curve::IsClosed ( Dtk_Double64  inTol = DTK_TOLERANCE) const
virtualinherited

return True if Curve is closed

Reimplemented in Dtk_NurbsCurve.

◆ IsLine() [1/2]

Dtk_bool Dtk_Curve::IsLine ( )
inherited

return True if Curve is a line

◆ IsLine() [2/2]

Dtk_bool Dtk_Polyline::IsLine ( ) const

return DTK_TRUE if polyline is a line DTK_FALSE otherwise

◆ IsPeriodic()

virtual Dtk_bool Dtk_Curve::IsPeriodic ( ) const
virtualinherited

return True if Curve is periodic

Reimplemented in Dtk_NurbsCurve.

◆ IsTrimmed()

Dtk_bool Dtk_Curve::IsTrimmed ( ) const
inherited

Return DTK_TRUE if Curve Is trimmed by point or parameter value.

◆ Normalize()

virtual void Dtk_Curve::Normalize ( )
virtualinherited

Normalize Curve.

Reimplemented in Dtk_Line.

◆ Point() [1/2]

Dtk_pnt& Dtk_Polyline::Point ( const Dtk_Size_t inIndex)

◆ Point() [2/2]

const Dtk_pnt& Dtk_Polyline::Point ( const Dtk_Size_t inIndex) const

return the point at place inIndex

◆ PrepareTransfo()

virtual void Dtk_Entity::PrepareTransfo ( )
virtualinherited

Reimplemented in Dtk_OffsetSurface.

◆ Reverse()

virtual void Dtk_Polyline::Reverse ( )
virtual

Reverse Curve.

Implements Dtk_Curve.

◆ SetDimension()

void Dtk_Curve::SetDimension ( const Dtk_Size_t inDimension)
inherited

Set curve dimension (2 or 3)

◆ SetTrimmingParameters()

virtual Dtk_ErrorStatus Dtk_Curve::SetTrimmingParameters ( const Dtk_Double64 inUmin,
const Dtk_Double64 inUmax 
)
virtualinherited

Set Trim parameter for curve.

◆ SetTrimPoints()

void Dtk_Curve::SetTrimPoints ( const Dtk_pnt inStartPoint,
const Dtk_pnt inEndPoint 
)
inherited

Set Trim points for curve.

◆ ToNurbs()

virtual Dtk_NurbsCurvePtr Dtk_Polyline::ToNurbs ( ) const
virtual

Convert Curve to nurbs.

Implements Dtk_Curve.

◆ ToPolyline()

virtual Dtk_PolylinePtr Dtk_Polyline::ToPolyline ( const int &  inMinPoint,
const Dtk_Double64 inTolerance 
) const
virtual

Convert Curve to polyline.

Parameters
[in]inMinPoint: Minimal number of result points
[in]inTolerance: max tolerance for 3 points alignement.

Implements Dtk_Curve.

◆ Transform()

virtual Dtk_ErrorStatus Dtk_Polyline::Transform ( const Dtk_transfo inTransfo)
virtual

transform Polyline with inTransformation

Reimplemented from Dtk_Curve.

Friends And Related Function Documentation

◆ Dtk_SmartPtr< Dtk_Polyline >

friend class Dtk_SmartPtr< Dtk_Polyline >
friend

smart pointer

Field Documentation

◆ _Private

Dtk_Handle* Dtk_Polyline::_Private
protected

Handle

◆ count_

unsigned long Dtk_Object::count_
protectedinherited
Dtk_Curve::_typeID
@ _typeID
Definition: util_geom_dtk.hpp:91
DTK_TYPE_POLYLINE
@ DTK_TYPE_POLYLINE
Definition: define.h:58
DTK_TYPE_OBJECT
@ DTK_TYPE_OBJECT
Definition: define.h:464
DTK_TYPE_CURVE
@ DTK_TYPE_CURVE
Definition: define.h:67
Dtk_Polyline::_typeID
@ _typeID
Definition: util_geom_dtk.hpp:344
Dtk_Polyline::Dtk_Polyline
Dtk_Polyline()
Default constructor.
Dtk_Object::_typeID
@ _typeID
Definition: dtk_object.hpp:13