This is the Nurbs Class. It is part of the Dtk_Curve entity. More...
Public Member Functions | |
virtual Dtk_ErrorStatus | _ComputeAnyDerivative (Dtk_Double64 inUvalue, int inUdiff, Dtk_dir &outdir, int exttype) const |
Compute any derivative for an U value. More... | |
Dtk_ErrorStatus | _ComputeAnyDerivativeExtended (Dtk_Double64 inUvalue, int inUdiff, Dtk_dir &outdir, int exttype) const |
Compute any derivative for an U value outside of the curve definition. More... | |
Dtk_Double64 | _ComputeWeight (Dtk_Double64 inUvalue, int exttype) const |
Dtk_ErrorStatus | _DegreeElevation (const Dtk_Size_t &inDegreeElevation) |
Dtk_ErrorStatus | _KnotInsertion (const Dtk_Double64 &inUparameter, const Dtk_Size_t &inOccurence, Dtk_Double64 inTolerance=DTK_TOLERANCE) |
int | _KnotRemoval (const Dtk_Double64 &inU, const int &inNum, const Dtk_Double64 &inTolerance) |
virtual Dtk_ErrorStatus | _Store (void *) |
Dtk_bool | CanHaveDiscontinuity () const |
return DTK_TRUE if nurbs can have discontinuity More... | |
Dtk_ErrorStatus | ComputeBoundingBox (Dtk_pnt &outMin, Dtk_pnt &outMax, Dtk_bool inMorePrecise=0) |
Compute Bounding Box. More... | |
virtual Dtk_pnt | ComputeEndPoint () const |
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 &outParameter) const |
Compute pparameter. More... | |
virtual Dtk_pnt | ComputeStartPoint () const |
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 |
Compute point on U parameter. More... | |
Dtk_ErrorStatus | ComputeUPointDir (const Dtk_Double64 &inUparameter, 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_NurbsCurvePtr | ForceG1Continuity () const |
Dtk_InfoPtr | get_info () const |
type_detk | get_type_detk () const |
Return Curve type. More... | |
Dtk_UInt32 | GetDegree () const |
return degree More... | |
Dtk_Size_t | GetDimension () const |
Return 2 or 3. More... | |
virtual Dtk_ErrorStatus | GetDomain (Dtk_Double64 &outUmin, Dtk_Double64 &outUmax) const |
Get Curve Parametrisation. More... | |
const Dtk_ID & | GetID () const |
Get Internal UniqueID. More... | |
Dtk_UInt32 | GetKnotMultiplicity (const Dtk_Size_t &inIndex) const |
return knot multiplicity at inIndex place More... | |
Dtk_Double64 | GetKnotValue (const Dtk_Size_t &inIndex) const |
return knot value at inIndex place More... | |
Dtk_Size_t | GetNumKnots () const |
return number of different knot value More... | |
Dtk_Size_t | GetNumPoints () const |
return Num Control points 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... | |
type_detk | GetTypeBeforeConversion () const |
Dtk_Double64 * | GetUnpackedKnot () const |
Dtk_Double64 | GetWeight (const Dtk_Size_t &inIndex) const |
return weight More... | |
Dtk_InfoPtr & | info () |
virtual Dtk_ErrorStatus | InverseTrim () |
Dtk_bool | IsBezier () const |
return DTK_TRUE if bezier More... | |
Dtk_bool | IsClosed (Dtk_Double64 inTol=DTK_TOLERANCE) const |
return DTK_TRUE if nurbs is closed More... | |
Dtk_bool | IsLine () |
return True if Curve is a line More... | |
Dtk_bool | IsLine () const |
return DTK_TRUE if nurbs is line More... | |
virtual Dtk_bool | IsPeriodic () const |
return DTK_TRUE if nurbs is periodic More... | |
Dtk_bool | IsRationnal () const |
return DTK_TRUE if one weight != 1 More... | |
Dtk_bool | IsTrimmed () const |
Return DTK_TRUE if Curve Is trimmed by point or parameter value. More... | |
Dtk_bool | IsUniform () const |
return DTK_TRUE if knots are uniform More... | |
virtual void | Normalize () |
Normalize Curve. More... | |
Dtk_pnt & | Point (const Dtk_Size_t &inIndex) |
const Dtk_pnt & | Point (const Dtk_Size_t &inIndex) const |
return the point at place inIndex More... | |
virtual void | PrepareTransfo () |
Dtk_ErrorStatus | Reparam (const Dtk_Double64 &inUmin, const Dtk_Double64 &inUmax) |
Set Curve parametrisation domain. More... | |
virtual void | Reverse () |
Reverse Curve. More... | |
void | SetDimension (const Dtk_Size_t &inDimension) |
Set curve dimension (2 or 3) More... | |
void | SetIsClosed (const Dtk_bool &inIsClosed) |
sets is_closed field to DTK_TRUE or DTK_FALSE More... | |
void | SetIsPeriodic (const Dtk_bool &inIsPeriodic) |
sets is_closed field to DTK_TRUE or DTK_FALSE 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... | |
void | SetTypeBeforeConversion (const type_detk &inType) |
Dtk_ErrorStatus | Split (Dtk_Double64 inTrimDom[2], Dtk_Double64 inTolerance=DTK_TOLERANCE) |
virtual Dtk_NurbsCurvePtr | ToNurbs () const |
Convert Curve to nurbs. More... | |
virtual Dtk_PolylinePtr | ToPolyline (const int &inMinPoint, const Dtk_Double64 &inTolerance) const |
Convert Curve to polyline. More... | |
Dtk_ErrorStatus | Transform (const Dtk_transfo &inTransfo) |
Transform Curve. More... | |
Static Public Member Functions | |
static Dtk_NurbsCurvePtr | Create (const Dtk_NurbsCurve &s) |
constructors returning Smart pointers More... | |
static Dtk_NurbsCurvePtr | Create (const Dtk_NurbsCurvePtr &s, const Dtk_tab< Dtk_Double64 > &inKnotsValues, const Dtk_tab< Dtk_UChar8 > &inKnotsMultiplicities) |
static Dtk_NurbsCurvePtr | Create (const Dtk_tab< Dtk_CurvePtr > &inCurvesToMerge, Dtk_Double64 stichtol=DTK_TOLERANCE, Dtk_bool LengthParameter=DTK_FALSE) |
static Dtk_NurbsCurvePtr | Create (const Dtk_UInt32 &inDegree, const Dtk_tab< Dtk_Double64 > &inKnots, const Dtk_tab< Dtk_pnt > &inControlPoints, const Dtk_tab< Dtk_Double64 > &inWeights=Dtk_tab< Dtk_Double64 >()) |
static Dtk_NurbsCurvePtr | Create (const Dtk_UInt32 &inDegree, const Dtk_tab< Dtk_Double64 > &inKnotsValues, const Dtk_tab< Dtk_UChar8 > &inKnotsMultiplicities, const Dtk_tab< Dtk_pnt > &inControlPoints, const Dtk_tab< Dtk_Double64 > &inWeights=Dtk_tab< Dtk_Double64 >()) |
static Dtk_NurbsCurve * | DtkDynamicCast (Dtk_Object *inObject) |
Protected Types | |
enum | { _typeID = DTK_TYPE_OBJECT } |
enum | { _typeID = DTK_TYPE_CURVE } |
enum | { _typeID = DTK_TYPE_NURBS_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 () |
Dtk_NurbsCurve () | |
Dtk_NurbsCurve (const Dtk_NurbsCurve &s) | |
Dtk_NurbsCurve (const Dtk_tab< Dtk_CurvePtr > &inCurvesToMerge, Dtk_Double64 stichtol, Dtk_bool LengthParameter) | |
Dtk_NurbsCurve (const Dtk_UInt32 &inDegree, const Dtk_tab< Dtk_Double64 > &inKnots, const Dtk_tab< Dtk_pnt > &inControlPoints, const Dtk_tab< Dtk_Double64 > &inWeights=Dtk_tab< Dtk_Double64 >()) | |
Dtk_NurbsCurve (const Dtk_UInt32 &inDegree, const Dtk_tab< Dtk_Double64 > &inKnotsValues, const Dtk_tab< Dtk_UChar8 > &inKnotsMultiplicities, const Dtk_tab< Dtk_pnt > &inControlPoints, const Dtk_tab< Dtk_Double64 > &inWeights=Dtk_tab< Dtk_Double64 >()) | |
Dtk_NurbsCurve (const Dtk_UInt32 &inDegree, const Dtk_tab< Dtk_pnt > &inControlPoints) | |
virtual | ~Dtk_NurbsCurve () |
Protected Attributes | |
Dtk_Handle * | _Private |
unsigned long | count_ |
Friends | |
class | Dtk_SmartPtr< Dtk_NurbsCurve > |
This is the Nurbs Class. It is part of the Dtk_Curve entity.
|
protected |
|
protected |
|
protectedvirtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
virtual |
Compute any derivative for an U value.
[in] | inUvalue | : the U value |
[in] | inUdiff | : wanted derivative (0 = point, 1 = Udir or tangent, 2 = second derivative, etc.) |
[out] | outdir | : the computed derivative |
[in] | exttype | : for internal use |
Reimplemented from Dtk_Curve.
Dtk_ErrorStatus Dtk_NurbsCurve::_ComputeAnyDerivativeExtended | ( | Dtk_Double64 | inUvalue, |
int | inUdiff, | ||
Dtk_dir & | outdir, | ||
int | exttype | ||
) | const |
Compute any derivative for an U value outside of the curve definition.
[in] | inUvalue | : the U value |
[in] | inUdiff | : wanted derivative (0 = point, 1 = Udir or tangent, 2 = second derivative, etc.) |
[out] | outdir | : the computed derivative |
[in] | exttype | : for internal use |
Dtk_Double64 Dtk_NurbsCurve::_ComputeWeight | ( | Dtk_Double64 | inUvalue, |
int | exttype | ||
) | const |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Dtk_ErrorStatus Dtk_NurbsCurve::_DegreeElevation | ( | const Dtk_Size_t & | inDegreeElevation | ) |
|
protectedinherited |
Dtk_ErrorStatus Dtk_NurbsCurve::_KnotInsertion | ( | const Dtk_Double64 & | inUparameter, |
const Dtk_Size_t & | inOccurence, | ||
Dtk_Double64 | inTolerance = DTK_TOLERANCE |
||
) |
int Dtk_NurbsCurve::_KnotRemoval | ( | const Dtk_Double64 & | inU, |
const int & | inNum, | ||
const Dtk_Double64 & | inTolerance | ||
) |
|
protectedinherited |
|
virtual |
Reimplemented from Dtk_Curve.
Dtk_bool Dtk_NurbsCurve::CanHaveDiscontinuity | ( | ) | const |
return DTK_TRUE if nurbs can have discontinuity
|
protectedvirtual |
Implements Dtk_Curve.
|
virtual |
Compute Bounding Box.
Reimplemented from Dtk_Curve.
|
virtual |
Return Last point.
Implements Dtk_Curve.
|
inherited |
return curve Length
|
inherited |
Compute offset curve and convert it to nurbs.
|
virtualinherited |
Compute Oriented Bounding Box.
|
virtual |
Compute pparameter.
Implements Dtk_Curve.
|
virtual |
Return First point.
Implements Dtk_Curve.
|
virtual |
Compute dir on U parameter.
Reimplemented from Dtk_Curve.
|
virtual |
Compute point on U parameter.
Implements Dtk_Curve.
|
virtual |
Compute point and dir on U parameter.
Reimplemented from Dtk_Curve.
|
static |
constructors returning Smart pointers
|
static |
|
static |
|
static |
|
static |
|
inherited |
|
static |
|
virtual |
downcasting
Reimplemented from Dtk_Curve.
|
virtualinherited |
Dtk_NurbsCurvePtr Dtk_NurbsCurve::ForceG1Continuity | ( | ) | const |
|
inherited |
|
virtual |
Return Curve type.
Implements Dtk_Entity.
Dtk_UInt32 Dtk_NurbsCurve::GetDegree | ( | ) | const |
return degree
|
inherited |
Return 2 or 3.
|
virtual |
Get Curve Parametrisation.
Implements Dtk_Curve.
|
inherited |
Get Internal UniqueID.
Dtk_UInt32 Dtk_NurbsCurve::GetKnotMultiplicity | ( | const Dtk_Size_t & | inIndex | ) | const |
return knot multiplicity at inIndex place
Dtk_Double64 Dtk_NurbsCurve::GetKnotValue | ( | const Dtk_Size_t & | inIndex | ) | const |
return knot value at inIndex place
Dtk_Size_t Dtk_NurbsCurve::GetNumKnots | ( | ) | const |
return number of different knot value
Dtk_Size_t Dtk_NurbsCurve::GetNumPoints | ( | ) | const |
return Num Control points
|
virtual |
Reimplemented from Dtk_Curve.
|
inherited |
Return last trim point.
|
inherited |
Return first trim point.
|
inherited |
Get end Trim parameter.
|
inherited |
Get start Trim parameter.
type_detk Dtk_NurbsCurve::GetTypeBeforeConversion | ( | ) | const |
Dtk_Double64* Dtk_NurbsCurve::GetUnpackedKnot | ( | ) | const |
Dtk_Double64 Dtk_NurbsCurve::GetWeight | ( | const Dtk_Size_t & | inIndex | ) | const |
return weight
|
inherited |
|
virtualinherited |
Dtk_bool Dtk_NurbsCurve::IsBezier | ( | ) | const |
return DTK_TRUE if bezier
|
virtual |
return DTK_TRUE if nurbs is closed
Reimplemented from Dtk_Curve.
|
inherited |
return True if Curve is a line
Dtk_bool Dtk_NurbsCurve::IsLine | ( | ) | const |
return DTK_TRUE if nurbs is line
|
virtual |
return DTK_TRUE if nurbs is periodic
Reimplemented from Dtk_Curve.
Dtk_bool Dtk_NurbsCurve::IsRationnal | ( | ) | const |
return DTK_TRUE if one weight != 1
|
inherited |
Return DTK_TRUE if Curve Is trimmed by point or parameter value.
Dtk_bool Dtk_NurbsCurve::IsUniform | ( | ) | const |
return DTK_TRUE if knots are uniform
|
virtualinherited |
Normalize Curve.
Reimplemented in Dtk_Line.
Dtk_pnt& Dtk_NurbsCurve::Point | ( | const Dtk_Size_t & | inIndex | ) |
const Dtk_pnt& Dtk_NurbsCurve::Point | ( | const Dtk_Size_t & | inIndex | ) | const |
return the point at place inIndex
|
virtualinherited |
Reimplemented in Dtk_OffsetSurface.
Dtk_ErrorStatus Dtk_NurbsCurve::Reparam | ( | const Dtk_Double64 & | inUmin, |
const Dtk_Double64 & | inUmax | ||
) |
Set Curve parametrisation domain.
|
virtual |
Reverse Curve.
Implements Dtk_Curve.
|
inherited |
Set curve dimension (2 or 3)
void Dtk_NurbsCurve::SetIsClosed | ( | const Dtk_bool & | inIsClosed | ) |
sets is_closed field to DTK_TRUE or DTK_FALSE
void Dtk_NurbsCurve::SetIsPeriodic | ( | const Dtk_bool & | inIsPeriodic | ) |
sets is_closed field to DTK_TRUE or DTK_FALSE
|
virtualinherited |
Set Trim parameter for curve.
|
inherited |
Set Trim points for curve.
void Dtk_NurbsCurve::SetTypeBeforeConversion | ( | const type_detk & | inType | ) |
Dtk_ErrorStatus Dtk_NurbsCurve::Split | ( | Dtk_Double64 | inTrimDom[2], |
Dtk_Double64 | inTolerance = DTK_TOLERANCE |
||
) |
|
virtual |
Convert Curve to nurbs.
Implements Dtk_Curve.
|
virtual |
Convert Curve to polyline.
Implements Dtk_Curve.
|
virtual |
Transform Curve.
Reimplemented from Dtk_Curve.
|
friend |
|
protected |
|
protectedinherited |