Class Ifc4x1::IfcMirroredProfileDef

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcMirroredProfileDef : public Ifc4x1::IfcDerivedProfileDef

The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped.


IfcMirroredProfileDef is primarily useful together with IfcCShapeProfileDef, IfcLShapeProfileDef, IfcUShapeProfileDef, or IfcZShapeProfileDef as parent profile but can be used with other parent profile types as well.

Mirroring of an IfcParameterizedProfileDef is performed after translation and rotation according to its Position attribute. For example, if the parent profile’s Position offsets it by half of its width to the right, then the mirrored profile will be offset by half of its width to the left.

Mirroring about the x axis, i.e. swapping top and bottom, can be achieved by mirroring about the y axis coupled with 180 degree rotation about the z axis. In general, rotation happens in a containing object such as IfcSweptAreaSolid, i.e. after mirroring by IfcMirroredProfileDef was performed. If the parent profile is an IfcParameterizedProfileDef, rotation can alternatively happen already in the parent profile by means of its Position attribute, i.e. before mirroring by IfcMirroredProfileDef was performed.

HISTORY New entity in IFC2x4.

Public Types

typedef IfcTemplatedEntityList<IfcMirroredProfileDef> list

Public Functions

const IfcParse::entity &declaration() const
IfcMirroredProfileDef(IfcEntityInstanceData *e)
IfcMirroredProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc4x1::IfcProfileDef *v3_ParentProfile, boost::optional<std::string> v5_Label)

Public Static Functions

const IfcParse::entity &Class()