DATAKIT API  V2025.1
Dtk_NurbsSurface Class Reference

This is the Nurbs Surface Class. It is part of the Dtk_NurbsSurface entity. More...

+ Inheritance diagram for Dtk_NurbsSurface:

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
 
Dtk_ErrorStatus _KnotInsertion (const Dtk_Double64 &inParameter, const Dtk_Size_t &inOccurence, const Dtk_bool &inUSplit, Dtk_Double64 inTolerance=DTK_TOLERANCE)
 
int _KnotRemoval (const Dtk_Double64 &inParameter, const int &inOccurence, const Dtk_bool &inUSplit, const Dtk_Double64 &inTolerance)
 
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 ComputeUDerivative (const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_dir &outdir) const
 
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...
 
virtual Dtk_ErrorStatus ComputeVDerivative (const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_dir &outdir) const
 
void DeleteCorrespondingNurbs ()
 
int DtkDynamicType (const int &inId)
 
virtual void dump (FILE *file=stdout)
 
Dtk_NurbsSurfacePtr ForceG1Continuity (Dtk_Double64 tolerance_to_remove=0.0005) const
 
Dtk_InfoPtr get_info () const
 
type_detk get_type_detk () const
 
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_Size_t GetNumKnotsU () const
 
Dtk_Size_t GetNumKnotsV () const
 
Dtk_Size_t GetNumPointsU () const
 
Dtk_Size_t GetNumPointsV () 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...
 
type_detk GetTypeBeforeConversion () const
 
Dtk_UInt32 GetUDegree () const
 
Dtk_UInt32 GetUKnotMultiplicity (const Dtk_Size_t &inIndex) const
 
Dtk_Double64 GetUKnotValue (const Dtk_Size_t &inIndex) const
 
Dtk_Double64GetUnpackedUKnot () const
 
Dtk_Double64GetUnpackedVKnot () const
 
Dtk_UInt32 GetVDegree () const
 
Dtk_UInt32 GetVKnotMultiplicity (const Dtk_Size_t &inIndex) const
 
Dtk_Double64 GetVKnotValue (const Dtk_Size_t &inIndex) const
 
Dtk_Double64 GetWeight (const Dtk_Size_t &inUIndex, const Dtk_Size_t &inVIndex) const
 
Dtk_InfoPtrinfo ()
 
Dtk_bool IsBezier () const
 
Dtk_bool IsPlane () const
 
Dtk_bool IsRationnal () const
 
Dtk_bool IsTrimmed () const
 Return DTK_TRUE if Surface Is trimmed by parameter value. More...
 
Dtk_bool IsUniform () const
 
virtual Dtk_bool IsUPeriodic () const
 return DTK_TRUE if nurbs is periodic in U More...
 
virtual Dtk_bool IsVPeriodic () const
 return DTK_TRUE if nurbs is periodic in V More...
 
Dtk_pntPoint (const Dtk_Size_t &inUIndex, const Dtk_Size_t &inVIndex)
 
const Dtk_pntPoint (const Dtk_Size_t &inUIndex, const Dtk_Size_t &inVIndex) const
 
virtual void PrepareTransfo ()
 
virtual Dtk_ErrorStatus Reparam (Dtk_Double64 inDomain[])
 
void SetIsUPeriodic (Dtk_bool inPeriodicFlag)
 
void SetIsVPeriodic (Dtk_bool inPeriodicFlag)
 
virtual Dtk_ErrorStatus SetTrimUVBox (Dtk_Double64 inTrimValues[])
 Set Surface Trim Box : Umin = inTrimValues[0] Umax = inTrimValues[1] Vmin = inTrimValues[2] Vmax = inTrimValues[3]. More...
 
void SetTypeBeforeConversion (type_detk type)
 
Dtk_ErrorStatus Split (Dtk_Double64 inTrimDom[4], Dtk_Double64 inTolerance=DTK_TOLERANCE)
 
Dtk_ErrorStatus SplitAt (const Dtk_Double64 &inParameter, const Dtk_bool &inUSplit, const Dtk_bool &inKeepLeft, Dtk_NurbsSurfacePtr &outOtherPart, Dtk_Double64 inTolerance=DTK_TOLERANCE)
 
virtual Dtk_NurbsSurfacePtr ToNurbs (const Dtk_Double64 *inTrimDomain=NULL) const
 Convert a surface into a Nurbs, keeping the parametrisation of the initial surface. More...
 
virtual Dtk_ErrorStatus Transform (const Dtk_transfo &inTransfo)
 

Static Public Member Functions

static Dtk_NurbsSurfacePtr Create (const Dtk_NurbsSurface &s)
 
static Dtk_SurfacePtr Create (const Dtk_Surface &s)
 Create Surface by copy. More...
 
static Dtk_NurbsSurfacePtr Create (const Dtk_tab< Dtk_SurfacePtr > &inSurfacesToMerge, Dtk_Double64 stichtol=DTK_TOLERANCE)
 
static Dtk_NurbsSurfacePtr Create (const Dtk_UInt32 &inUDegree, const Dtk_UInt32 &inVDegree, const Dtk_tab< Dtk_Double64 > &inUKnots, const Dtk_tab< Dtk_Double64 > &inVKnots, const Dtk_tab< Dtk_pnt > &inControlPoints, const Dtk_tab< Dtk_Double64 > &inWeights=Dtk_tab< Dtk_Double64 >(), type_detk inSurfaceType=DTK_TYPE_NURBS_SURFACE)
 
static Dtk_NurbsSurfacePtr Create (const Dtk_UInt32 &inUDegree, const Dtk_UInt32 &inVDegree, const Dtk_tab< Dtk_Double64 > &inUKnotsValues, const Dtk_tab< Dtk_Double64 > &inVKnotsValues, const Dtk_tab< Dtk_UChar8 > &inUKnotsMultiplicities, const Dtk_tab< Dtk_UChar8 > &inVKnotsMultiplicities, const Dtk_tab< Dtk_tab< Dtk_pnt > > &inControlPoints, const Dtk_tab< Dtk_tab< Dtk_Double64 > > &inWeights=Dtk_tab< Dtk_tab< Dtk_Double64 > >(), type_detk inSurfaceType=DTK_TYPE_NURBS_SURFACE, const Dtk_UInt32 &inTargetUDegree=0, const Dtk_UInt32 &inTargetVDegree=0)
 
static Dtk_NurbsSurfaceDtkDynamicCast (Dtk_Object *s)
 

Protected Types

enum  { _typeID = DTK_TYPE_OBJECT }
 
enum  { _typeID = DTK_TYPE_ENTITY }
 
enum  { _typeID = DTK_TYPE_NURBS_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_NurbsSurface ()
 
 Dtk_NurbsSurface (const Dtk_NurbsSurface &inSurfaceToCopy)
 
 Dtk_NurbsSurface (const Dtk_tab< Dtk_SurfacePtr > &inSurfacesToMerge, Dtk_Double64 stichtol)
 
 Dtk_NurbsSurface (const Dtk_UInt32 &inUDegree, const Dtk_UInt32 &inVDegree, const Dtk_tab< Dtk_Double64 > &inUKnots, const Dtk_tab< Dtk_Double64 > &inVKnots, const Dtk_tab< Dtk_pnt > &inControlPoints, const Dtk_tab< Dtk_Double64 > &inWeights=Dtk_tab< Dtk_Double64 >(), type_detk inSurfaceType=DTK_TYPE_NURBS_SURFACE)
 
 Dtk_NurbsSurface (const Dtk_UInt32 &inUDegree, const Dtk_UInt32 &inVDegree, const Dtk_tab< Dtk_Double64 > &inUKnotsValues, const Dtk_tab< Dtk_Double64 > &inVKnotsValues, const Dtk_tab< Dtk_UChar8 > &inUKnotsMultiplicities, const Dtk_tab< Dtk_UChar8 > &inVKnotsMultiplicities, const Dtk_tab< Dtk_tab< Dtk_pnt > > &inControlPoints, const Dtk_tab< Dtk_tab< Dtk_Double64 > > &inWeights=Dtk_tab< Dtk_tab< Dtk_Double64 > >(), type_detk inSurfaceType=DTK_TYPE_NURBS_SURFACE)
 
virtual ~Dtk_NurbsSurface ()
 

Protected Attributes

Dtk_Handle * _Private
 
unsigned long count_
 

Friends

class Dtk_SmartPtr< Dtk_NurbsSurface >
 

Detailed Description

This is the Nurbs Surface Class. It is part of the Dtk_NurbsSurface entity.

Warning
Please use the Dtk_NurbsSurfacePtr 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
protected
Enumerator
_typeID 

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
_typeID 

Constructor & Destructor Documentation

◆ Dtk_NurbsSurface() [1/5]

Dtk_NurbsSurface::Dtk_NurbsSurface ( )
protected

◆ Dtk_NurbsSurface() [2/5]

Dtk_NurbsSurface::Dtk_NurbsSurface ( const Dtk_NurbsSurface inSurfaceToCopy)
protected

◆ Dtk_NurbsSurface() [3/5]

Dtk_NurbsSurface::Dtk_NurbsSurface ( const Dtk_UInt32 inUDegree,
const Dtk_UInt32 inVDegree,
const Dtk_tab< Dtk_Double64 > &  inUKnots,
const Dtk_tab< Dtk_Double64 > &  inVKnots,
const Dtk_tab< Dtk_pnt > &  inControlPoints,
const Dtk_tab< Dtk_Double64 > &  inWeights = Dtk_tabDtk_Double64 >(),
type_detk  inSurfaceType = DTK_TYPE_NURBS_SURFACE 
)
protected

◆ Dtk_NurbsSurface() [4/5]

Dtk_NurbsSurface::Dtk_NurbsSurface ( const Dtk_UInt32 inUDegree,
const Dtk_UInt32 inVDegree,
const Dtk_tab< Dtk_Double64 > &  inUKnotsValues,
const Dtk_tab< Dtk_Double64 > &  inVKnotsValues,
const Dtk_tab< Dtk_UChar8 > &  inUKnotsMultiplicities,
const Dtk_tab< Dtk_UChar8 > &  inVKnotsMultiplicities,
const Dtk_tab< Dtk_tab< Dtk_pnt > > &  inControlPoints,
const Dtk_tab< Dtk_tab< Dtk_Double64 > > &  inWeights = Dtk_tabDtk_tabDtk_Double64 > >(),
type_detk  inSurfaceType = DTK_TYPE_NURBS_SURFACE 
)
protected

◆ Dtk_NurbsSurface() [5/5]

Dtk_NurbsSurface::Dtk_NurbsSurface ( const Dtk_tab< Dtk_SurfacePtr > &  inSurfacesToMerge,
Dtk_Double64  stichtol 
)
protected

◆ ~Dtk_NurbsSurface()

virtual Dtk_NurbsSurface::~Dtk_NurbsSurface ( )
protectedvirtual

Member Function Documentation

◆ _ComputeAnyDerivative()

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

Reimplemented from Dtk_Surface.

◆ _ComputeMultipleDerivative()

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

Reimplemented from Dtk_Surface.

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

◆ _KnotInsertion()

Dtk_ErrorStatus Dtk_NurbsSurface::_KnotInsertion ( const Dtk_Double64 inParameter,
const Dtk_Size_t inOccurence,
const Dtk_bool inUSplit,
Dtk_Double64  inTolerance = DTK_TOLERANCE 
)

◆ _KnotRemoval()

int Dtk_NurbsSurface::_KnotRemoval ( const Dtk_Double64 inParameter,
const int &  inOccurence,
const Dtk_bool inUSplit,
const Dtk_Double64 inTolerance 
)

◆ _reset()

void Dtk_Entity::_reset ( )
protectedinherited

◆ _Store()

virtual Dtk_ErrorStatus Dtk_NurbsSurface::_Store ( void *  )
virtual

Reimplemented from Dtk_Surface.

◆ Clone()

virtual Dtk_Object* Dtk_NurbsSurface::Clone ( )
protectedvirtual

Implements Dtk_Surface.

842 { return new Dtk_NurbsSurface(*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_NurbsSurface::ComputeNormal ( const Dtk_Double64 inUValue,
const Dtk_Double64 inVValue,
Dtk_dir outDir 
) const
virtual

Compute Normal on UV point.

Reimplemented from Dtk_Surface.

◆ ComputeUDerivative()

virtual Dtk_ErrorStatus Dtk_NurbsSurface::ComputeUDerivative ( const Dtk_Double64 inUValue,
const Dtk_Double64 inVValue,
Dtk_dir outdir 
) const
virtual

◆ ComputeUVPoint()

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

Compute 3D point.

Implements Dtk_Surface.

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

◆ ComputeVDerivative()

virtual Dtk_ErrorStatus Dtk_NurbsSurface::ComputeVDerivative ( const Dtk_Double64 inUValue,
const Dtk_Double64 inVValue,
Dtk_dir outdir 
) const
virtual

◆ Create() [1/5]

static Dtk_NurbsSurfacePtr Dtk_NurbsSurface::Create ( const Dtk_NurbsSurface s)
static

◆ Create() [2/5]

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

Create Surface by copy.

◆ Create() [3/5]

static Dtk_NurbsSurfacePtr Dtk_NurbsSurface::Create ( const Dtk_tab< Dtk_SurfacePtr > &  inSurfacesToMerge,
Dtk_Double64  stichtol = DTK_TOLERANCE 
)
static

◆ Create() [4/5]

static Dtk_NurbsSurfacePtr Dtk_NurbsSurface::Create ( const Dtk_UInt32 inUDegree,
const Dtk_UInt32 inVDegree,
const Dtk_tab< Dtk_Double64 > &  inUKnots,
const Dtk_tab< Dtk_Double64 > &  inVKnots,
const Dtk_tab< Dtk_pnt > &  inControlPoints,
const Dtk_tab< Dtk_Double64 > &  inWeights = Dtk_tabDtk_Double64 >(),
type_detk  inSurfaceType = DTK_TYPE_NURBS_SURFACE 
)
static

◆ Create() [5/5]

static Dtk_NurbsSurfacePtr Dtk_NurbsSurface::Create ( const Dtk_UInt32 inUDegree,
const Dtk_UInt32 inVDegree,
const Dtk_tab< Dtk_Double64 > &  inUKnotsValues,
const Dtk_tab< Dtk_Double64 > &  inVKnotsValues,
const Dtk_tab< Dtk_UChar8 > &  inUKnotsMultiplicities,
const Dtk_tab< Dtk_UChar8 > &  inVKnotsMultiplicities,
const Dtk_tab< Dtk_tab< Dtk_pnt > > &  inControlPoints,
const Dtk_tab< Dtk_tab< Dtk_Double64 > > &  inWeights = Dtk_tabDtk_tabDtk_Double64 > >(),
type_detk  inSurfaceType = DTK_TYPE_NURBS_SURFACE,
const Dtk_UInt32 inTargetUDegree = 0,
const Dtk_UInt32 inTargetVDegree = 0 
)
static

◆ DeleteCorrespondingNurbs()

void Dtk_Surface::DeleteCorrespondingNurbs ( )
inherited

◆ DtkDynamicCast()

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

◆ DtkDynamicType()

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

Reimplemented from Dtk_Surface.

◆ dump()

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

◆ ForceG1Continuity()

Dtk_NurbsSurfacePtr Dtk_NurbsSurface::ForceG1Continuity ( Dtk_Double64  tolerance_to_remove = 0.0005) const

◆ get_info()

Dtk_InfoPtr Dtk_Entity::get_info ( ) const
inherited

◆ get_type_detk()

type_detk Dtk_NurbsSurface::get_type_detk ( ) const
virtual

Implements Dtk_Entity.

◆ GetDomain()

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

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

Implements Dtk_Surface.

◆ GetID()

const Dtk_ID& Dtk_Entity::GetID ( ) const
inherited

Get Internal UniqueID.

Returns
InternalID

◆ GetNumKnotsU()

Dtk_Size_t Dtk_NurbsSurface::GetNumKnotsU ( ) const

◆ GetNumKnotsV()

Dtk_Size_t Dtk_NurbsSurface::GetNumKnotsV ( ) const

◆ GetNumPointsU()

Dtk_Size_t Dtk_NurbsSurface::GetNumPointsU ( ) const

◆ GetNumPointsV()

Dtk_Size_t Dtk_NurbsSurface::GetNumPointsV ( ) const

◆ GetSize()

virtual Dtk_Size_t Dtk_NurbsSurface::GetSize ( ) const
virtual

Reimplemented from Dtk_Surface.

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

◆ GetTypeBeforeConversion()

type_detk Dtk_NurbsSurface::GetTypeBeforeConversion ( ) const

◆ GetUDegree()

Dtk_UInt32 Dtk_NurbsSurface::GetUDegree ( ) const

◆ GetUKnotMultiplicity()

Dtk_UInt32 Dtk_NurbsSurface::GetUKnotMultiplicity ( const Dtk_Size_t inIndex) const

◆ GetUKnotValue()

Dtk_Double64 Dtk_NurbsSurface::GetUKnotValue ( const Dtk_Size_t inIndex) const

◆ GetUnpackedUKnot()

Dtk_Double64* Dtk_NurbsSurface::GetUnpackedUKnot ( ) const

◆ GetUnpackedVKnot()

Dtk_Double64* Dtk_NurbsSurface::GetUnpackedVKnot ( ) const

◆ GetVDegree()

Dtk_UInt32 Dtk_NurbsSurface::GetVDegree ( ) const

◆ GetVKnotMultiplicity()

Dtk_UInt32 Dtk_NurbsSurface::GetVKnotMultiplicity ( const Dtk_Size_t inIndex) const

◆ GetVKnotValue()

Dtk_Double64 Dtk_NurbsSurface::GetVKnotValue ( const Dtk_Size_t inIndex) const

◆ GetWeight()

Dtk_Double64 Dtk_NurbsSurface::GetWeight ( const Dtk_Size_t inUIndex,
const Dtk_Size_t inVIndex 
) const

◆ info()

Dtk_InfoPtr& Dtk_Entity::info ( )
inherited

◆ IsBezier()

Dtk_bool Dtk_NurbsSurface::IsBezier ( ) const

◆ IsPlane()

Dtk_bool Dtk_NurbsSurface::IsPlane ( ) const

◆ IsRationnal()

Dtk_bool Dtk_NurbsSurface::IsRationnal ( ) const

◆ IsTrimmed()

Dtk_bool Dtk_Surface::IsTrimmed ( ) const
inherited

Return DTK_TRUE if Surface Is trimmed by parameter value.

◆ IsUniform()

Dtk_bool Dtk_NurbsSurface::IsUniform ( ) const

◆ IsUPeriodic()

virtual Dtk_bool Dtk_NurbsSurface::IsUPeriodic ( ) const
virtual

return DTK_TRUE if nurbs is periodic in U

Reimplemented from Dtk_Surface.

◆ IsVPeriodic()

virtual Dtk_bool Dtk_NurbsSurface::IsVPeriodic ( ) const
virtual

return DTK_TRUE if nurbs is periodic in V

Reimplemented from Dtk_Surface.

◆ Point() [1/2]

Dtk_pnt& Dtk_NurbsSurface::Point ( const Dtk_Size_t inUIndex,
const Dtk_Size_t inVIndex 
)

◆ Point() [2/2]

const Dtk_pnt& Dtk_NurbsSurface::Point ( const Dtk_Size_t inUIndex,
const Dtk_Size_t inVIndex 
) const

◆ PrepareTransfo()

virtual void Dtk_Entity::PrepareTransfo ( )
virtualinherited

Reimplemented in Dtk_OffsetSurface.

◆ Reparam()

virtual Dtk_ErrorStatus Dtk_NurbsSurface::Reparam ( Dtk_Double64  inDomain[])
virtual

◆ SetIsUPeriodic()

void Dtk_NurbsSurface::SetIsUPeriodic ( Dtk_bool  inPeriodicFlag)

◆ SetIsVPeriodic()

void Dtk_NurbsSurface::SetIsVPeriodic ( Dtk_bool  inPeriodicFlag)

◆ SetTrimUVBox()

virtual Dtk_ErrorStatus Dtk_Surface::SetTrimUVBox ( Dtk_Double64  inTrimValues[])
virtualinherited

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

Reimplemented in Dtk_StandardRevolutionSurface, and Dtk_RevolutionSurface.

◆ SetTypeBeforeConversion()

void Dtk_NurbsSurface::SetTypeBeforeConversion ( type_detk  type)

◆ Split()

Dtk_ErrorStatus Dtk_NurbsSurface::Split ( Dtk_Double64  inTrimDom[4],
Dtk_Double64  inTolerance = DTK_TOLERANCE 
)

◆ SplitAt()

Dtk_ErrorStatus Dtk_NurbsSurface::SplitAt ( const Dtk_Double64 inParameter,
const Dtk_bool inUSplit,
const Dtk_bool inKeepLeft,
Dtk_NurbsSurfacePtr outOtherPart,
Dtk_Double64  inTolerance = DTK_TOLERANCE 
)

◆ ToNurbs()

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

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

Implements Dtk_Surface.

◆ Transform()

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

Implements Dtk_Entity.

Friends And Related Function Documentation

◆ Dtk_SmartPtr< Dtk_NurbsSurface >

friend class Dtk_SmartPtr< Dtk_NurbsSurface >
friend

Field Documentation

◆ _Private

Dtk_Handle* Dtk_NurbsSurface::_Private
protected

◆ count_

unsigned long Dtk_Object::count_
protectedinherited
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_TYPE_NURBS_SURFACE
@ DTK_TYPE_NURBS_SURFACE
Definition: define.h:495
DTK_TYPE_SURFACE
@ DTK_TYPE_SURFACE
Definition: define.h:114
Dtk_NurbsSurface::Dtk_NurbsSurface
Dtk_NurbsSurface()
Dtk_Entity::_typeID
@ _typeID
Definition: util_ent_dtk.hpp:333
Dtk_Object::_typeID
@ _typeID
Definition: dtk_object.hpp:13
Dtk_NurbsSurface::_typeID
@ _typeID
Definition: util_geom_dtk.hpp:832