Class Ifc4x1::IfcGeometricRepresentationSubContext

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcGeometricRepresentationSubContext : public Ifc4x1::IfcGeometricRepresentationContext

IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext.

The IfcGeometricRepresentationSubContext is used to define semantically distinguished representation types for different information content, dependent on the representation view and the target scale. It can be used to control the level of detail of the shape representation that is most applicable to this geometric representation context. addition the sub context is used to control the later appearance of the IfcShapeRepresentation within a plot view.

NOTE If the IfcShapeRepresentation using this sub context has IfcStyledItem’s assigned to the Items, the presentation style information (e.g. IfcCurveStyle, IfcTextStyle) associated with the IfcStyledItem is given in target plot dimensions. For example, a line thickness (IfcCurveStyle.CurveWidth) is given by a thickness measure relating to the thickness for a plot within the (range of) target scale.

Each IfcProduct can then have several instances of subtypes of IfcRepresentation, each being assigned to a different geometric representation context (IfcGeometricRepresentationContext or IfcGeometricRepresentationSubContext). The application can then choose the most appropriate representation for showing the geometric shape of the product, depending on the target view and scale.

NOTE The provision of a model view (IfcGeometricRepresentationContext.ContextType = ‘Model’) is mandatory. Instances of IfcGeometricRepresentationSubContext relate to it as its ParentContext.

EXAMPLE Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object.

HISTORY New entity in Release IFC 2x2.

Public Functions

::Ifc4x1::IfcGeometricRepresentationContext *ParentContext() const

Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north.

void setParentContext(::Ifc4x1::IfcGeometricRepresentationContext *v)
bool hasTargetScale() const

Whether the optional attribute TargetScale is defined for this IfcGeometricRepresentationSubContext.

double TargetScale() const

The target plot scale of the representation to which this representation context applies. Scale indicates the target plot scale for the representation sub context, all annotation styles are given in plot dimensions according to this target plot scale. If multiple instances of IfcGeometricRepresentationSubContext are given having the same TargetView value, the target plot scale applies up to the next smaller scale, or up to unlimited small scale.

Note: Scale 1:100 (given as 0.01 within TargetScale) is bigger then 1:200 (given as 0.005 within TargetScale).

void setTargetScale(double v)
::Ifc4x1::IfcGeometricProjectionEnum::Value TargetView() const

Target view of the representation to which this representation context applies.

void setTargetView(::Ifc4x1::IfcGeometricProjectionEnum::Value v)
bool hasUserDefinedTargetView() const

Whether the optional attribute UserDefinedTargetView is defined for this IfcGeometricRepresentationSubContext.

std::string UserDefinedTargetView() const

User defined target view, this attribute value shall be given, if the TargetView attribute is set to USERDEFINED.

void setUserDefinedTargetView(std::string v)
const IfcParse::entity &declaration() const
IfcGeometricRepresentationSubContext(IfcEntityInstanceData *e)
IfcGeometricRepresentationSubContext(boost::optional<std::string> v1_ContextIdentifier, boost::optional<std::string> v2_ContextType, ::Ifc4x1::IfcGeometricRepresentationContext *v7_ParentContext, boost::optional<double> v8_TargetScale, ::Ifc4x1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional<std::string> v10_UserDefinedTargetView)

Public Static Functions

const IfcParse::entity &Class()