Class Ifc4x3_rc1::IfcEdge

Nested Relationships

This class is a nested type of Struct Ifc4x3_rc1.

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class Ifc4x3_rc1::IfcEdge : public Ifc4x3_rc1::IfcTopologicalRepresentationItem

Definition from ISO/CD 10303-42:1992: An edge is the topological construct corresponding to the connection of two vertices. More abstractly, it may stand for a logical relationship between two vertices. The domain of an edge, if present, is a finite, non-self-intersecting open curve in RM, that is, a connected 1-dimensional manifold. The bounds of an edge are two vertices, which need not be distinct. The edge is oriented by choosing its traversal direction to run from the first to the second vertex. If the two vertices are the same, the edge is a self loop. The domain of the edge does not include its bounds, and 0 ≤ Ξ ≤ ∞. Associated with an edge may be a geometric curve to locate the edge in a coordinate space; this is represented by the edge curve (IfcEdgeCurve) subtype. The curve shall be finite and non-self-intersecting within the domain of the edge. An edge is a graph, so its multiplicity M and graph genus Ge may be determined by the graph traversal algorithm. Since M = E = 1, the Euler equation (1) reduces in the case to

where V = 1 or 2, and Ge = 1 or 0. Specifically, the topological edge defining data shall satisfy:

  • an edge has two vertices

  • the vertices need not be distinct

  • Equation (2) shall hold.

The geometry between the two vertices defaults to a straight line if no curve geometry is assigned using the subtype IfcEdgeCurve. The IfcEdge can therefore be used to exchange straight edges without an associated geometry provided by IfcLine or IfcPolyline thought IfcEdgeCurve.EdgeGeometry.

Figure 333 illustrates an example where the bounds of the IfcEdge are given by the EdgeStart and EdgeEnd; this also determines the direction of the edge. The location within a coordinate space is determined by the IfcVertexPoint type for EdgeStart and EdgeEnd. Since no edge geometry is assigned, it defaults to a straight line agreeing to the direction sense.

Figure 333 — Edge representation

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

HISTORY New Entity in IFC Release 2.0

Informal propositions:

The edge has dimensionality 1. The extend of an edge shall be finite and nonzero.

Subclassed by Ifc4x3_rc1::IfcEdgeCurve, Ifc4x3_rc1::IfcOrientedEdge, Ifc4x3_rc1::IfcSubedge

Public Types

typedef IfcTemplatedEntityList<IfcEdge> list

Public Functions

::Ifc4x3_rc1::IfcVertex *EdgeStart() const

Start point (vertex) of the edge.

void setEdgeStart(::Ifc4x3_rc1::IfcVertex *v)
::Ifc4x3_rc1::IfcVertex *EdgeEnd() const

End point (vertex) of the edge. The same vertex can be used for both EdgeStart and EdgeEnd.

void setEdgeEnd(::Ifc4x3_rc1::IfcVertex *v)
const IfcParse::entity &declaration() const
IfcEdge(IfcEntityInstanceData *e)
IfcEdge(::Ifc4x3_rc1::IfcVertex *v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex *v2_EdgeEnd)

Public Static Functions

const IfcParse::entity &Class()