Defines 2D B-Spline curve. More...
#include <cadex/ModelData_BSplineCurve2d.hxx>
Public Types | |
typedef cadex::internal::ModelData_BSplineCurve2dImpl | ImplType |
Public Member Functions | |
ModelData_BSplineCurve2d () | |
Constructor. | |
ModelData_BSplineCurve2d (const ModelData_Point2d thePoles[], int theNumberOfPoles, const double theKnots[], int theNumberOfKnots, const int theMultiplicities[], int theDegree, bool theIsPeriodic=false) | |
Constructor. | |
ModelData_BSplineCurve2d (const ModelData_Point2d thePoles[], const double thePoleWeights[], int theNumberOfPoles, const double theKnots[], int theNumberOfKnots, const int theMultiplicities[], int theDegree, bool theIsPeriodic=false) | |
Constructor. | |
ModelData_BSplineCurve2d (const Handle_C &) | |
Constructor. | |
int | Degree () const |
Returns degree. | |
int | NumberOfKnots () const |
Returns number of unique knots. | |
int | NumberOfPoles () const |
Returns number of poles. | |
double | Knot (int theIndex) const |
Returns a knot value. | |
int | Knots (double theKnots[]) const |
Populates a vector of knots. | |
int | Multiplicity (int theIndex) const |
Returns a knot multiplicity. | |
int | Multiplicities (int theMultiplicities[]) const |
Populates a vector of knot multiplicities. | |
ModelData_Point2d | Pole (int theIndex) const |
Returns a pole value. | |
int | Poles (ModelData_Point2d thePoles[]) const |
Populates a vector of poles. | |
bool | IsRational () const |
Returns true if the B-Spline curve is rational (i.e. has weights). | |
double | Weight (int theIndex) const |
Returns a weight value. | |
int | Weights (double theWeights[]) const |
Populates a vector of weights. | |
![]() | |
ModelData_Curve2d () | |
Constructor. | |
ModelData_Curve2d (const ModelData_Curve2d &theOther) | |
Constructor. | |
ModelData_Curve2d (ModelData_Curve2d &&theOther) | |
Constructor. | |
~ModelData_Curve2d () | |
Destructor. | |
ModelData_Curve2d & | operator= (const ModelData_Curve2d &theOther) |
Assignment operator. | |
ModelData_Curve2d & | operator= (ModelData_Curve2d &&theOther) |
Move assignment operator. | |
ModelData_CurveType | Type () const |
Returns a curve type. | |
bool | IsNull () const |
Returns true if the object has not been initialized yet. | |
void | Nullify () |
Resets the object. | |
operator bool () const | |
Returns if the object has been initialized. | |
bool | IsPeriodic () const |
Returns true if the curve is periodic. | |
double | UMin () const |
Returns a minimum parameter of a definition domain. | |
double | UMax () const |
Returns a maximum parameter of a definition domain. | |
void | Domain (double &theUMin, double &theUMax) const |
Returns a definition domain. | |
ModelData_Point2d | Value (double theParameter) const |
Evaluates a point on the curve. | |
ModelData_Curve2d | Reversed () const |
Returns a curve with reversed orientation. | |
void | Transform (const ModelData_Transformation2d &theTransformation) |
Applies transformation matrix to this object. | |
ModelData_Curve2d | Transformed (const ModelData_Transformation2d &theTransformation) const |
Returns a copy this object after applying transformation. | |
ModelData_Continuity | Continuity () const |
Returns a continuity type of the curve. | |
void | D0 (double theParameter, ModelData_Point2d &theValue) const |
Returns the point theValue of parameter theParam. | |
void | D1 (double theParameter, ModelData_Point2d &theValue, ModelData_Vector2d &theD1) const |
Returns the point theValue of parameter theParam and the first derivative theD1. | |
void | D2 (double theParameter, ModelData_Point2d &theValue, ModelData_Vector2d &theD1, ModelData_Vector2d &theD2) const |
Returns the point theValue of parameter theParam and second derivatives theD1 and theD2. | |
bool | DN (double theParameter, size_t theDerivativeOrder, ModelData_Point2d &theValue, ModelData_Vector2d theD[]) const |
double | Curvature (double theParameter) const |
Returns the curvature value of parameter theParam. | |
void | Normal (double theParameter, ModelData_Direction2d &theNormal) const |
Returns the normal direction theNormal of parameter theParam. | |
Public Attributes | |
operator Handle_C const | |
![]() | |
operator Handle_C const | |
Defines 2D B-Spline curve.
For detailed description refer to 3D counterpart ModelData_BSplineCurve.
|
inline |
Constructor.
Empty constructor.
cadex::ModelData_BSplineCurve2d::ModelData_BSplineCurve2d | ( | const ModelData_Point2d | thePoles[], |
int | theNumberOfPoles, | ||
const double | theKnots[], | ||
int | theNumberOfKnots, | ||
const int | theMultiplicities[], | ||
int | theDegree, | ||
bool | theIsPeriodic = false |
||
) |
Constructor.
Creates a polynomial B-Spline curve.
Parameters:
theNumberOfPoles must meet the requirements described for ModelData_BSplineCurve.
cadex::ModelData_BSplineCurve2d::ModelData_BSplineCurve2d | ( | const ModelData_Point2d | thePoles[], |
const double | thePoleWeights[], | ||
int | theNumberOfPoles, | ||
const double | theKnots[], | ||
int | theNumberOfKnots, | ||
const int | theMultiplicities[], | ||
int | theDegree, | ||
bool | theIsPeriodic = false |
||
) |
Constructor.
Creates a rational B-Spline curve.
Parameters:
theNumberOfPoles must meet the requirements described for ModelData_BSplineCurve.
Poles are to be provided after division by their weights.
int cadex::ModelData_BSplineCurve2d::Degree | ( | ) | const |
Returns degree.
Returns the value specified in the constructor.
bool cadex::ModelData_BSplineCurve2d::IsRational | ( | ) | const |
Returns true if the B-Spline curve is rational (i.e. has weights).
double cadex::ModelData_BSplineCurve2d::Knot | ( | int | theIndex | ) | const |
int cadex::ModelData_BSplineCurve2d::Knots | ( | double | theKnots[] | ) | const |
Populates a vector of knots.
theKnots must point to a buffer in memory with at least NumberOfKnots() preallocated values.
Returns NumberOfKnots().
int cadex::ModelData_BSplineCurve2d::Multiplicities | ( | int | theMultiplicities[] | ) | const |
Populates a vector of knot multiplicities.
theMultiplicities must point to a buffer in memory with at least NumberOfKnots() preallocated values.
Returns NumberOfKnots().
int cadex::ModelData_BSplineCurve2d::Multiplicity | ( | int | theIndex | ) | const |
int cadex::ModelData_BSplineCurve2d::NumberOfKnots | ( | ) | const |
Returns number of unique knots.
Returns the value specified in the constructor.
int cadex::ModelData_BSplineCurve2d::NumberOfPoles | ( | ) | const |
Returns number of poles.
Returns the value specified in the constructor.
ModelData_Point2d cadex::ModelData_BSplineCurve2d::Pole | ( | int | theIndex | ) | const |
int cadex::ModelData_BSplineCurve2d::Poles | ( | ModelData_Point2d | thePoles[] | ) | const |
Populates a vector of poles.
thePoles must point to a buffer in memory with at least NumberOfPoles() preallocated values.
Returns NumberOfPoles().
double cadex::ModelData_BSplineCurve2d::Weight | ( | int | theIndex | ) | const |
Returns a weight value.
theIndex must be in the range [1, NumberOfPoles()].
For polynomial B-Spline behavior is undefined.
int cadex::ModelData_BSplineCurve2d::Weights | ( | double | theWeights[] | ) | const |
Populates a vector of weights.
theWeights must point to a buffer in memory with at least NumberOfPoles() preallocated values.
Returns NumberOfPoles().
For polynomial B-Spline does nothing and returns 0.