Dtk_Curve is a geometrical entity representing a curve. It is an abstract class that cannot be instancied.
It has several utility methods :
.
More...
Inheritance diagram for Dtk_Curve:Public Member Functions | |
| virtual Dtk_ErrorStatus | _ComputeAnyDerivative (Dtk_Double64 inUvalue, int inUdiff, Dtk_dir &outdir, int exttype) const |
| virtual Dtk_ErrorStatus | _Store (void *) |
| virtual Dtk_ErrorStatus | ComputeBoundingBox (Dtk_pnt &outMin, Dtk_pnt &outMax, Dtk_bool inMorePrecise=0) |
| Compute Bounding Box. More... | |
| virtual Dtk_pnt | ComputeEndPoint () const =0 |
| Return Last point. More... | |
| Dtk_Double64 | ComputeLength () |
| return curve Length More... | |
| Dtk_NurbsCurvePtr | ComputeOffset (Dtk_Double64 inOffset, Dtk_dir inOffsetDirection) |
| Compute offset curve and convert it to nurbs. More... | |
| virtual Dtk_ErrorStatus | ComputeOrientedBoundingBox (Dtk_pnt &outMin, Dtk_pnt &outMax, const Dtk_transfo &inLocal) |
| Compute Oriented Bounding Box. More... | |
| virtual Dtk_ErrorStatus | ComputeParameter (const Dtk_pnt &inPoint, Dtk_Double64 &outU) const =0 |
| Compute U parameter from point. More... | |
| virtual Dtk_pnt | ComputeStartPoint () const =0 |
| Return First point. More... | |
| virtual Dtk_ErrorStatus | ComputeUDir (const Dtk_Double64 &inU, Dtk_dir &outDir) const |
| Compute dir on U parameter. More... | |
| virtual Dtk_ErrorStatus | ComputeUPoint (const Dtk_Double64 &inU, Dtk_pnt &outPoint) const =0 |
| Compute point on U parameter. More... | |
| virtual Dtk_ErrorStatus | ComputeUPointDir (const Dtk_Double64 &inU, Dtk_pnt &outPoint, Dtk_dir &outDir) const |
| Compute point and dir on U parameter. More... | |
| void | DeleteCorrespondingNurbs () |
| int | DtkDynamicType (const int &inId) |
| downcasting More... | |
| virtual void | dump (FILE *file=stdout) |
| Dtk_InfoPtr | get_info () const |
| virtual enum type_detk | get_type_detk () const =0 |
| Dtk_Size_t | GetDimension () const |
| Return 2 or 3. More... | |
| virtual Dtk_ErrorStatus | GetDomain (Dtk_Double64 &outUmin, Dtk_Double64 &outUmax) const =0 |
| Get Curve Parametrisation. More... | |
| const Dtk_ID & | GetID () const |
| Get Internal UniqueID. More... | |
| virtual Dtk_Size_t | GetSize () const |
| Dtk_pnt | GetTrimEndPoint () const |
| Return last trim point. More... | |
| Dtk_pnt | GetTrimStartPoint () const |
| Return first trim point. More... | |
| Dtk_Double64 | GetTrimUMax () const |
| Get end Trim parameter. More... | |
| Dtk_Double64 | GetTrimUMin () const |
| Get start Trim parameter. More... | |
| Dtk_InfoPtr & | info () |
| virtual Dtk_ErrorStatus | InverseTrim () |
| virtual Dtk_bool | IsClosed (Dtk_Double64 inTol=DTK_TOLERANCE) const |
| return True if Curve is closed More... | |
| Dtk_bool | IsLine () |
| return True if Curve is a line More... | |
| virtual Dtk_bool | IsPeriodic () const |
| return True if Curve is periodic More... | |
| Dtk_bool | IsTrimmed () const |
| Return DTK_TRUE if Curve Is trimmed by point or parameter value. More... | |
| virtual void | Normalize () |
| Normalize Curve. More... | |
| virtual void | PrepareTransfo () |
| virtual void | Reverse ()=0 |
| Reverse Curve. More... | |
| void | SetDimension (const Dtk_Size_t &inDimension) |
| Set curve dimension (2 or 3) More... | |
| virtual Dtk_ErrorStatus | SetTrimmingParameters (const Dtk_Double64 &inUmin, const Dtk_Double64 &inUmax) |
| Set Trim parameter for curve. More... | |
| void | SetTrimPoints (const Dtk_pnt &inStartPoint, const Dtk_pnt &inEndPoint) |
| Set Trim points for curve. More... | |
| virtual Dtk_NurbsCurvePtr | ToNurbs () const =0 |
| Convert Curve to nurbs. More... | |
| virtual Dtk_PolylinePtr | ToPolyline (const int &inMinPoint, const Dtk_Double64 &inTolerance) const =0 |
| Convert Curve to polyline. More... | |
| Dtk_ErrorStatus | Transform (const Dtk_transfo &inTransfo) |
| Transform Curve. More... | |
| virtual | ~Dtk_Curve () |
Static Public Member Functions | |
| static Dtk_Curve * | DtkDynamicCast (Dtk_Object *inObject) |
Protected Types | |
| enum | { _typeID = DTK_TYPE_OBJECT } |
| enum | { _typeID = DTK_TYPE_CURVE } |
Protected Member Functions | |
| void | _Copy (const Dtk_Curve &s) |
| void | _copy (const Dtk_Entity &s) |
| void | _init () |
| void | _reset () |
| virtual Dtk_Object * | Clone ()=0 |
| Dtk_Curve () | |
| Dtk_Curve (const Dtk_Curve &s) | |
Protected Attributes | |
| Dtk_Handle * | _Private |
| unsigned long | count_ |
Dtk_Curve is a geometrical entity representing a curve. It is an abstract class that cannot be instancied.
It has several utility methods :
.
|
protected |
|
protected |
|
virtual |
|
virtual |
Reimplemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Polyline, Dtk_Ellipse, Dtk_Line, and Dtk_NurbsCurve.
|
protected |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
virtual |
Reimplemented from Dtk_Entity.
Reimplemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Conic, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.
|
protectedpure virtual |
Implements Dtk_Entity.
Implemented in Dtk_Conic, Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.
|
virtual |
Compute Bounding Box.
Reimplemented in Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.
|
pure virtual |
Return Last point.
Implemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.
| Dtk_Double64 Dtk_Curve::ComputeLength | ( | ) |
return curve Length
| Dtk_NurbsCurvePtr Dtk_Curve::ComputeOffset | ( | Dtk_Double64 | inOffset, |
| Dtk_dir | inOffsetDirection | ||
| ) |
Compute offset curve and convert it to nurbs.
|
virtual |
Compute Oriented Bounding Box.
|
pure virtual |
Compute U parameter from point.
Implemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.
|
pure virtual |
Return First point.
Implemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.
|
virtual |
Compute dir on U parameter.
Reimplemented in Dtk_Ellipse, Dtk_Line, and Dtk_NurbsCurve.
|
pure virtual |
Compute point on U parameter.
Implemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.
|
virtual |
Compute point and dir on U parameter.
Reimplemented in Dtk_NurbsCurve.
| void Dtk_Curve::DeleteCorrespondingNurbs | ( | ) |
|
static |
|
virtual |
downcasting
Reimplemented from Dtk_Entity.
Reimplemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Conic, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.
|
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.
| Dtk_Size_t Dtk_Curve::GetDimension | ( | ) | const |
Return 2 or 3.
|
pure virtual |
Get Curve Parametrisation.
Implemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.
|
inherited |
Get Internal UniqueID.
|
virtual |
Reimplemented from Dtk_Entity.
Reimplemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Conic, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.
| Dtk_pnt Dtk_Curve::GetTrimEndPoint | ( | ) | const |
Return last trim point.
| Dtk_pnt Dtk_Curve::GetTrimStartPoint | ( | ) | const |
Return first trim point.
| Dtk_Double64 Dtk_Curve::GetTrimUMax | ( | ) | const |
Get end Trim parameter.
| Dtk_Double64 Dtk_Curve::GetTrimUMin | ( | ) | const |
Get start Trim parameter.
|
inherited |
|
virtual |
|
virtual |
return True if Curve is closed
Reimplemented in Dtk_NurbsCurve.
| Dtk_bool Dtk_Curve::IsLine | ( | ) |
return True if Curve is a line
|
virtual |
return True if Curve is periodic
Reimplemented in Dtk_NurbsCurve.
| Dtk_bool Dtk_Curve::IsTrimmed | ( | ) | const |
Return DTK_TRUE if Curve Is trimmed by point or parameter value.
|
virtual |
Normalize Curve.
Reimplemented in Dtk_Line.
|
virtualinherited |
Reimplemented in Dtk_OffsetSurface.
|
pure virtual |
Reverse Curve.
Implemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.
| void Dtk_Curve::SetDimension | ( | const Dtk_Size_t & | inDimension | ) |
Set curve dimension (2 or 3)
|
virtual |
Set Trim parameter for curve.
Set Trim points for curve.
|
pure virtual |
Convert Curve to nurbs.
Implemented in Dtk_Hyperbola, Dtk_Conic, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.
|
pure virtual |
Convert Curve to polyline.
| [in] | inMinPoint | : Minimal number of result points |
| [in] | inTolerance | : max tolerance for 3 points alignement. |
Implemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.
|
virtual |
Transform Curve.
Implements Dtk_Entity.
Reimplemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Ellipse, Dtk_Conic, Dtk_Line, Dtk_Polyline, and Dtk_NurbsCurve.
|
protected |
|
protectedinherited |