Class Ifc4x1::IfcPolyLoop

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcPolyLoop : public Ifc4x1::IfcLoop

Definition from ISO/CD 10303-42:1992: A poly loop is a loop with straight edges bounding a planar region in space. A poly loop is a loop of genus 1 where the loop is represented by an ordered coplanar collection of points forming the vertices of the loop. The loop is composed of straight line segments joining a point in the collection to the succeeding point in the collection. The closing segment is from the last to the first point in the collection. The direction of the loop is in the direction of the line segments.

NOTE This entity exists primarily to facilitate the efficient communication of faceted B-rep models.

A poly loop shall conform to the following topological constraints:

  • the loop has the genus of one.

    • the following equation shall be satisfied

The IfcPolyLoop is always closed and the last segment is from the last IfcCartesianPoint in the list of Polygon’s to the first IfcCartesianPoint. Therefore the first point shall not be repeated at the end of the list, neither by referencing the same instance, nor by using an additional instance ofIfcCartesianPoint having the coordinates as the first point.

NOTE Corresponding ISO 10303 entity: poly_loop. Please refer to ISO/IS 10303-42:1994, p. 138 for the final definition of the formal standard. Due to the general IFC model specification rule not to use multiple inheritance, the subtype relationship to geometric_representation_item is not included. The derived attribute Dim has been added at this level.

HISTORY New class in IFC Release 1.0

Informal propositions:

All the points in the polygon defining the poly loop shall be coplanar. The first and the last Polygon shall be different by value.

Public Types

typedef IfcTemplatedEntityList<IfcPolyLoop> list

Public Functions

IfcTemplatedEntityList<::Ifc4x1::IfcCartesianPoint>::ptr Polygon() const

List of points defining the loop. There are no repeated points in the list.

void setPolygon(IfcTemplatedEntityList<::Ifc4x1::IfcCartesianPoint>::ptr v)
const IfcParse::entity &declaration() const
IfcPolyLoop(IfcEntityInstanceData *e)
IfcPolyLoop(IfcTemplatedEntityList<::Ifc4x1::IfcCartesianPoint>::ptr v1_Polygon)

Public Static Functions

const IfcParse::entity &Class()