The IfcCompositeCurveOnSurface is a collection of segments, based on p-curves. i.e. a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The p-curve segment is a special type of a composite curve segment and shall only be used to bound a surface.
NOTE Definition according to ISO/CD 10303-42:1992
A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface.
There shall be at least positional continuity between adjacent segments. The parameterization of the composite curve is obtained from the accumulation of the parametric ranges of the segments. The first segment is parameterized from 0 to l~1~, and, for i ≥ 2, the i^th^ segment is parameterized from
where l~k~ is the parametric length (that is, the difference between maximum and minimum parameter values) of the k^th^ curve segment.
Entity adapted from composite_curve_on_surface defined in ISO 10303-42.
HISTORY New entity in IFC4.
|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.|
> IFC2x3 CHANGE The inverse attribute LayerAssignments has been added.
> IFC4 CHANGE The inverse attribute LayerAssignment has been restricted to max 1. Upward compatibility for file based exchange is guaranteed.
|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.|
> IFC2x3 CHANGE The inverse attribute StyledByItem has been added.
|Dim||INVALID||The space dimensionality of this abstract class, defined differently for all subtypes, i.e. for IfcLine, IfcConic and IfcBoundedCurve.|
|1||Segments||LIST [1:?] OF IfcSegment||The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve.|
> NOTE : For IfcGradientCurve and IfcSegmentedReferenceCurve the segments define the interpolation between segment start and and segment end.
|2||SelfIntersect||IfcLogical||Indication of whether the curve intersects itself or not; this is for information only.|
|NSegments||INVALID||The number of component curves.|
|ClosedCurve||INVALID||Indication whether the curve is closed or not; this is derived from the transition code of the last segment.|
|BasisSurface||INVALID||The surface on which the composite curve is defined.|
ENTITY IfcCompositeCurveOnSurface SUPERTYPE OF (ONEOF (IfcBoundaryCurve)) SUBTYPE OF (IfcCompositeCurve); DERIVE BasisSurface : SET [0:1] OF IfcSurface := IfcGetBasisSurface(SELF); WHERE SameSurface : SIZEOF(BasisSurface) > 0; END_ENTITY;