DATAKIT API  V2025.1
Dtk_Ellipse Class Reference

This is the ellipse and circle Class. parametrisation :[ 0.0 - 2PI ] 0.0 is given by inXref or inOriginDirection. More...

+ Inheritance diagram for Dtk_Ellipse:

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
 
const Dtk_pntGetCenterPoint () const
 Get Center of Conic (inCenter on schema) More...
 
Dtk_Size_t GetDimension () const
 Return 2 or 3. More...
 
Dtk_ErrorStatus GetDomain (Dtk_Double64 &outUmin, Dtk_Double64 &outUmax) const
 Get Curve Parametrisation. More...
 
const Dtk_IDGetID () const
 Get Internal UniqueID. More...
 
Dtk_Double64 GetMajorRadius () const
 
Dtk_Double64 GetMinorRadius () const
 
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 ()
 
Dtk_bool IsCircle () const
 
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...
 
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
 Convert Curve to polyline. More...
 
Dtk_ErrorStatus Transform (const Dtk_transfo &inTransfo)
 transform More...
 

Static Public Member Functions

static Dtk_ConicPtr Create (const Dtk_Conic &inConicToCopy)
 
static Dtk_EllipsePtr Create (const Dtk_Ellipse &inEllipseToCopy)
 
static Dtk_EllipsePtr Create (const Dtk_pnt &inCenter, const Dtk_dir &inNormal, const Dtk_dir &inXref, const Dtk_Double64 &inMajorRadius, const Dtk_Double64 &inMinorRadius)
 
static Dtk_EllipsePtr Create (const Dtk_pnt &inCenter, const Dtk_dir &inNormal, const Dtk_dir &inXref, const Dtk_Double64 &inRadius)
 
static Dtk_EllipseDtkDynamicCast (Dtk_Object *inObject)
 

Protected Types

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

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_Ellipse ()
 
 Dtk_Ellipse (const Dtk_Ellipse &inEllipseToCopy)
 
 Dtk_Ellipse (const Dtk_pnt &inCenter, const Dtk_dir &inNormal, const Dtk_dir &inXref, const Dtk_Double64 &inMajorRadius, const Dtk_Double64 &inMinorRadius)
 
virtual ~Dtk_Ellipse ()
 

Protected Attributes

Dtk_Handle * _Private
 
unsigned long count_
 

Friends

class Dtk_SmartPtr< Dtk_Ellipse >
 

Detailed Description

This is the ellipse and circle Class. parametrisation :[ 0.0 - 2PI ] 0.0 is given by inXref or inOriginDirection.

It is part of the Dtk_Curve entity

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

◆ anonymous enum

anonymous enum
protected
Enumerator
_typeID 

Constructor & Destructor Documentation

◆ Dtk_Ellipse() [1/3]

Dtk_Ellipse::Dtk_Ellipse ( )
protected

◆ Dtk_Ellipse() [2/3]

Dtk_Ellipse::Dtk_Ellipse ( const Dtk_Ellipse inEllipseToCopy)
protected

◆ Dtk_Ellipse() [3/3]

Dtk_Ellipse::Dtk_Ellipse ( const Dtk_pnt inCenter,
const Dtk_dir inNormal,
const Dtk_dir inXref,
const Dtk_Double64 inMajorRadius,
const Dtk_Double64 inMinorRadius 
)
protected

◆ ~Dtk_Ellipse()

virtual Dtk_Ellipse::~Dtk_Ellipse ( )
protectedvirtual

Member Function Documentation

◆ _ComputeAnyDerivative()

virtual Dtk_ErrorStatus Dtk_Ellipse::_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_Ellipse::_Store ( void *  )
virtual

Reimplemented from Dtk_Conic.

◆ Clone()

virtual Dtk_Object* Dtk_Ellipse::Clone ( )
protectedvirtual

Implements Dtk_Conic.

582 { return new Dtk_Ellipse(*this); }

◆ ComputeBoundingBox()

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

Compute Bounding Box.

Reimplemented from Dtk_Curve.

◆ ComputeEndPoint()

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

Compute U parameter from point.

Implements Dtk_Curve.

◆ ComputeStartPoint()

virtual Dtk_pnt Dtk_Ellipse::ComputeStartPoint ( ) const
virtual

Return First point.

Implements Dtk_Curve.

◆ ComputeUDir()

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

Compute dir on U parameter.

Reimplemented from Dtk_Curve.

◆ ComputeUPoint()

virtual Dtk_ErrorStatus Dtk_Ellipse::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/4]

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

◆ Create() [2/4]

static Dtk_EllipsePtr Dtk_Ellipse::Create ( const Dtk_Ellipse inEllipseToCopy)
static

◆ Create() [3/4]

static Dtk_EllipsePtr Dtk_Ellipse::Create ( const Dtk_pnt inCenter,
const Dtk_dir inNormal,
const Dtk_dir inXref,
const Dtk_Double64 inMajorRadius,
const Dtk_Double64 inMinorRadius 
)
static

◆ Create() [4/4]

static Dtk_EllipsePtr Dtk_Ellipse::Create ( const Dtk_pnt inCenter,
const Dtk_dir inNormal,
const Dtk_dir inXref,
const Dtk_Double64 inRadius 
)
static

◆ DeleteCorrespondingNurbs()

void Dtk_Curve::DeleteCorrespondingNurbs ( )
inherited

◆ DtkDynamicCast()

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

◆ DtkDynamicType()

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

downcasting

Reimplemented from Dtk_Conic.

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

Reimplemented from Dtk_Conic.

◆ GetCenterPoint()

const Dtk_pnt& Dtk_Conic::GetCenterPoint ( ) const
inherited

Get Center of Conic (inCenter on schema)

◆ GetDimension()

Dtk_Size_t Dtk_Curve::GetDimension ( ) const
inherited

Return 2 or 3.

◆ GetDomain()

Dtk_ErrorStatus Dtk_Ellipse::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

◆ GetMajorRadius()

Dtk_Double64 Dtk_Ellipse::GetMajorRadius ( ) const

◆ GetMinorRadius()

Dtk_Double64 Dtk_Ellipse::GetMinorRadius ( ) const

◆ GetNormalDirection()

const Dtk_dir& Dtk_Conic::GetNormalDirection ( ) const
inherited

Get Normal vector of Conic (inNormal on schema)

◆ GetOriginDirection()

const Dtk_dir& Dtk_Conic::GetOriginDirection ( ) const
inherited

Get Origin of parametrisation of Conic (inXdir on schema)

◆ GetSize()

virtual Dtk_Size_t Dtk_Ellipse::GetSize ( ) const
virtual

Reimplemented from Dtk_Conic.

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

◆ GetYDirection()

Dtk_dir Dtk_Conic::GetYDirection ( ) const
inherited

Get Y direction of Conic.

◆ GetZDirection()

const Dtk_dir& Dtk_Conic::GetZDirection ( ) const
inherited

◆ info()

Dtk_InfoPtr& Dtk_Entity::info ( )
inherited

◆ InverseTrim()

virtual Dtk_ErrorStatus Dtk_Curve::InverseTrim ( )
virtualinherited

◆ IsCircle()

Dtk_bool Dtk_Ellipse::IsCircle ( ) const

◆ 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_Ellipse::Reverse ( )
virtual

Reverse Curve.

Implements Dtk_Curve.

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

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

Get Nurbs corresponding to conic (with trim)

Implements Dtk_Curve.

Reimplemented in Dtk_Hyperbola.

◆ ToPolyline()

virtual Dtk_PolylinePtr Dtk_Ellipse::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()

Dtk_ErrorStatus Dtk_Ellipse::Transform ( const Dtk_transfo inTransfo)
virtual

transform

Reimplemented from Dtk_Conic.

Friends And Related Function Documentation

◆ Dtk_SmartPtr< Dtk_Ellipse >

friend class Dtk_SmartPtr< Dtk_Ellipse >
friend

Field Documentation

◆ _Private

Dtk_Handle* Dtk_Ellipse::_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_Ellipse::Dtk_Ellipse
Dtk_Ellipse()
DTK_TYPE_CURVE
@ DTK_TYPE_CURVE
Definition: define.h:67
Dtk_Object::_typeID
@ _typeID
Definition: dtk_object.hpp:13
DTK_TYPE_ELLIPSE
@ DTK_TYPE_ELLIPSE
Definition: define.h:61
Dtk_Ellipse::_typeID
@ _typeID
Definition: util_geom_dtk.hpp:578