Class Ifc4x1::IfcLocalPlacement

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcLocalPlacement : public Ifc4x1::IfcObjectPlacement

IfcLocalPlacement defines the relative placement of a product in relation to the placement of another product or the absolute placement of a product within the geometric representation context of the project. IfcLocalPlacement allows that an IfcProduct can be placed by this IfcLocalPlacement (through the attributeObjectPlacement) within the local coordinate system of the object placement of another IfcProduct, which is referenced by the PlacementRelTo. Rules to prevent cyclic relative placements have to be introduced on the application level. If the PlacementRelTo is not given, then the IfcProduct is placed absolutely within the world coordinate system.

HISTORY: New entity in IFC Release 1.0.

Geometry use definitions The following conventions shall apply as default relative positions if the relative placement is used. The conventions are given for all five direct subtypes of IfcProduct, the IfcSpatialStructureElement, IfcElement, IfcAnnotation, IfcGrid, IfcPort. More detailed placement information is given at the level of subtypes of those five types mentioned.

For the subtypes of IfcSpatialStructureElement the following conventions apply

IfcSite shall be placed absolutely within the world coordinate system established by the geometric representation context of the IfcProject IfcBuilding shall be placed relative to the local placement of IfcSite IfcBuildingStorey shall be placed relative to the local placement of IfcBuilding

For IfcGrid and IfcAnnotation the convention applies that it shall be placed relative

to the local placement of its container (IfcSite, IfcBuilding, IfcBuildingStorey)

it should be the same container element that is referenced by the IfcRelContainedInSpatialStructure containment relationship,

For IfcPort the convention applies that it shall be placed relative

to the local placement of the element it belongs to (IfcElement)

it should be the same element that is referenced by the IfcRelConnectsPortToElement connection relationship,

For IfcElement the convention applies that it shall be placed relative:

to the local placement of its container (IfcSite, IfcBuilding, IfcBuildingStorey)

it should be the same container element that is referenced by the IfcRelContainedInSpatialStructure containment relationship,

to the local placement of the IfcElement to which it is tied by an element composition relationship

for features that are located relative to the main component (such as openings), as expressed by IfcRelVoidsElement and IfcRelProjectsElement, for elements that fill an opening (such as doors or windows), as expressed byIfcRelFillsElement, for coverings that cover the element, as expressed byIfcRelCoversBldgElements, for sub components that are aggregated to the main component, as expressed by IIfcRelAggregates and IfcRelNests)

If the PlacementRelTo relationship is not given, then it defaults to an absolute placement within the world coordinate system established by the referenced geometric representation context within the project.

Public Types

typedef IfcTemplatedEntityList<IfcLocalPlacement> list

Public Functions

bool hasPlacementRelTo() const

Whether the optional attribute PlacementRelTo is defined for this IfcLocalPlacement.

::Ifc4x1::IfcObjectPlacement *PlacementRelTo() const

Reference to Object that provides the relative placement by its local coordinate system. If it is omitted, then the local placement is given to the WCS, established by the geometric representation context.

void setPlacementRelTo(::Ifc4x1::IfcObjectPlacement *v)
::Ifc4x1::IfcAxis2Placement *RelativePlacement() const

Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system.

void setRelativePlacement(::Ifc4x1::IfcAxis2Placement *v)
const IfcParse::entity &declaration() const
IfcLocalPlacement(IfcEntityInstanceData *e)
IfcLocalPlacement(::Ifc4x1::IfcObjectPlacement *v1_PlacementRelTo, ::Ifc4x1::IfcAxis2Placement *v2_RelativePlacement)

Public Static Functions

const IfcParse::entity &Class()