DATAKIT API  V2025.1
Dtk_Line Class Reference

This is the Infinite Line Class. It is part of the Dtk_Curve entity 0.0 parametrisation is first point or origin 1.0 parametrisation is second point or vector norm. More...

+ Inheritance diagram for Dtk_Line:

Public Member Functions

virtual Dtk_ErrorStatus _ComputeAnyDerivative (Dtk_Double64 inUvalue, int inUdiff, Dtk_dir &outdir, int exttype) const
 
virtual Dtk_ErrorStatus _Store (void *)
 
virtual 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
 Return First point. 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...
 
Dtk_dir GetDirection () const
 return direction of line 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_pnt GetOrigin () const
 return origin of line 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...
 
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...
 
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 Line with inTransformation More...
 

Static Public Member Functions

static Dtk_LinePtr Create (const Dtk_Line &inLineToCopy)
 constructors returning Smart pointers More...
 
static Dtk_LinePtr Create (const Dtk_pnt &inOrigin, const Dtk_dir &inDirection)
 
static Dtk_LinePtr Create (const Dtk_pnt &inPnt1, const Dtk_pnt &inPnt2)
 
static Dtk_LineDtkDynamicCast (Dtk_Object *inObjectToCast)
 

Protected Types

enum  { _typeID = DTK_TYPE_OBJECT }
 
enum  { _typeID = DTK_TYPE_CURVE }
 
enum  { _typeID = DTK_TYPE_LINE }
 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_Line ()
 Default constructor. More...
 
 Dtk_Line (const Dtk_Line &inLineToCopy)
 constructor More...
 
 Dtk_Line (const Dtk_pnt &inOrigin, const Dtk_dir &inDirection)
 constructor More...
 
 Dtk_Line (const Dtk_pnt &inPnt1, const Dtk_pnt &inPnt2)
 constructor More...
 
virtual ~Dtk_Line ()
 Default destructor. More...
 

Protected Attributes

Dtk_Handle * _Private
 Handle
More...
 
unsigned long count_
 

Friends

class Dtk_SmartPtr< Dtk_Line >
 smart pointer More...
 

Detailed Description

This is the Infinite Line Class. It is part of the Dtk_Curve entity 0.0 parametrisation is first point or origin 1.0 parametrisation is second point or vector norm.

Warning
Please use the Dtk_LinePtr 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 
429 { _typeID = DTK_TYPE_LINE };

Constructor & Destructor Documentation

◆ Dtk_Line() [1/4]

Dtk_Line::Dtk_Line ( )
protected

Default constructor.

◆ Dtk_Line() [2/4]

Dtk_Line::Dtk_Line ( const Dtk_Line inLineToCopy)
protected

constructor

◆ Dtk_Line() [3/4]

Dtk_Line::Dtk_Line ( const Dtk_pnt inOrigin,
const Dtk_dir inDirection 
)
protected

constructor

◆ Dtk_Line() [4/4]

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

constructor

◆ ~Dtk_Line()

virtual Dtk_Line::~Dtk_Line ( )
protectedvirtual

Default destructor.

Member Function Documentation

◆ _ComputeAnyDerivative()

virtual Dtk_ErrorStatus Dtk_Line::_ComputeAnyDerivative ( Dtk_Double64  inUvalue,
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_Line::_Store ( void *  )
virtual

Reimplemented from Dtk_Curve.

◆ Clone()

virtual Dtk_Object* Dtk_Line::Clone ( )
protectedvirtual

Implements Dtk_Curve.

438 { return new Dtk_Line(*this); }

◆ ComputeBoundingBox()

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

Compute Bounding Box.

Reimplemented from Dtk_Curve.

◆ ComputeEndPoint()

virtual Dtk_pnt Dtk_Line::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_Line::ComputeParameter ( const Dtk_pnt inPoint,
Dtk_Double64 outU 
) const
virtual

Compute U parameter from point.

Implements Dtk_Curve.

◆ ComputeStartPoint()

virtual Dtk_pnt Dtk_Line::ComputeStartPoint ( ) const
virtual

Return First point.

Implements Dtk_Curve.

◆ ComputeUDir()

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

Compute dir on U parameter.

Reimplemented from Dtk_Curve.

◆ ComputeUPoint()

virtual Dtk_ErrorStatus Dtk_Line::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_LinePtr Dtk_Line::Create ( const Dtk_Line inLineToCopy)
static

constructors returning Smart pointers

◆ Create() [2/3]

static Dtk_LinePtr Dtk_Line::Create ( const Dtk_pnt inOrigin,
const Dtk_dir inDirection 
)
static

◆ Create() [3/3]

static Dtk_LinePtr Dtk_Line::Create ( const Dtk_pnt inPnt1,
const Dtk_pnt inPnt2 
)
static

◆ DeleteCorrespondingNurbs()

void Dtk_Curve::DeleteCorrespondingNurbs ( )
inherited

◆ DtkDynamicCast()

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

◆ DtkDynamicType()

int Dtk_Line::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_Line::get_type_detk ( ) const
virtual

Implements Dtk_Entity.

◆ GetDimension()

Dtk_Size_t Dtk_Curve::GetDimension ( ) const
inherited

Return 2 or 3.

◆ GetDirection()

Dtk_dir Dtk_Line::GetDirection ( ) const

return direction of line

◆ GetDomain()

virtual Dtk_ErrorStatus Dtk_Line::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

◆ GetOrigin()

Dtk_pnt Dtk_Line::GetOrigin ( ) const

return origin of line

◆ GetSize()

virtual Dtk_Size_t Dtk_Line::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()

Dtk_bool Dtk_Curve::IsLine ( )
inherited

return True if Curve is a line

◆ 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_Line::Normalize ( )
virtual

Normalize Curve.

Reimplemented from Dtk_Curve.

◆ PrepareTransfo()

virtual void Dtk_Entity::PrepareTransfo ( )
virtualinherited

Reimplemented in Dtk_OffsetSurface.

◆ Reverse()

virtual void Dtk_Line::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_Line::ToNurbs ( ) const
virtual

Convert Curve to nurbs.

Implements Dtk_Curve.

◆ ToPolyline()

virtual Dtk_PolylinePtr Dtk_Line::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_Line::Transform ( const Dtk_transfo inTransfo)
virtual

transform Line with inTransformation

Reimplemented from Dtk_Curve.

Friends And Related Function Documentation

◆ Dtk_SmartPtr< Dtk_Line >

friend class Dtk_SmartPtr< Dtk_Line >
friend

smart pointer

Field Documentation

◆ _Private

Dtk_Handle* Dtk_Line::_Private
protected

Handle

◆ count_

unsigned long Dtk_Object::count_
protectedinherited
Dtk_Line::_typeID
@ _typeID
Definition: util_geom_dtk.hpp:429
Dtk_Curve::_typeID
@ _typeID
Definition: util_geom_dtk.hpp:91
Dtk_Line::Dtk_Line
Dtk_Line()
Default constructor.
DTK_TYPE_OBJECT
@ DTK_TYPE_OBJECT
Definition: define.h:464
DTK_TYPE_CURVE
@ DTK_TYPE_CURVE
Definition: define.h:67
DTK_TYPE_LINE
@ DTK_TYPE_LINE
Definition: define.h:57
Dtk_Object::_typeID
@ _typeID
Definition: dtk_object.hpp:13