Class Ifc4::IfcTrapeziumProfileDef

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcTrapeziumProfileDef : public Ifc4::IfcParameterizedProfileDef

IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, 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 IFC 1.5. The use definition has changed in IFC2x.

Figure 325 illustrates parameters of the trapezium 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 IfcTrapeziumProfileDef is defined within the position coordinate system, where the BottomDim defines the length measure for the bottom line (half along the positive x-axis) and the YDim defines the length measure for the parallel distance of bottom and top line (half along the positive y-axis). The top line starts with a distance of TopXOffset from [-BottomLine/2,YDim] (which can be negative, zero, or positive) and has a length of TopXDim along the positive x-axis.

Figure 325 — Trapezium profile

Public Functions

double BottomXDim() const

The extent of the bottom line measured along the implicit x-axis.

void setBottomXDim(double v)
double TopXDim() const

The extent of the top line measured along the implicit x-axis.

void setTopXDim(double v)
double YDim() const

The extent of the distance between the parallel bottom and top lines measured along the implicit y-axis.

void setYDim(double v)
double TopXOffset() const

Offset from the beginning of the top line to the bottom line, measured along the implicit x-axis.

void setTopXOffset(double v)
const IfcParse::entity &declaration() const
IfcTrapeziumProfileDef(IfcEntityInstanceData *e)
IfcTrapeziumProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc4::IfcAxis2Placement2D *v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset)

Public Static Functions

const IfcParse::entity &Class()