Class Ifc4x1::IfcFaceSurface

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class Ifc4x1::IfcFaceSurface : public Ifc4x1::IfcFace

Definition from ISO/CD 10303-42:1992: A face surface (IfcFaceSurface) is a subtype of face in which the geometry is defined by an associated surface. The portion of the surface used by the face shall be embeddable in the plane as an open disk, possibly with holes. However, the union of the face with the edges and vertices of its bounding loops need not be embeddable in the plane. It may, for example, cover an entire sphere or torus. As both a face and a geometric surface have defined normal directions, a BOOLEAN flag (the orientation attribute) is used to indicate whether the surface normal agrees with (TRUE) or is opposed to (FALSE) the face normal direction. The geometry associated with any component of the loops of the face shall be consistent with the surface geometry, in the sense that the domains of all the vertex points and edge curves are contained in the face geometry surface. A surface may be referenced by more than one face surface.

NOTE Corresponding ISO 10303 entity: face_surface. Please refer to ISO/IS 10303-42:1994, p. 204 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.

HISTORY New class in IFC2x

Informal propositions:

The domain of the face surface is formally defined to be the domain of its face geometry as trimmed by the loops, this domain does not include the bounding loops. A face surface has non zero finite extent. A face surface is a manifold. A face surface is arcwise connected. A face surface has surface genus 0. The loops are not part of the face domain. Loop geometry shall be consistent with face geometry. This implies that any edge - curves or vertex points used in defining the loops bounding the face surface shall lie on the face geometry. The loops of the face shall not intersect.

Subclassed by Ifc4x1::IfcAdvancedFace

Public Types

typedef IfcTemplatedEntityList<IfcFaceSurface> list

Public Functions

::Ifc4x1::IfcSurface *FaceSurface() const

The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds.

void setFaceSurface(::Ifc4x1::IfcSurface *v)
bool SameSense() const

This flag indicates whether the sense of the surface normal agrees with (TRUE), or opposes (FALSE), the sense of the topological normal to the face.

void setSameSense(bool v)
const IfcParse::entity &declaration() const
IfcFaceSurface(IfcEntityInstanceData *e)
IfcFaceSurface(IfcTemplatedEntityList<::Ifc4x1::IfcFaceBound>::ptr v1_Bounds, ::Ifc4x1::IfcSurface *v2_FaceSurface, bool v3_SameSense)

Public Static Functions

const IfcParse::entity &Class()