
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);
|
|
|
|