Class Ifc4x1::IfcBSplineCurveWithKnots

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class Ifc4x1::IfcBSplineCurveWithKnots : public Ifc4x1::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 Ifc4x1::IfcRationalBSplineCurveWithKnots

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)
::Ifc4x1::IfcKnotType::Value KnotSpec() const

The description of the knot type. This is for information only.

void setKnotSpec(::Ifc4x1::IfcKnotType::Value v)
const IfcParse::entity &declaration() const
IfcBSplineCurveWithKnots(IfcEntityInstanceData *e)
IfcBSplineCurveWithKnots(int v1_Degree, IfcTemplatedEntityList<::Ifc4x1::IfcCartesianPoint>::ptr v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector<int> v6_KnotMultiplicities, std::vector<double> v7_Knots, ::Ifc4x1::IfcKnotType::Value v8_KnotSpec)

Public Static Functions

const IfcParse::entity &Class()