8.9.3.6 IfcBSplineCurveWithKnots
8.9.3.6.1 Semantic definition
The IfcBSplineCurveWithKnots is a spline curve parameterized by spline functions for which the knot values are explicitly given.
8.9.3.6.2 Entity inheritance
-
- IfcCurve
- IfcAnnotationFillArea
- IfcBooleanResult
- IfcBoundingBox
- IfcCartesianPointList
- IfcCartesianTransformationOperator
- IfcCsgPrimitive3D
- IfcDirection
- IfcFaceBasedSurfaceModel
- IfcFillAreaStyleHatching
- IfcFillAreaStyleTiles
- IfcGeometricSet
- IfcHalfSpaceSolid
- IfcLightSource
- IfcPlacement
- IfcPlanarExtent
- IfcPoint
- IfcSectionedSpine
- IfcSegment
- IfcShellBasedSurfaceModel
- IfcSolidModel
- IfcSurface
- IfcTessellatedItem
- IfcTextLiteral
- IfcVector
8.9.3.6.3 Attributes
| # | Attribute | Type | Description |
|---|---|---|---|
| IfcRepresentationItem (2) | |||
| LayerAssignment | SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems |
Assignment of the representation item to a single or multiple layer(s). The LayerAssignments can override a LayerAssignments of the IfcRepresentation it is used within the list of Items. |
|
| StyledByItem | SET [0:1] OF IfcStyledItem FOR Item |
Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve. |
|
| IfcCurve (1) | |||
| * | Dim | IfcDimensionCount |
This attribute is formally derived.
The space dimensionality of this abstract class, defined differently for all subtypes, i.e. for IfcLine, IfcConic and IfcBoundedCurve. |
| IfcBSplineCurve (7) | |||
| 1 | Degree | IfcInteger |
The algebraic degree of the basis functions. |
| 2 | ControlPointsList | LIST [2:?] OF IfcCartesianPoint |
The list of control points for the curve. |
| 3 | CurveForm | IfcBSplineCurveForm |
Used to identify particular types of curve; it is for information only. |
| 4 | ClosedCurve | IfcLogical |
Indication of whether the curve is closed; it is for information only. |
| 5 | SelfIntersect | IfcLogical |
Indication whether the curve self-intersects or not; it is for information only. |
| * | UpperIndexOnControlPoints | IfcInteger |
This attribute is formally derived.
The upper index on the array of control points; the lower index is 0. This value is derived from the control points list. |
| * | ControlPoints | ARRAY [0:UpperIndexOnControlPoints] OF IfcCartesianPoint |
This attribute is formally derived.
The array of control points used to define the geometry of the curve. This is derived from the list of control points. |
| Click to show 10 hidden inherited attributes Click to hide 10 inherited attributes | |||
| IfcBSplineCurveWithKnots (4) | |||
| 6 | KnotMultiplicities | LIST [2:?] OF IfcInteger |
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. |
| 7 | Knots | LIST [2:?] OF IfcParameterValue |
The list of distinct knots used to define the B-spline basis functions. |
| 8 | KnotSpec | IfcKnotType |
The description of the knot type. This is for information only. |
| * | UpperIndexOnKnots | IfcInteger |
This attribute is formally derived.
The upper index on the knot arrays; the lower index is 1. |
8.9.3.6.4 Formal propositions
| Name | Description |
|---|---|
| ConsistentBSpline |
The function IfcConstraintsParamBSpline returns TRUE if no inconsistencies in the parametrisation of the B-spline are found. |
|
|
| CorrespondingKnotLists |
The number of elements in the knot multiplicities list shall be equal to the number of elements in the knots list. |
|
|
8.9.3.6.5 Formal representation
ENTITY IfcBSplineCurveWithKnots
SUPERTYPE OF (ONEOF
(IfcRationalBSplineCurveWithKnots))
SUBTYPE OF (IfcBSplineCurve);
KnotMultiplicities : LIST [2:?] OF IfcInteger;
Knots : LIST [2:?] OF IfcParameterValue;
KnotSpec : IfcKnotType;
DERIVE
UpperIndexOnKnots : IfcInteger := SIZEOF(Knots);
WHERE
ConsistentBSpline : IfcConstraintsParamBSpline(Degree, UpperIndexOnKnots,
UpperIndexOnControlPoints, KnotMultiplicities, Knots);
CorrespondingKnotLists : SIZEOF(KnotMultiplicities) = UpperIndexOnKnots;
END_ENTITY;