composite_curve

EXPRESS specification:

ENTITY composite_curve
SUBTYPE OF ( | bounded_curve);
segments | : | LIST [1:?] OF composite_curve_segment;
self_intersect | : | LOGICAL;
DERIVE
n_segments | : | INTEGER := SIZEOF(segments);
closed_curve | : | LOGICAL := segments[n_segments].transition <> discontinuous;
WHERE
WRC5 | : | ((NOT closed_curve) AND (SIZEOF(QUERY(temp <* segments | temp.transition = discontinuous)) = 1)) OR ((closed_curve) AND (SIZEOF(QUERY(temp <* segments | temp.transition = discontinuous)) = 0));
END_ENTITY;

References (4):

Name | Type | Referred through | Express-G
bounded_curve | Entity |
Subtype
| No Diagram
composite_curve_on_surface | Entity |
Supertype
| No Diagram
composite_curve_segment | Entity |
Attribute 'using_curves'
| No Diagram
joint_system_welded_linear | Entity |
Attribute 'weld_path'
| No Diagram

Inheritance graph

ENTITY composite_curve;
ENTITY representation_item;
name | : | label;
ENTITY geometric_representation_item;
DERIVE
dim | : | dimension_count := dimension_of(SELF);
ENTITY curve;
ENTITY bounded_curve;
ENTITY composite_curve;
segments | : | LIST [1:?] OF composite_curve_segment;
self_intersect | : | LOGICAL;
DERIVE
n_segments | : | INTEGER := SIZEOF(segments);
closed_curve | : | LOGICAL := segments[n_segments].transition <> discontinuous;
END_ENTITY;