Navigation
Navigate Navigate Navigate Navigate Navigate Navigate Navigate Navigate

IfcOrientedEdge

Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge.

NOTE A common practice is solid modelling systems is to have an entity that represents the "use" or "traversal" of an edge. This "use" entity explicitly represents the requirement in a manifold solid that each edge must be traversed exactly twice, once in each direction. The "use" functionality is provided by the edge subtype oriented edge.

NOTE: Corresponding STEP entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard.

HISTORY: New Entity in IFC Release 2.0

EXPRESS specification:

ENTITY IfcOrientedEdge
SUBTYPE OF ( IfcEdge);
EdgeElement  :  IfcEdge;
Orientation  :  BOOLEAN;
DERIVE
SELF\IfcEdge.EdgeStart  :  IfcVertex :=  IfcBooleanChoose 
(Orientation, EdgeElement.EdgeStart, EdgeElement.EdgeEnd);
SELF\IfcEdge.EdgeEnd  :  IfcVertex :=  IfcBooleanChoose 
(Orientation, EdgeElement.EdgeEnd, EdgeElement.EdgeStart);
WHERE
WR1  :  NOT('IFCTOPOLOGYRESOURCE.IFCORIENTEDEDGE' IN TYPEOF(EdgeElement));
END_ENTITY;

Attribute definitions:

EdgeElement  :  Edge entity used to construct this oriented edge.
Orientation  :  BOOLEAN, If TRUE the topological orientation as used coincides with the orientation from start vertex to end vertex of the edge element. If FALSE otherwise.
EdgeStart  :  The start vertex of the oriented edge. It derives from the vertices of the edge element after taking account of the orientation.
EdgeEnd  :  The end vertex of the oriented edge. It derives from the vertices of the edge element after taking account of the orientation.

Formal Propositions:

WR1  :  The edge element shall not be an oriented edge.

Inheritance graph

ENTITY IfcOrientedEdge;
ENTITY IfcRepresentationItem;
INVERSE
LayerAssignments  :  SET OF IfcPresentationLayerAssignment FOR AssignedItems;
StyledByItem  :  SET [0:1] OF IfcStyledItem FOR Item;
ENTITY IfcTopologicalRepresentationItem;
ENTITY IfcEdge;
ENTITY IfcOrientedEdge;
EdgeElement  :  IfcEdge;
Orientation  :  BOOLEAN;
DERIVE
EdgeStart  :  IfcVertex :=  IfcBooleanChoose 
(Orientation, EdgeElement.EdgeStart, EdgeElement.EdgeEnd);
EdgeEnd  :  IfcVertex :=  IfcBooleanChoose 
(Orientation, EdgeElement.EdgeEnd, EdgeElement.EdgeStart);
END_ENTITY;