Dtk_Surface is a geometrical entity representing a surface. Some type of surface are unlimited such as plane, conical, cylindrical, extrusion surface. It is an abstract class that cannot be instancied.
It has several utility methods :
.
More...
Public Member Functions | |
virtual Dtk_ErrorStatus | _ComputeAnyDerivative (Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int extendtype) const |
virtual Dtk_ErrorStatus | _ComputeMultipleDerivative (Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUmaxdiff, int inVmaxdiff, int inUVdiffsummax, Dtk_dir *outdirs, int extendtype) 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 =0 |
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 |
virtual enum type_detk | get_type_detk () const =0 |
virtual Dtk_ErrorStatus | GetDomain (Dtk_Double64 outDomain[]) const =0 |
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... | |
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... | |
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 =0 |
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface. More... | |
virtual Dtk_ErrorStatus | Transform (const Dtk_transfo &inTransfo)=0 |
Static Public Member Functions | |
static Dtk_SurfacePtr | Create (const Dtk_Surface &s) |
Create Surface by copy. More... | |
static Dtk_Surface * | DtkDynamicCast (Dtk_Object *s) |
Protected Types | |
enum | { _typeID = DTK_TYPE_OBJECT } |
enum | { _typeID = DTK_TYPE_ENTITY } |
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_Object * | Clone ()=0 |
Dtk_Surface () | |
Dtk_Surface (const Dtk_Surface &s) | |
virtual | ~Dtk_Surface () |
Protected Attributes | |
Dtk_Handle * | _Private |
unsigned long | count_ |
Friends | |
class | Dtk_SmartPtr< Dtk_Surface > |
void | PDtk_StoreDataSurface (void *, Dtk_SurfacePtr &) |
Dtk_Surface is a geometrical entity representing a surface. Some type of surface are unlimited such as plane, conical, cylindrical, extrusion surface. It is an abstract class that cannot be instancied.
It has several utility methods :
.
|
protected |
|
protected |
|
protectedvirtual |
|
virtual |
Reimplemented in Dtk_FilletSurface, Dtk_OffsetSurface, Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_CylindricalSurface, Dtk_RuledSurface, Dtk_LinearExtrusionSurface, Dtk_StandardRevolutionSurface, Dtk_RevolutionSurface, Dtk_PlaneSurface, Dtk_NurbsSurface, Dtk_MeshSurface, and Dtk_TransformedSurface.
|
virtual |
|
protectedinherited |
|
protectedinherited |
Dtk_bool Dtk_Surface::_HasInternalNurbs | ( | ) | const |
|
protectedinherited |
|
protectedinherited |
|
virtual |
Reimplemented from Dtk_Entity.
Reimplemented in Dtk_TransformedSurface, Dtk_FilletSurface, Dtk_OffsetSurface, Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_ConicalSurface, Dtk_CylindricalSurface, Dtk_RuledSurface, Dtk_LinearExtrusionSurface, Dtk_StandardRevolutionSurface, Dtk_RevolutionSurface, Dtk_PlaneSurface, and Dtk_NurbsSurface.
|
protectedpure virtual |
Implements Dtk_Entity.
Implemented in Dtk_TransformedSurface, Dtk_FilletSurface, Dtk_OffsetSurface, Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_ConicalSurface, Dtk_CylindricalSurface, Dtk_RuledSurface, Dtk_LinearExtrusionSurface, Dtk_StandardRevolutionSurface, Dtk_RevolutionSurface, Dtk_PlaneSurface, and Dtk_NurbsSurface.
Dtk_ErrorStatus Dtk_Surface::ComputeBoundingBox | ( | Dtk_pnt & | outMin, |
Dtk_pnt & | outMax | ||
) | const |
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 in Dtk_OffsetSurface, Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_ConicalSurface, Dtk_CylindricalSurface, Dtk_PlaneSurface, and Dtk_NurbsSurface.
|
pure virtual |
Compute 3D point.
Implemented in Dtk_MeshSurface, Dtk_TransformedSurface, Dtk_FilletSurface, Dtk_OffsetSurface, Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_ConicalSurface, Dtk_CylindricalSurface, Dtk_RuledSurface, Dtk_LinearExtrusionSurface, Dtk_StandardRevolutionSurface, Dtk_RevolutionSurface, Dtk_PlaneSurface, and Dtk_NurbsSurface.
Dtk_ErrorStatus Dtk_Surface::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.
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 |
Compute 3D second derivative on UV point according to UV derivatives.
|
static |
Create Surface by copy.
void Dtk_Surface::DeleteCorrespondingNurbs | ( | ) |
|
static |
|
virtual |
Reimplemented from Dtk_Entity.
Reimplemented in Dtk_MeshSurface, Dtk_TransformedSurface, Dtk_FilletSurface, Dtk_OffsetSurface, Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_ConicalSurface, Dtk_CylindricalSurface, Dtk_RuledSurface, Dtk_LinearExtrusionSurface, Dtk_StandardRevolutionSurface, Dtk_RevolutionSurface, Dtk_PlaneSurface, and Dtk_NurbsSurface.
|
virtualinherited |
|
inherited |
|
pure virtualinherited |
Implemented in Dtk_Annotation, Dtk_2dEntity, Dtk_Shell, Dtk_Body, Dtk_Lump, Dtk_Volume, Dtk_Face, Dtk_Loop, Dtk_Coedge, Dtk_Edge, Dtk_Vertex, Dtk_TopologicalEntity, Dtk_SelectionSet, Dtk_mesh, Dtk_Kinematic, Dtk_MeshSurface, Dtk_TransformedSurface, Dtk_FilletSurface, Dtk_OffsetSurface, Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_ConicalSurface, Dtk_CylindricalSurface, Dtk_RuledSurface, Dtk_LinearExtrusionSurface, Dtk_StandardRevolutionSurface, Dtk_RevolutionSurface, Dtk_PlaneSurface, Dtk_NurbsSurface, Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Conic, Dtk_Line, Dtk_Polyline, Dtk_NurbsCurve, Dtk_Point, Dtk_Constraint, Dtk_ConstraintReference, Dtk_ModelDisplay, Dtk_AxisSystem, Dtk_Region, Dtk_CompositeEntity, Dtk_Hatching, Dtk_Camera, Dtk_Fdt, Dtk_View, Dtk_Drawing, Dtk_Symbol, Dtk_GeometricalTolerance, Dtk_Dimension, Dtk_Grid, Dtk_Table, Dtk_DatumTarget, Dtk_Welding, Dtk_Roughness, and Dtk_feat.
|
pure virtual |
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outDomain[3].
Implemented in Dtk_MeshSurface, Dtk_TransformedSurface, Dtk_FilletSurface, Dtk_OffsetSurface, Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_ConicalSurface, Dtk_CylindricalSurface, Dtk_RuledSurface, Dtk_LinearExtrusionSurface, Dtk_StandardRevolutionSurface, Dtk_RevolutionSurface, Dtk_PlaneSurface, and Dtk_NurbsSurface.
|
inherited |
Get Internal UniqueID.
|
virtual |
Reimplemented from Dtk_Entity.
Reimplemented in Dtk_TransformedSurface, Dtk_FilletSurface, Dtk_OffsetSurface, Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_ConicalSurface, Dtk_CylindricalSurface, Dtk_RuledSurface, Dtk_LinearExtrusionSurface, Dtk_StandardRevolutionSurface, Dtk_RevolutionSurface, Dtk_PlaneSurface, and Dtk_NurbsSurface.
Dtk_ErrorStatus Dtk_Surface::GetTrimUVBox | ( | Dtk_Double64 | outTrimValues[] | ) | const |
Get Surface Trim Box : Umin = outTrimValues[0] Umax = outTrimValues[1] Vmin = outTrimValues[2] Vmax = outTrimValues[3].
|
inherited |
Dtk_bool Dtk_Surface::IsTrimmed | ( | ) | const |
Return DTK_TRUE if Surface Is trimmed by parameter value.
|
virtual |
Return DTK_TRUE If Periodic following U parameter.
Reimplemented in Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_LinearExtrusionSurface, and Dtk_NurbsSurface.
|
virtual |
Return DTK_TRUE If Periodic following V parameter.
Reimplemented in Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_LinearExtrusionSurface, and Dtk_NurbsSurface.
|
virtualinherited |
Reimplemented in Dtk_OffsetSurface.
|
virtual |
Set Surface Trim Box : Umin = inTrimValues[0] Umax = inTrimValues[1] Vmin = inTrimValues[2] Vmax = inTrimValues[3].
Reimplemented in Dtk_StandardRevolutionSurface, and Dtk_RevolutionSurface.
|
pure virtual |
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
Implemented in Dtk_MeshSurface, Dtk_TransformedSurface, Dtk_FilletSurface, Dtk_OffsetSurface, Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_ConicalSurface, Dtk_CylindricalSurface, Dtk_RuledSurface, Dtk_LinearExtrusionSurface, Dtk_StandardRevolutionSurface, Dtk_RevolutionSurface, Dtk_PlaneSurface, and Dtk_NurbsSurface.
|
pure virtualinherited |
Implemented in Dtk_Annotation, Dtk_2dEntity, Dtk_Body, Dtk_TopologicalEntity, Dtk_SelectionSet, Dtk_Kinematic, Dtk_MeshSurface, Dtk_TransformedSurface, Dtk_FilletSurface, Dtk_OffsetSurface, Dtk_SphericalSurface, Dtk_ToroidalSurface, Dtk_ConicalSurface, Dtk_CylindricalSurface, Dtk_RuledSurface, Dtk_LinearExtrusionSurface, Dtk_StandardRevolutionSurface, Dtk_RevolutionSurface, Dtk_PlaneSurface, Dtk_NurbsSurface, Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Conic, Dtk_Line, Dtk_Polyline, Dtk_NurbsCurve, Dtk_Curve, Dtk_Point, Dtk_Constraint, Dtk_ConstraintReference, Dtk_ModelDisplay, Dtk_AxisSystem, Dtk_Region, Dtk_CompositeEntity, Dtk_Hatching, Dtk_Camera, Dtk_Fdt, Dtk_View, Dtk_Drawing, Dtk_Symbol, Dtk_GeometricalTolerance, Dtk_Dimension, Dtk_Grid, Dtk_Table, Dtk_DatumTarget, Dtk_Welding, Dtk_Roughness, Dtk_feat, and Dtk_mesh.
|
friend |
|
friend |
|
protected |
|
protectedinherited |