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:
|
|
|
SELF\IfcEdge.EdgeStart
|
:
|
IfcVertex := IfcBooleanChoose
(Orientation, EdgeElement.EdgeStart, EdgeElement.EdgeEnd);
|
SELF\IfcEdge.EdgeEnd
|
:
|
IfcVertex := IfcBooleanChoose
(Orientation, EdgeElement.EdgeEnd, EdgeElement.EdgeStart);
|
|
|
WR1
|
:
|
NOT('IFCTOPOLOGYRESOURCE.IFCORIENTEDEDGE' IN TYPEOF(EdgeElement));
|
|
|
|
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
|
|
|
EdgeStart
|
:
|
IfcVertex := IfcBooleanChoose
(Orientation, EdgeElement.EdgeStart, EdgeElement.EdgeEnd);
|
EdgeEnd
|
:
|
IfcVertex := IfcBooleanChoose
(Orientation, EdgeElement.EdgeEnd, EdgeElement.EdgeStart);
|
|
|
|