DATAKIT API  V2025.1
Dtk_Conic Class Referenceabstract

This is the Conic Class. It is part of the Dtk_Curve entity. More...

+ Inheritance diagram for Dtk_Conic:

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 =0
 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 =0
 Compute U parameter from point. More...
 
virtual Dtk_pnt ComputeStartPoint () const =0
 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 =0
 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
 
const Dtk_pntGetCenterPoint () const
 Get Center of Conic (inCenter on schema) More...
 
Dtk_Size_t GetDimension () const
 Return 2 or 3. More...
 
virtual Dtk_ErrorStatus GetDomain (Dtk_Double64 &outUmin, Dtk_Double64 &outUmax) const =0
 Get Curve Parametrisation. More...
 
const Dtk_IDGetID () const
 Get Internal UniqueID. More...
 
const Dtk_dirGetNormalDirection () const
 Get Normal vector of Conic (inNormal on schema) More...
 
const Dtk_dirGetOriginDirection () const
 Get Origin of parametrisation of Conic (inXdir on schema) 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...
 
const Dtk_dirGetXDirection () const
 
Dtk_dir GetYDirection () const
 Get Y direction of Conic. More...
 
const Dtk_dirGetZDirection () const
 
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 ()=0
 Reverse Curve. More...
 
void SetDimension (const Dtk_Size_t &inDimension)
 Set curve dimension (2 or 3) More...
 
Dtk_ErrorStatus SetStartAngle (Dtk_Double64 inAngle)
 
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
 Get Nurbs corresponding to conic (with trim) More...
 
virtual Dtk_PolylinePtr ToPolyline (const int &inMinPoint, const Dtk_Double64 &inTolerance) const =0
 Convert Curve to polyline. More...
 
virtual Dtk_ErrorStatus Transform (const Dtk_transfo &inTransfo)
 transform Conic More...
 

Static Public Member Functions

static Dtk_ConicPtr Create (const Dtk_Conic &inConicToCopy)
 
static Dtk_ConicDtkDynamicCast (Dtk_Object *inObject)
 

Protected Types

enum  { _typeID = DTK_TYPE_OBJECT }
 
enum  { _typeID = DTK_TYPE_CURVE }
 
enum  { _typeID = DTK_TYPE_CONIC }
 

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 ()=0
 
 Dtk_Conic ()
 
 Dtk_Conic (const Dtk_Conic &inConicToCopy)
 
virtual ~Dtk_Conic ()
 

Protected Attributes

Dtk_Handle * _Private
 
unsigned long count_
 

Friends

class Dtk_SmartPtr< Dtk_Conic >
 

Detailed Description

This is the Conic Class. It is part of the Dtk_Curve entity.

Warning
Please use the Dtk_ConicPtr 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
Enumerator
_typeID 
507 { _typeID = DTK_TYPE_CONIC };

Constructor & Destructor Documentation

◆ Dtk_Conic() [1/2]

Dtk_Conic::Dtk_Conic ( )
protected

◆ Dtk_Conic() [2/2]

Dtk_Conic::Dtk_Conic ( const Dtk_Conic inConicToCopy)
protected

◆ ~Dtk_Conic()

virtual Dtk_Conic::~Dtk_Conic ( )
protectedvirtual

Member Function Documentation

◆ _ComputeAnyDerivative()

virtual Dtk_ErrorStatus Dtk_Curve::_ComputeAnyDerivative ( Dtk_Double64  inUvalue,
int  inUdiff,
Dtk_dir outdir,
int  exttype 
) const
virtualinherited

◆ _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_Conic::_Store ( void *  )
virtual

Reimplemented from Dtk_Curve.

Reimplemented in Dtk_Hyperbola, Dtk_Parabola, and Dtk_Ellipse.

◆ Clone()

virtual Dtk_Object* Dtk_Conic::Clone ( )
protectedpure virtual

Implements Dtk_Curve.

Implemented in Dtk_Hyperbola, Dtk_Parabola, and Dtk_Ellipse.

◆ ComputeBoundingBox()

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

Compute Bounding Box.

Reimplemented in Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.

◆ ComputeEndPoint()

virtual Dtk_pnt Dtk_Curve::ComputeEndPoint ( ) const
pure virtualinherited

Return Last point.

Implemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.

◆ 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_Curve::ComputeParameter ( const Dtk_pnt inPoint,
Dtk_Double64 outU 
) const
pure virtualinherited

Compute U parameter from point.

Implemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.

◆ ComputeStartPoint()

virtual Dtk_pnt Dtk_Curve::ComputeStartPoint ( ) const
pure virtualinherited

Return First point.

Implemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.

◆ 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_Curve::ComputeUPoint ( const Dtk_Double64 inU,
Dtk_pnt outPoint 
) const
pure virtualinherited

Compute point on U parameter.

Implemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.

◆ 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()

static Dtk_ConicPtr Dtk_Conic::Create ( const Dtk_Conic inConicToCopy)
static

◆ DeleteCorrespondingNurbs()

void Dtk_Curve::DeleteCorrespondingNurbs ( )
inherited

◆ DtkDynamicCast()

static Dtk_Conic* Dtk_Conic::DtkDynamicCast ( Dtk_Object inObject)
static

◆ DtkDynamicType()

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

downcasting

Reimplemented from Dtk_Curve.

Reimplemented in Dtk_Hyperbola, Dtk_Parabola, and Dtk_Ellipse.

◆ 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_Conic::get_type_detk ( ) const
virtual

Implements Dtk_Entity.

Reimplemented in Dtk_Hyperbola, Dtk_Parabola, and Dtk_Ellipse.

◆ GetCenterPoint()

const Dtk_pnt& Dtk_Conic::GetCenterPoint ( ) const

Get Center of Conic (inCenter on schema)

◆ GetDimension()

Dtk_Size_t Dtk_Curve::GetDimension ( ) const
inherited

Return 2 or 3.

◆ GetDomain()

virtual Dtk_ErrorStatus Dtk_Curve::GetDomain ( Dtk_Double64 outUmin,
Dtk_Double64 outUmax 
) const
pure virtualinherited

Get Curve Parametrisation.

Implemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.

◆ GetID()

const Dtk_ID& Dtk_Entity::GetID ( ) const
inherited

Get Internal UniqueID.

Returns
InternalID

◆ GetNormalDirection()

const Dtk_dir& Dtk_Conic::GetNormalDirection ( ) const

Get Normal vector of Conic (inNormal on schema)

◆ GetOriginDirection()

const Dtk_dir& Dtk_Conic::GetOriginDirection ( ) const

Get Origin of parametrisation of Conic (inXdir on schema)

◆ GetSize()

virtual Dtk_Size_t Dtk_Conic::GetSize ( ) const
virtual

Reimplemented from Dtk_Curve.

Reimplemented in Dtk_Hyperbola, Dtk_Parabola, and Dtk_Ellipse.

◆ 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.

◆ GetXDirection()

const Dtk_dir& Dtk_Conic::GetXDirection ( ) const

◆ GetYDirection()

Dtk_dir Dtk_Conic::GetYDirection ( ) const

Get Y direction of Conic.

◆ GetZDirection()

const Dtk_dir& Dtk_Conic::GetZDirection ( ) const

◆ 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_Curve::Normalize ( )
virtualinherited

Normalize Curve.

Reimplemented in Dtk_Line.

◆ PrepareTransfo()

virtual void Dtk_Entity::PrepareTransfo ( )
virtualinherited

Reimplemented in Dtk_OffsetSurface.

◆ Reverse()

virtual void Dtk_Curve::Reverse ( )
pure virtualinherited

Reverse Curve.

Implemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.

◆ SetDimension()

void Dtk_Curve::SetDimension ( const Dtk_Size_t inDimension)
inherited

Set curve dimension (2 or 3)

◆ SetStartAngle()

Dtk_ErrorStatus Dtk_Conic::SetStartAngle ( Dtk_Double64  inAngle)

◆ 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_Conic::ToNurbs ( ) const
virtual

Get Nurbs corresponding to conic (with trim)

Implements Dtk_Curve.

Reimplemented in Dtk_Hyperbola.

◆ ToPolyline()

virtual Dtk_PolylinePtr Dtk_Curve::ToPolyline ( const int &  inMinPoint,
const Dtk_Double64 inTolerance 
) const
pure virtualinherited

Convert Curve to polyline.

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

Implemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.

◆ Transform()

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

transform Conic

Reimplemented from Dtk_Curve.

Reimplemented in Dtk_Hyperbola, Dtk_Parabola, and Dtk_Ellipse.

Friends And Related Function Documentation

◆ Dtk_SmartPtr< Dtk_Conic >

friend class Dtk_SmartPtr< Dtk_Conic >
friend

Field Documentation

◆ _Private

Dtk_Handle* Dtk_Conic::_Private
protected

◆ count_

unsigned long Dtk_Object::count_
protectedinherited
Dtk_Curve::_typeID
@ _typeID
Definition: util_geom_dtk.hpp:91
Dtk_Conic::_typeID
@ _typeID
Definition: util_geom_dtk.hpp:507
DTK_TYPE_CONIC
@ DTK_TYPE_CONIC
Definition: define.h:59
DTK_TYPE_OBJECT
@ DTK_TYPE_OBJECT
Definition: define.h:464
DTK_TYPE_CURVE
@ DTK_TYPE_CURVE
Definition: define.h:67
Dtk_Object::_typeID
@ _typeID
Definition: dtk_object.hpp:13