Class Ifc2x3::IfcCompositeCurve¶
Defined in File Ifc2x3.h
Nested Relationships¶
This class is a nested type of Struct Ifc2x3.
Inheritance Relationships¶
Base Type¶
public Ifc2x3::IfcBoundedCurve
(Class Ifc2x3::IfcBoundedCurve)
Derived Type¶
public Ifc2x3::Ifc2DCompositeCurve
(Class Ifc2x3::Ifc2DCompositeCurve)
Class Documentation¶

class
Ifc2x3
::
IfcCompositeCurve
: public Ifc2x3::IfcBoundedCurve¶ Definition from ISO/CD 1030342:1992: A composite curve is a collection of curves joined endtoend. The individual segments of the curve are themselves defined as composite curve segments. The parameterization of the composite curve is an accumulation of the parametric ranges of the referenced bounded curves. The first segment is parameterized from 0 to l1 and for i ≤ 2, the ith segment is parameterized from:
where lk is the parametric length (i.e., difference between maximum and minimum parameter values) of the curve underlying the kth segment.
Let T denote the parameter for the composite curve. Then, if the ith segment is not a reparameterised composite curve segment, T is related to the parameter ti; ti0 ≤ ti ≤ ti1; for the ith segment by the equation:
if Segments[i].SameSense = TRUE;
or by the equation:
if Segments[i].SameSense = FALSE;
If the segments[i] is of type reparameterised composite curve segment,
where τ is defined at reparameterized composite curve segment (see IfcReparameterizedCompositeCurveSegment).
Figure 279 illustrates an example of a composite curve.
Figure 279 — Composite curve
Consider an IfcCompositeCurve having line segment and an arc segment. The line should be parameterized:
IfcPolyline with start= 0.,0. end= 0.,1., SameSense= TRUE, parametric length = 1.
The arch should be parameterized:
IfcTrimmedCurve with start= 180’, end= 90’, SameSense= FALSE, parametric length = 90.
Then the parameterization of the composite curve is:
IfcCompositeCurve with 0. ≤ T ≤ 1. (line segment) and 1. ≤ T ≤ 91. (arc segment), parametric length = 91.
NOTE Corresponding ISO 10303 entity: composite_curve, please refer to ISO/IS 1030342:1994, p. 56 for the final definition of the formal standard. The WR2 is added to ensure consistent Dim at all segments.
HISTORY New class in IFC Release 1.0
Informal Propositions:
The SameSense attribute of each segment correctly specifies the senses of the component curves. When traversed in the direction indicated by SameSense, the segments shall join endtoend.
Subclassed by Ifc2x3::Ifc2DCompositeCurve
Public Types

typedef IfcTemplatedEntityList<IfcCompositeCurve>
list
¶
Public Functions

IfcTemplatedEntityList<::Ifc2x3::IfcCompositeCurveSegment>::ptr
Segments
() const¶ 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.

void
setSegments
(IfcTemplatedEntityList<::Ifc2x3::IfcCompositeCurveSegment>::ptr v)¶

bool
SelfIntersect
() const¶ Indication of whether the curve intersects itself or not; this is for information only.

void
setSelfIntersect
(bool v)¶

IfcCompositeCurve
(IfcEntityInstanceData *e)¶

IfcCompositeCurve
(IfcTemplatedEntityList<::Ifc2x3::IfcCompositeCurveSegment>::ptr v1_Segments, bool v2_SelfIntersect)¶

typedef IfcTemplatedEntityList<IfcCompositeCurve>