Class Ifc4::IfcBSplineCurveWithKnots¶
Defined in File Ifc4.h
Nested Relationships¶
This class is a nested type of Struct Ifc4.
Inheritance Relationships¶
Base Type¶
public Ifc4::IfcBSplineCurve
(Class Ifc4::IfcBSplineCurve)
Derived Type¶
public Ifc4::IfcRationalBSplineCurveWithKnots
(Class Ifc4::IfcRationalBSplineCurveWithKnots)
Class Documentation¶
-
class
Ifc4
::
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
Public Types
-
typedef IfcTemplatedEntityList<IfcBSplineCurveWithKnots>
list
¶
Public Functions
-
std::vector<int>
KnotMultiplicities
() const¶ 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.
-
void
setKnotMultiplicities
(std::vector<int> v)¶
-
std::vector<double>
Knots
() const¶ The list of distinct knots used to define the B-spline basis functions.
-
void
setKnots
(std::vector<double> v)¶
-
::Ifc4::IfcKnotType::Value
KnotSpec
() const¶ The description of the knot type. This is for information only.
-
void
setKnotSpec
(::Ifc4::IfcKnotType::Value v)¶
-
IfcBSplineCurveWithKnots
(IfcEntityInstanceData *e)¶
-
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)¶
-
typedef IfcTemplatedEntityList<IfcBSplineCurveWithKnots>