Defined in File Ifc4.h
IfcBSplineCurveWithKnots: public Ifc4::IfcBSplineCurve¶
Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types.
Let L denote the number of distinct values amongst the d+k+2 knots in the knot list; L will be referred to as the ‘upper index on knots’. Let mj denote the multiplicity (i.e., number of repetitions) of the jth distinct knot. Then:
All knot multiplicities except the first and the last shall be in the range 1,…,d; the first and last may have a maximum value of d + 1. In evaluating the basis functions, a knot u of, e.g., multiplicity 3 is interpreted as a sequence u, u, u,; in the knot array.
NOTE Corresponding ISO 10303 entity: b_spline_curve_with_knots. Please refer to ISO/IS 10303-42:1994, p. 46 for the final definition of the formal standard.
HISTORY New entity in IFC2x4.
Subclassed by Ifc4::IfcRationalBSplineCurveWithKnots
The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array.
The list of distinct knots used to define the B-spline basis functions.
The description of the knot type. This is for information only.
IfcBSplineCurveWithKnots(int v1_Degree, IfcTemplatedEntityList<::Ifc4::IfcCartesianPoint>::ptr v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector<int> v6_KnotMultiplicities, std::vector<double> v7_Knots, ::Ifc4::IfcKnotType::Value v8_KnotSpec)¶