This is the Nurbs Class. More...
 Inheritance diagram for Dtk_NurbsCurve: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 &in) | 
| Calls copy constructor to allocate a new object.  More... | |
| static Dtk_NurbsCurvePtr | Create (const Dtk_NurbsCurvePtr &s, const Dtk_tab< Dtk_Double64 > &inKnotsValues, const Dtk_tab< Dtk_UChar8 > &inKnotsMultiplicities) | 
| Calls full featured constructor to allocate a new object.  More... | |
| static Dtk_NurbsCurvePtr | Create (const Dtk_tab< Dtk_CurvePtr > &inCurvesToMerge, Dtk_Double64 stichtol=DTK_TOLERANCE, Dtk_bool LengthParameter=DTK_FALSE) | 
| Calls full featured constructor to allocate a new object.  More... | |
| 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 >()) | 
| Calls full featured constructor to allocate a new object.  More... | |
| 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 >()) | 
| Calls full featured constructor to allocate a new object.  More... | |
| 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 | _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_ | 
This is the Nurbs Class.
      
  | 
  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 | 
| 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 | 
Calls copy constructor to allocate a new object.
| in | Object to copy from. | 
      
  | 
  static | 
Calls full featured constructor to allocate a new object.
      
  | 
  static | 
Calls full featured constructor to allocate a new object.
      
  | 
  static | 
Calls full featured constructor to allocate a new object.
      
  | 
  static | 
Calls full featured constructor to allocate a new object.
      
  | 
  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.
      
  | 
  protected | 
      
  | 
  protectedinherited |