Class Ifc4::IfcRectangleProfileDef

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class Ifc4::IfcRectangleProfileDef : public Ifc4::IfcParameterizedProfileDef

IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system.

HISTORY: New class in IFC 1.5. The use definition has changed in IFC Release 2x.

Figure 323 illustrates parameters of the rectangle profile definition.


The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:

IfcSweptSurface.Position IfcSweptAreaSolid.Position

or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions.

By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). Parameter

The IfcRectangleProfileDef is defined within the position coordinate system, where the XDim defines the length measure for the length of the rectangle (half along the positive x-axis) and the YDim defines the length measure for the width of the rectangle (half along the positive y-axis).

Figure 323 — Rectangle profile

Subclassed by Ifc4::IfcRectangleHollowProfileDef, Ifc4::IfcRoundedRectangleProfileDef

Public Functions

double XDim() const

The extent of the rectangle in the direction of the x-axis.

void setXDim(double v)
double YDim() const

The extent of the rectangle in the direction of the y-axis.

void setYDim(double v)
const IfcParse::entity &declaration() const
IfcRectangleProfileDef(IfcEntityInstanceData *e)
IfcRectangleProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc4::IfcAxis2Placement2D *v3_Position, double v4_XDim, double v5_YDim)

Public Static Functions

const IfcParse::entity &Class()