Class Ifc4x2::IfcRoundedRectangleProfileDef

Nested Relationships

This class is a nested type of Struct Ifc4x2.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x2::IfcRoundedRectangleProfileDef : public Ifc4x2::IfcRectangleProfileDef

IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box.

HISTORY New class in IFC2x.

IFC2x PLATFORM CHANGE The IfcRoundedRectangleProfileDef is now subtyped from IfcRectangleProfileDef. The XDim and YDim attributes have been removed (now inherited from supertype).

Figure 324 illustrates parameters of the rounded 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 (e.g. upper-left bound). Parameter

The IfcRoundedRectangleProfileDef is defined within the position coordinate system, where the XDim defines the measure for the length of the rectangle (half along the positive x-axis), the YDim defines the length measure for the width of the rectangle (half along the positive y-axis) and the RoundingRadius defines the radius of curvature in all four corners of the rectangle.

Figure 324 — Rounded rectangle profile

Public Functions

double RoundingRadius() const

Radius of the circular arcs by which all four corners of the rectangle are equally rounded.

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

Public Static Functions

const IfcParse::entity &Class()