IfcRationalBezierCurve
Definition from IAI: A rational Bezier curve is a B-spline curve
described in terms of control points and basic functions. It describes weights
in addition to the control points defined at the supertype
IfcBSplineCurve.
NOTE: The IfcRationalBezierCurve is an entity
that had been adopted from ISO 10303, Industrial automation systems and
integrationProduct data representation and exchange, Part 42: Integrated
generic resource: Geometric and topological
representation.
NOTE: The specific subtype
IfcRationalBezierCurve has been introduced to avoid the complexity of
ANDOR subtype relationships in the ISO 10303-42
specification
All weights shall be positive and the curve is given by:
where
k+1 |
number of control points |
Pi |
control points |
wi |
weights |
d |
degree |
NOTE: Corresponding STEP entity:
rational_b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the
final definition of the formal standard.
HISTORY: New entity in Release IFC2x
Edition 2.
EXPRESS specification:
|
|
|
WeightsData
|
:
|
LIST [2:?] OF REAL;
|
|
|
Weights
|
:
|
ARRAY [0:255] OF REAL := IfcListToArray(WeightsData,0,SELF\IfcBSplineCurve.UpperIndexOnControlPoints);
|
|
|
WR1
|
:
|
SIZEOF(WeightsData) = SIZEOF(SELF\IfcBSplineCurve.ControlPointsList);
|
WR2
|
:
|
IfcCurveWeightsPositive(SELF);
|
|
|
|
Attribute definitions:
WeightsData
|
:
|
The supplied values of the weights.
|
Weights
|
:
|
The array of weights associated with the control points. This is derived from the weights data.
|
Inheritance graph
|
ENTITY IfcRationalBezierCurve;
|
|
|
ControlPoints
|
:
|
ARRAY [0:255] OF IfcCartesianPoint := IfcListToArray(ControlPointsList,0,UpperIndexOnControlPoints);
|
UpperIndexOnControlPoints
|
:
|
INTEGER := (SIZEOF(ControlPointsList) - 1);
|
|
|
WeightsData
|
:
|
LIST [2:?] OF REAL;
|
|
|
Weights
|
:
|
ARRAY [0:255] OF REAL := IfcListToArray(WeightsData,0,SELF\IfcBSplineCurve.UpperIndexOnControlPoints);
|
|
|
|