IfcOrientedEdge

Natural language names
deGerichtete Kante - Topologie
enOriented Edge
frArête orientée
Change log
ItemSPFXMLChangeDescription
IFC4 Addendum 1
    IfcOrientedEdge
      OrientationMODIFIEDType changed from BOOLEAN to IfcBoolean.
Semantic definitions at the entity
Entity definition

NOTE  Definition according to 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.

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  Entity adapted from oriented_edge defined in ISO 10303-42.
HISTORY  New entity in IFC2.0.
Attribute definitions
#AttributeTypeCardinalityDescription C
3EdgeElementIfcEdge[1:1] Edge entity used to construct this oriented edge. X
4OrientationIfcBoolean[1:1] 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. X
EdgeStart
:=IfcBooleanChoose (Orientation, EdgeElement.EdgeStart, EdgeElement.EdgeEnd)
IfcVertex[1:1]The start vertex of the oriented edge. It derives from the vertices of the edge element after taking account of the orientation. X
EdgeEnd
:=IfcBooleanChoose (Orientation, EdgeElement.EdgeEnd, EdgeElement.EdgeStart)
IfcVertex[1:1]The end vertex of the oriented edge. It derives from the vertices of the edge element after taking account of the orientation. X
Formal Propositions
RuleDescription
EdgeElementNotOrientedThe edge element shall not be an oriented edge.
Inherited definitions from supertypes
Entity inheritance IfcEdge IfcTopologicalRepresentationItem IfcRepresentationItem
Attribute inheritance
#AttributeTypeCardinalityDescriptionC
IfcRepresentationItem
LayerAssignmentIfcPresentationLayerAssignment
@AssignedItems
S[0:1]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. X
StyledByItemIfcStyledItem
@Item
S[0:1]Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve. X
IfcTopologicalRepresentationItem
IfcEdge
IfcOrientedEdge
3EdgeElementIfcEdge[1:1] Edge entity used to construct this oriented edge. X
4OrientationIfcBoolean[1:1] 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. X
EdgeStart
:=IfcBooleanChoose (Orientation, EdgeElement.EdgeStart, EdgeElement.EdgeEnd)
IfcVertex[1:1]The start vertex of the oriented edge. It derives from the vertices of the edge element after taking account of the orientation. X
EdgeEnd
:=IfcBooleanChoose (Orientation, EdgeElement.EdgeEnd, EdgeElement.EdgeStart)
IfcVertex[1:1]The end vertex of the oriented edge. It derives from the vertices of the edge element after taking account of the orientation. X
Formal representations
XSD Specification
 <xs:complexType name="IfcOrientedEdge-temp" abstract="true">
  <xs:complexContent>
   <xs:restriction base="ifc:IfcEdge">
    <xs:sequence/>
   </xs:restriction>
  </xs:complexContent>
 </xs:complexType>
 <xs:element name="IfcOrientedEdge" type="ifc:IfcOrientedEdge" substitutionGroup="ifc:IfcEdge" nillable="true"/>
 <xs:complexType name="IfcOrientedEdge">
  <xs:complexContent>
   <xs:extension base="ifc:IfcOrientedEdge-temp">
    <xs:sequence>
     <xs:element name="EdgeElement" type="ifc:IfcEdge" nillable="true"/>
    </xs:sequence>
    <xs:attribute name="Orientation" type="ifc:IfcBoolean" use="optional"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
ENTITY IfcOrientedEdge
 SUBTYPE OF (IfcEdge);
  EdgeElement : IfcEdge;
  Orientation : IfcBoolean;
 DERIVE
  SELF\IfcEdge.EdgeStart : IfcVertex := IfcBooleanChoose (Orientation, EdgeElement.EdgeStart, EdgeElement.EdgeEnd);
  SELF\IfcEdge.EdgeEnd : IfcVertex := IfcBooleanChoose (Orientation, EdgeElement.EdgeEnd, EdgeElement.EdgeStart);
 WHERE
  EdgeElementNotOriented : NOT('IFCTOPOLOGYRESOURCE.IFCORIENTEDEDGE' IN TYPEOF(EdgeElement));
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

Link to this page  Link to this page