Class Ifc2x3::IfcGeometricRepresentationContext¶
Defined in File Ifc2x3.h
Nested Relationships¶
This class is a nested type of Struct Ifc2x3.
Inheritance Relationships¶
Base Type¶
public Ifc2x3::IfcRepresentationContext
(Class Ifc2x3::IfcRepresentationContext)
Derived Type¶
public Ifc2x3::IfcGeometricRepresentationSubContext
(Class Ifc2x3::IfcGeometricRepresentationSubContext)
Class Documentation¶

class
Ifc2x3
::
IfcGeometricRepresentationContext
: public Ifc2x3::IfcRepresentationContext¶ Definition from ISO/CD 1030342:1992: A geometric representation context is a representation context in which the geometric representation items are geometrically founded. A geometric representation context is a distinct coordinate space, spatially unrelated to other coordinate spaces.
IfcGeometricRepresentationContext defines the context that applies to several shape representations of products within a project. It defines the type of the context in which the shape representation is defined, and the numeric precision applicable to the geometric representation items defined in this context. In addition it can be used to offset the project coordinate system from a global point of origin, using the WorldCoordinateSystem attribute.
As shown in Figure 329, the TrueNorth attribute should be provided if the y axis of the WorldCoordinateSystem does not point to the global northing. Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system as established by the attribute WorldCoordinateSystem. It is given by a 2 dimensional direction within the xyplane of the project coordinate system. If not resent, it defaults to [0.,1.]  i.e. the positive Y axis of the project coordinate system equals the geographic northing direction. The direction is provided within project coordinate system and identifies the true north direction (see figure).
Figure 329 — Geometric representation context true north
NOTEThe inherited attribute ContextType shall have one of the following recognized values: ‘Sketch’, ‘Outline’, ‘Design’, ‘Detail’, ‘Model’, ‘Plan’, ‘NotDefined’.
The use of one instance of IfcGeometricRepresentationContext to represent the model (3D) view is mandatory, the use of a second instance of IfcGeometricRepresentationContext to represent the plan (2D) view is optional (but needs to be given, if there are scale dependent plan views), the additional scale or view dependent contexts need to be handled by using the subtype IfcGeometricRepresentationSubContext pointing to the model view (or the plan view) as the ParentContext.
Figure 330 illustrates use of representation contexts defined at IfcProject for 3D model and 2D plan context, including sub context definitions for different target scales.
Figure 330 — Geometric representation context use
NOTE The definition of this class relates to the ISO 10303 entity geometric_representation_context. Please refer to ISO/IS 1030342:1994 for the final definition of the formal standard.
HISTORYNew Entity in IFC Release 2.0
IFC2x3 CHANGEApplicable values for ContextType are only ‘Model’, ‘Plan’, and’NotDefined’. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed.
Subclassed by Ifc2x3::IfcGeometricRepresentationSubContext
Public Types

typedef IfcTemplatedEntityList<IfcGeometricRepresentationContext>
list
¶
Public Functions

int
CoordinateSpaceDimension
() const¶ The integer dimension count of the coordinate space modeled in a geometric representation context.

void
setCoordinateSpaceDimension
(int v)¶

bool
hasPrecision
() const¶ Whether the optional attribute Precision is defined for this IfcGeometricRepresentationContext.

double
Precision
() const¶ Value of the model precision for geometric models. It is a double value (REAL), typically in 1E5 to 1E8 range, that indicates the tolerance under which two given points are still assumed to be identical. The value can be used e.g. to sets the maximum distance from an edge curve to the underlying face surface in brep models.

void
setPrecision
(double v)¶

::Ifc2x3::IfcAxis2Placement *
WorldCoordinateSystem
() const¶ Establishment of the engineering coordinate system (often referred to as the world coordinate system in CAD) for all representation contexts used by the project.
Note it can be used to provide better numeric stability if the placement of the building(s) is far away from the origin. In most cases however it would be set to origin: (0.,0.,0.) and directions x(1.,0.,0.), y(0.,1.,0.), z(0.,0.,1.).

void
setWorldCoordinateSystem
(::Ifc2x3::IfcAxis2Placement *v)¶

bool
hasTrueNorth
() const¶ Whether the optional attribute TrueNorth is defined for this IfcGeometricRepresentationContext.

::Ifc2x3::IfcDirection *
TrueNorth
() const¶ Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system. It is given by a 2 dimensional direction within the xyplane of the project coordinate system. If not resent, it defaults to 0. 1.  i.e. the positive Y axis of the project coordinate system equals the geographic northing direction.

void
setTrueNorth
(::Ifc2x3::IfcDirection *v)¶

IfcTemplatedEntityList<IfcGeometricRepresentationSubContext>::ptr
HasSubContexts
() const¶

IfcGeometricRepresentationContext
(IfcEntityInstanceData *e)¶

IfcGeometricRepresentationContext
(boost::optional<std::string> v1_ContextIdentifier, boost::optional<std::string> v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional<double> v4_Precision, ::Ifc2x3::IfcAxis2Placement *v5_WorldCoordinateSystem, ::Ifc2x3::IfcDirection *v6_TrueNorth)¶

typedef IfcTemplatedEntityList<IfcGeometricRepresentationContext>