This is the Offset Surface Class. U parametrisation : like basis surface V parametrisation : like basis surface. More...
Inheritance diagram for Dtk_OffsetSurface: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_ErrorStatus | _ComputeMultipleDerivative_withbasis (const Dtk_Double64 &inUvalue, const Dtk_Double64 &inVvalue, int inUmaxdiff, int inVmaxdiff, int inUVdiffsummax, Dtk_dir *outdirs, Dtk_dir *outdirsbasis, 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... | |
| Dtk_SurfacePtr | ComputeOffsetedSurface () |
| Compute the result Surface with the offset applied. For some surfaces, their type can be conserved, otherwise it returns a NurbsSurface. 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 |
| 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_ID & | GetID () const |
| Get Internal UniqueID. More... | |
| Dtk_Double64 | GetOffset () const |
| virtual Dtk_Size_t | GetSize () const |
| Dtk_SurfacePtr | GetSurface () 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... | |
| Dtk_InfoPtr & | info () |
| 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... | |
| virtual void | PrepareTransfo () |
| virtual Dtk_ErrorStatus | SetTrimUVBox (Dtk_Double64 inTrimValues[]) |
| 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_OffsetSurfacePtr | Create (const Dtk_OffsetSurface &in) |
| Calls copy constructor to allocate a new object. More... | |
| static Dtk_SurfacePtr | Create (const Dtk_Surface &in) |
| static Dtk_OffsetSurfacePtr | Create (const Dtk_SurfacePtr &inSurf, const Dtk_Double64 &inOffset) |
| Create an offset surface following surface normal. More... | |
| static Dtk_OffsetSurface * | DtkDynamicCast (Dtk_Object *s) |
Protected Types | |
| enum | { _typeID = DTK_TYPE_OBJECT } |
| enum | { _typeID = DTK_TYPE_ENTITY } |
| enum | { _typeID = DTK_TYPE_OFFSET_SURFACE } |
| enum | { _typeID = DTK_TYPE_SURFACE } |
Protected Member Functions | |
| void | _copy (const Dtk_Entity &s) |
| void | _init () |
| void | _reset () |
| virtual Dtk_Object * | Clone () |
| Dtk_OffsetSurface () | |
| Dtk_OffsetSurface (const Dtk_OffsetSurface &s) | |
| Dtk_OffsetSurface (const Dtk_SurfacePtr &inSurf, const Dtk_Double64 &inOffset) | |
| virtual | ~Dtk_OffsetSurface () |
Protected Attributes | |
| Dtk_Handle * | _Private |
| unsigned long | count_ |
This is the Offset Surface Class. U parametrisation : like basis surface V parametrisation : like basis surface.
|
protected |
|
protected |
|
protected |
|
protectedvirtual |
|
virtual |
Reimplemented from Dtk_Surface.
|
virtual |
Reimplemented from Dtk_Surface.
| Dtk_ErrorStatus Dtk_OffsetSurface::_ComputeMultipleDerivative_withbasis | ( | const Dtk_Double64 & | inUvalue, |
| const Dtk_Double64 & | inVvalue, | ||
| int | inUmaxdiff, | ||
| int | inVmaxdiff, | ||
| int | inUVdiffsummax, | ||
| Dtk_dir * | outdirs, | ||
| Dtk_dir * | outdirsbasis, | ||
| int | exttype | ||
| ) | const |
|
protectedinherited |
|
inherited |
|
protectedinherited |
|
protectedinherited |
|
virtual |
Reimplemented from Dtk_Surface.
|
protectedvirtual |
Implements Dtk_Surface.
|
inherited |
Set Surface Parametrisation : Umin = inDomain[0] Umax = inDomain[1] Vmin = inDomain[2] Vmax = inDomain[3].
Compute Bounding Box
|
virtual |
Compute Normal on UV point.
Reimplemented from Dtk_Surface.
| Dtk_SurfacePtr Dtk_OffsetSurface::ComputeOffsetedSurface | ( | ) |
Compute the result Surface with the offset applied. For some surfaces, their type can be conserved, otherwise it returns a NurbsSurface.
|
virtual |
Compute 3D point.
Implements Dtk_Surface.
|
inherited |
Compute 3D first derivative on UV point according to UV derivative.
|
inherited |
Compute 3D second derivative on UV point according to UV derivatives.
|
static |
Calls copy constructor to allocate a new object.
| in | Object to copy from. |
|
staticinherited |
|
static |
Create an offset surface following surface normal.
| [in] | inSurf | : Surface to be offset |
| [in] | inOffset | : Size of offset |
|
inherited |
|
static |
|
virtual |
Reimplemented from Dtk_Surface.
|
virtualinherited |
|
inherited |
|
virtual |
Implements Dtk_Entity.
|
virtual |
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outDomain[3].
Implements Dtk_Surface.
|
inherited |
Get Internal UniqueID.
| Dtk_Double64 Dtk_OffsetSurface::GetOffset | ( | ) | const |
|
virtual |
Reimplemented from Dtk_Surface.
| Dtk_SurfacePtr Dtk_OffsetSurface::GetSurface | ( | ) | const |
|
inherited |
Get Surface Trim Box : Umin = outTrimValues[0] Umax = outTrimValues[1] Vmin = outTrimValues[2] Vmax = outTrimValues[3].
|
inherited |
|
inherited |
Return DTK_TRUE if Surface Is trimmed by parameter value.
|
virtualinherited |
Return DTK_TRUE If Periodic following U parameter.
Reimplemented in Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_LinearExtrusionSurface, and Dtk_NurbsSurface.
|
virtualinherited |
Return DTK_TRUE If Periodic following V parameter.
Reimplemented in Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_LinearExtrusionSurface, and Dtk_NurbsSurface.
|
virtual |
Reimplemented from Dtk_Entity.
|
virtualinherited |
Set Surface Trim Box : Umin = inTrimValues[0] Umax = inTrimValues[1] Vmin = inTrimValues[2] Vmax = inTrimValues[3].
Reimplemented in Dtk_StandardRevolutionSurface, and Dtk_RevolutionSurface.
|
virtual |
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
Implements Dtk_Surface.
|
virtual |
Implements Dtk_Entity.
|
protected |
|
protectedinherited |