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...
 Inheritance diagram for Dtk_Surface: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 &in) | 
| 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 | _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_ | 
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 | 
| 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 | 
| 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.
      
  | 
  protected | 
      
  | 
  protectedinherited |