DATAKIT API  V2025.1
Dtk_ConicalSurface Class Reference

This is the Conical Surface Class. U parametrisation : [0.0 - 2PI] 0.0 is given by inUDirection or inXdir or inOriginDirection V parametrisation : [-infini - +infini] as revolved curve is a line. More...

+ Inheritance diagram for Dtk_ConicalSurface:

Public Member Functions

virtual Dtk_ErrorStatus _ComputeAnyDerivative (Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int exttype) const
 
virtual Dtk_ErrorStatus _ComputeMultipleDerivative (Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUmaxdiff, int inVmaxdiff, int inUVdiffsummax, Dtk_dir *outdirs, int exttype) const
 
Dtk_bool _HasInternalNurbs () const
 
virtual Dtk_ErrorStatus _Store (void *)
 
Dtk_ErrorStatus ComputeBoundingBox (Dtk_pnt &outMin, Dtk_pnt &outMax) const
 Set Surface Parametrisation : Umin = inDomain[0] Umax = inDomain[1] Vmin = inDomain[2] Vmax = inDomain[3]. More...
 
virtual Dtk_ErrorStatus ComputeNormal (const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_dir &outDir) const
 Compute Normal on UV point. More...
 
virtual Dtk_ErrorStatus ComputeUVPoint (const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const
 Compute 3D point. More...
 
Dtk_ErrorStatus ComputeUVto3DFirstDerivative (const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, const Dtk_dir &inUVFirstDerivative, Dtk_dir &out3DFirstDerivative) const
 Compute 3D first derivative on UV point according to UV derivative. More...
 
Dtk_ErrorStatus ComputeUVto3DSecondDerivative (const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, const Dtk_dir &inUVFirstDerivative, const Dtk_dir &inUVSecondDerivative, Dtk_dir &out3DSecondDerivative) const
 Compute 3D second derivative on UV point according to UV derivatives. More...
 
void DeleteCorrespondingNurbs ()
 
int DtkDynamicType (const int &inId)
 
virtual void dump (FILE *file=stdout)
 
Dtk_InfoPtr get_info () const
 
type_detk get_type_detk () const
 
const Dtk_pntGetAxisPosition () const
 Get origin
More...
 
virtual Dtk_ErrorStatus GetDomain (Dtk_Double64 outDomain[]) const
 Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outDomain[3]. More...
 
const Dtk_IDGetID () const
 Get Internal UniqueID. More...
 
Dtk_Double64 GetRadius () const
 
const Dtk_dirGetRevolutionAxis () const
 GetRevolutionAxis. More...
 
Dtk_CurvePtr GetRevolvedCurve () const
 GetRevolvedCurve. More...
 
Dtk_Double64 GetSemiAngle () const
 
virtual Dtk_Size_t GetSize () const
 
Dtk_ErrorStatus GetTrimUVBox (Dtk_Double64 outTrimValues[]) const
 Get Surface Trim Box : Umin = outTrimValues[0] Umax = outTrimValues[1] Vmin = outTrimValues[2] Vmax = outTrimValues[3]. More...
 
const Dtk_dirGetXDirection () const
 Give U origin for parametrisation. More...
 
Dtk_dir GetYDirection () const
 Give Y Direction (Axis Placement can be indirect ) More...
 
const Dtk_dirGetZDirection () const
 GetZDirection. More...
 
Dtk_InfoPtrinfo ()
 
Dtk_bool IsTrimmed () const
 Return DTK_TRUE if Surface Is trimmed by parameter value. More...
 
virtual Dtk_bool IsUPeriodic () const
 Return DTK_TRUE If Periodic following U parameter. More...
 
virtual Dtk_bool IsVPeriodic () const
 Return DTK_TRUE If Periodic following V parameter. More...
 
Dtk_ErrorStatus Normalize ()
 
virtual void PrepareTransfo ()
 
Dtk_ErrorStatus SetStartAngle (Dtk_Double64 inAngle)
 
Dtk_ErrorStatus SetTrimUVBox (Dtk_Double64 inDomain[])
 Set Surface Trim Box : Umin = inTrimValues[0] Umax = inTrimValues[1] Vmin = inTrimValues[2] Vmax = inTrimValues[3]. More...
 
virtual Dtk_NurbsSurfacePtr ToNurbs (const Dtk_Double64 *inTrimDomain=NULL) const
 Convert a surface into a Nurbs, keeping the parametrisation of the initial surface. More...
 
Dtk_ErrorStatus Transform (const Dtk_transfo &inTransfo)
 

Static Public Member Functions

static Dtk_ConicalSurfacePtr Create (const Dtk_ConicalSurface &inSurfToCopy)
 
static Dtk_RevolutionSurfacePtr Create (const Dtk_CurvePtr &inRevolvedCurve, const Dtk_pnt &inAxisposition, const Dtk_dir &inRevolutionAxis, const Dtk_dir &inUDirection, const Dtk_dir &inYDir=Dtk_dir())
 OBSOLETE Create Dtk_RevolutionSurface. More...
 
static Dtk_ConicalSurfacePtr Create (const Dtk_pnt &inOrigin, const Dtk_dir &inNormal, const Dtk_dir &inUDirection, const Dtk_Double64 &inFirstRadius, const Dtk_Double64 &inAngle, const Dtk_dir &inYDir=Dtk_dir())
 Create an infinite Cone. More...
 
static Dtk_RevolutionSurfacePtr Create (const Dtk_RevolutionSurface &inSurfToCopy)
 
static Dtk_SurfacePtr Create (const Dtk_Surface &s)
 Create Surface by copy. More...
 
static Dtk_ConicalSurfaceDtkDynamicCast (Dtk_Object *s)
 

Protected Types

enum  { _typeID = DTK_TYPE_OBJECT }
 
enum  { _typeID = DTK_TYPE_ENTITY }
 
enum  { _typeID = DTK_TYPE_REVOLUTION_SURFACE }
 
enum  { _typeID = DTK_TYPE_CONICAL_SURFACE }
 
enum  { _typeID = DTK_TYPE_SURFACE }
 

Protected Member Functions

void _copy (const Dtk_Entity &s)
 
void _copy (const Dtk_Object &s)
 
void _init ()
 
void _reset ()
 
virtual Dtk_ObjectClone ()
 
 Dtk_ConicalSurface ()
 
 Dtk_ConicalSurface (const Dtk_ConicalSurface &s)
 
 Dtk_ConicalSurface (const Dtk_pnt &inOrigin, const Dtk_dir &inNormal, const Dtk_dir &inYDirection, const Dtk_dir &inUDirection, const Dtk_Double64 &inRadius, const Dtk_Double64 &inAngle)
 
virtual ~Dtk_ConicalSurface ()
 

Protected Attributes

Dtk_Handle * _Private
 
unsigned long count_
 

Friends

class Dtk_SmartPtr< Dtk_ConicalSurface >
 

Detailed Description

This is the Conical Surface Class. U parametrisation : [0.0 - 2PI] 0.0 is given by inUDirection or inXdir or inOriginDirection V parametrisation : [-infini - +infini] as revolved curve is a line.

It is part of the Dtk_ConicalSurface entity

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

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
_typeID 

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
_typeID 

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
_typeID 

◆ anonymous enum

anonymous enum
protected
Enumerator
_typeID 

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
_typeID 

Constructor & Destructor Documentation

◆ Dtk_ConicalSurface() [1/3]

Dtk_ConicalSurface::Dtk_ConicalSurface ( )
protected

◆ Dtk_ConicalSurface() [2/3]

Dtk_ConicalSurface::Dtk_ConicalSurface ( const Dtk_ConicalSurface s)
protected

◆ Dtk_ConicalSurface() [3/3]

Dtk_ConicalSurface::Dtk_ConicalSurface ( const Dtk_pnt inOrigin,
const Dtk_dir inNormal,
const Dtk_dir inYDirection,
const Dtk_dir inUDirection,
const Dtk_Double64 inRadius,
const Dtk_Double64 inAngle 
)
protected

◆ ~Dtk_ConicalSurface()

virtual Dtk_ConicalSurface::~Dtk_ConicalSurface ( )
protectedvirtual

Member Function Documentation

◆ _ComputeAnyDerivative()

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

Reimplemented from Dtk_Surface.

Reimplemented in Dtk_SphericalSurface, Dtk_ToroidalSurface, and Dtk_CylindricalSurface.

◆ _ComputeMultipleDerivative()

virtual Dtk_ErrorStatus Dtk_RevolutionSurface::_ComputeMultipleDerivative ( Dtk_Double64  inUvalue,
Dtk_Double64  inVvalue,
int  inUmaxdiff,
int  inVmaxdiff,
int  inUVdiffsummax,
Dtk_dir outdirs,
int  exttype 
) const
virtualinherited

Reimplemented from Dtk_Surface.

Reimplemented in Dtk_SphericalSurface, Dtk_ToroidalSurface, and Dtk_CylindricalSurface.

◆ _copy() [1/2]

void Dtk_Entity::_copy ( const Dtk_Entity s)
protectedinherited

◆ _copy() [2/2]

void Dtk_Object::_copy ( const Dtk_Object s)
protectedinherited

◆ _HasInternalNurbs()

Dtk_bool Dtk_Surface::_HasInternalNurbs ( ) const
inherited

◆ _init()

void Dtk_Entity::_init ( )
protectedinherited

◆ _reset()

void Dtk_Entity::_reset ( )
protectedinherited

◆ _Store()

virtual Dtk_ErrorStatus Dtk_ConicalSurface::_Store ( void *  )
virtual

Reimplemented from Dtk_RevolutionSurface.

◆ Clone()

virtual Dtk_Object* Dtk_ConicalSurface::Clone ( )
protectedvirtual

Reimplemented from Dtk_RevolutionSurface.

1373 { return new Dtk_ConicalSurface(*this); }

◆ ComputeBoundingBox()

Dtk_ErrorStatus Dtk_Surface::ComputeBoundingBox ( Dtk_pnt outMin,
Dtk_pnt outMax 
) const
inherited

Set Surface Parametrisation : Umin = inDomain[0] Umax = inDomain[1] Vmin = inDomain[2] Vmax = inDomain[3].

Compute Bounding Box

◆ ComputeNormal()

virtual Dtk_ErrorStatus Dtk_ConicalSurface::ComputeNormal ( const Dtk_Double64 inUValue,
const Dtk_Double64 inVValue,
Dtk_dir outDir 
) const
virtual

Compute Normal on UV point.

Reimplemented from Dtk_Surface.

◆ ComputeUVPoint()

virtual Dtk_ErrorStatus Dtk_ConicalSurface::ComputeUVPoint ( const Dtk_Double64 inUValue,
const Dtk_Double64 inVValue,
Dtk_pnt outpnt 
) const
virtual

Compute 3D point.

Reimplemented from Dtk_RevolutionSurface.

◆ ComputeUVto3DFirstDerivative()

Dtk_ErrorStatus Dtk_Surface::ComputeUVto3DFirstDerivative ( const Dtk_Double64 inUValue,
const Dtk_Double64 inVValue,
const Dtk_dir inUVFirstDerivative,
Dtk_dir out3DFirstDerivative 
) const
inherited

Compute 3D first derivative on UV point according to UV derivative.

◆ ComputeUVto3DSecondDerivative()

Dtk_ErrorStatus Dtk_Surface::ComputeUVto3DSecondDerivative ( const Dtk_Double64 inUValue,
const Dtk_Double64 inVValue,
const Dtk_dir inUVFirstDerivative,
const Dtk_dir inUVSecondDerivative,
Dtk_dir out3DSecondDerivative 
) const
inherited

Compute 3D second derivative on UV point according to UV derivatives.

◆ Create() [1/5]

static Dtk_ConicalSurfacePtr Dtk_ConicalSurface::Create ( const Dtk_ConicalSurface inSurfToCopy)
static

◆ Create() [2/5]

static Dtk_RevolutionSurfacePtr Dtk_RevolutionSurface::Create ( const Dtk_CurvePtr inRevolvedCurve,
const Dtk_pnt inAxisposition,
const Dtk_dir inRevolutionAxis,
const Dtk_dir inUDirection,
const Dtk_dir inYDir = Dtk_dir() 
)
staticinherited

OBSOLETE Create Dtk_RevolutionSurface.

Deprecated:
Create Dtk_StandardRevolutionSurface
Parameters
[in]inRevolvedCurve: Curve to be revolved
[in]inAxisposition: Revolution Axis Position
[in]inRevolutionAxis: Revolution Axis or Zdir
[in]inUDirection: UDirection (origin of Uparametrisation) or Xdir
[in]inYDir: Optional Ydir
Returns
Dtk_RevolutionSurfacePtr created surface

◆ Create() [3/5]

static Dtk_ConicalSurfacePtr Dtk_ConicalSurface::Create ( const Dtk_pnt inOrigin,
const Dtk_dir inNormal,
const Dtk_dir inUDirection,
const Dtk_Double64 inFirstRadius,
const Dtk_Double64 inAngle,
const Dtk_dir inYDir = Dtk_dir() 
)
static

Create an infinite Cone.

Parameters
[in]inOrigin: Cone origin
[in]inNormal: Cone Axis or Zdir
[in]inUDirection: UDirection ( origin of Uparametrisation) or Xdir
[in]inFirstRadius: Cone Radius at origin
[in]inAngle: semi_angle with Axis
[in]inYDir: Optional Ydir
Returns
Dtk_ConicalSurfacePtr created surface

◆ Create() [4/5]

static Dtk_RevolutionSurfacePtr Dtk_RevolutionSurface::Create ( const Dtk_RevolutionSurface inSurfToCopy)
staticinherited

◆ Create() [5/5]

static Dtk_SurfacePtr Dtk_Surface::Create ( const Dtk_Surface s)
staticinherited

Create Surface by copy.

◆ DeleteCorrespondingNurbs()

void Dtk_Surface::DeleteCorrespondingNurbs ( )
inherited

◆ DtkDynamicCast()

static Dtk_ConicalSurface* Dtk_ConicalSurface::DtkDynamicCast ( Dtk_Object s)
static

◆ DtkDynamicType()

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

Reimplemented from Dtk_RevolutionSurface.

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

Reimplemented from Dtk_RevolutionSurface.

◆ GetAxisPosition()

const Dtk_pnt& Dtk_RevolutionSurface::GetAxisPosition ( ) const
inherited

Get origin

Returns
Center point of revolution

◆ GetDomain()

virtual Dtk_ErrorStatus Dtk_ConicalSurface::GetDomain ( Dtk_Double64  outDomain[]) const
virtual

Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outDomain[3].

Reimplemented from Dtk_RevolutionSurface.

◆ GetID()

const Dtk_ID& Dtk_Entity::GetID ( ) const
inherited

Get Internal UniqueID.

Returns
InternalID

◆ GetRadius()

Dtk_Double64 Dtk_ConicalSurface::GetRadius ( ) const

◆ GetRevolutionAxis()

const Dtk_dir& Dtk_RevolutionSurface::GetRevolutionAxis ( ) const
inherited

GetRevolutionAxis.

Returns
revolution Axis (same as GetZDirection )

◆ GetRevolvedCurve()

Dtk_CurvePtr Dtk_RevolutionSurface::GetRevolvedCurve ( ) const
inherited

GetRevolvedCurve.

Returns
Curve to be revolved

◆ GetSemiAngle()

Dtk_Double64 Dtk_ConicalSurface::GetSemiAngle ( ) const

◆ GetSize()

virtual Dtk_Size_t Dtk_ConicalSurface::GetSize ( ) const
virtual

Reimplemented from Dtk_RevolutionSurface.

◆ GetTrimUVBox()

Dtk_ErrorStatus Dtk_Surface::GetTrimUVBox ( Dtk_Double64  outTrimValues[]) const
inherited

Get Surface Trim Box : Umin = outTrimValues[0] Umax = outTrimValues[1] Vmin = outTrimValues[2] Vmax = outTrimValues[3].

◆ GetXDirection()

const Dtk_dir& Dtk_RevolutionSurface::GetXDirection ( ) const
inherited

Give U origin for parametrisation.

Returns
Dtk_dir for U start

◆ GetYDirection()

Dtk_dir Dtk_RevolutionSurface::GetYDirection ( ) const
inherited

Give Y Direction (Axis Placement can be indirect )

Returns
Dtk_dir

◆ GetZDirection()

const Dtk_dir& Dtk_RevolutionSurface::GetZDirection ( ) const
inherited

GetZDirection.

Returns
revolution Axis (same as GetRevolutionAxis )

◆ info()

Dtk_InfoPtr& Dtk_Entity::info ( )
inherited

◆ IsTrimmed()

Dtk_bool Dtk_Surface::IsTrimmed ( ) const
inherited

Return DTK_TRUE if Surface Is trimmed by parameter value.

◆ IsUPeriodic()

virtual Dtk_bool Dtk_Surface::IsUPeriodic ( ) const
virtualinherited

Return DTK_TRUE If Periodic following U parameter.

Reimplemented in Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_LinearExtrusionSurface, and Dtk_NurbsSurface.

◆ IsVPeriodic()

virtual Dtk_bool Dtk_Surface::IsVPeriodic ( ) const
virtualinherited

Return DTK_TRUE If Periodic following V parameter.

Reimplemented in Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_LinearExtrusionSurface, and Dtk_NurbsSurface.

◆ Normalize()

Dtk_ErrorStatus Dtk_RevolutionSurface::Normalize ( )
inherited

◆ PrepareTransfo()

virtual void Dtk_Entity::PrepareTransfo ( )
virtualinherited

Reimplemented in Dtk_OffsetSurface.

◆ SetStartAngle()

Dtk_ErrorStatus Dtk_RevolutionSurface::SetStartAngle ( Dtk_Double64  inAngle)
inherited

◆ SetTrimUVBox()

Dtk_ErrorStatus Dtk_RevolutionSurface::SetTrimUVBox ( Dtk_Double64  inTrimValues[])
virtualinherited

Set Surface Trim Box : Umin = inTrimValues[0] Umax = inTrimValues[1] Vmin = inTrimValues[2] Vmax = inTrimValues[3].

Reimplemented from Dtk_Surface.

◆ ToNurbs()

virtual Dtk_NurbsSurfacePtr Dtk_ConicalSurface::ToNurbs ( const Dtk_Double64 inTrimDomain = NULL) const
virtual

Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.

Reimplemented from Dtk_RevolutionSurface.

◆ Transform()

Dtk_ErrorStatus Dtk_ConicalSurface::Transform ( const Dtk_transfo inTransfo)
virtual

Reimplemented from Dtk_RevolutionSurface.

Friends And Related Function Documentation

◆ Dtk_SmartPtr< Dtk_ConicalSurface >

friend class Dtk_SmartPtr< Dtk_ConicalSurface >
friend

Field Documentation

◆ _Private

Dtk_Handle* Dtk_ConicalSurface::_Private
protected

◆ count_

unsigned long Dtk_Object::count_
protectedinherited
Dtk_RevolutionSurface::_typeID
@ _typeID
Definition: util_geom_dtk.hpp:1023
DTK_TYPE_ENTITY
@ DTK_TYPE_ENTITY
Definition: define.h:466
Dtk_Surface::_typeID
@ _typeID
Definition: util_geom_dtk.hpp:760
DTK_TYPE_OBJECT
@ DTK_TYPE_OBJECT
Definition: define.h:464
Dtk_ConicalSurface::_typeID
@ _typeID
Definition: util_geom_dtk.hpp:1369
DTK_TYPE_SURFACE
@ DTK_TYPE_SURFACE
Definition: define.h:114
Dtk_Entity::_typeID
@ _typeID
Definition: util_ent_dtk.hpp:333
Dtk_ConicalSurface::Dtk_ConicalSurface
Dtk_ConicalSurface()
Dtk_Object::_typeID
@ _typeID
Definition: dtk_object.hpp:13
DTK_TYPE_CONICAL_SURFACE
@ DTK_TYPE_CONICAL_SURFACE
Definition: define.h:94
DTK_TYPE_REVOLUTION_SURFACE
@ DTK_TYPE_REVOLUTION_SURFACE
Definition: define.h:496