Dtk_Curve is a geometrical entity representing a curve. It is an abstract class that cannot be instancied.
.
More...
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 | _copy (const Dtk_Object &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_ |
Friends | |
class | Dtk_SmartPtr< Dtk_Curve > |
void | PDtk_StoreDataCurve (void *, Dtk_CurvePtr &) |
Dtk_Curve is a geometrical entity representing a curve. It is an abstract class that cannot be instancied.
.
|
protected |
|
protected |
|
virtual |
|
virtual |
Reimplemented in Dtk_Hyperbola, Dtk_Parabola, Dtk_Polyline, Dtk_Ellipse, Dtk_Line, and Dtk_NurbsCurve.
|
protected |
|
protectedinherited |
|
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.
|
friend |
|
friend |
|
protected |
|
protectedinherited |