Class Ifc4::IfcEllipseProfileDef

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcEllipseProfileDef : public Ifc4::IfcParameterizedProfileDef

IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute.

HISTORY New entity in IFC2x

Figure 317 illustrates parameters for the ellipse 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 it is 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). The location of the position coordinate system defines the center of the ellipse. The SemiAxis1 attribute defines the first radius of the ellipse in the direction of the X axis, the SemiAxis2 attribute defines the second radius of the ellipse in the direction of the Y axis.

NOTE The semi axes of the ellipse are rectangular to each other by definition.

Figure 317 — Ellipse profile

Public Types

typedef IfcTemplatedEntityList<IfcEllipseProfileDef> list

Public Functions

double SemiAxis1() const

The first radius of the ellipse. It is measured along the direction of Position.P[1].

void setSemiAxis1(double v)
double SemiAxis2() const

The second radius of the ellipse. It is measured along the direction of Position.P[2].

void setSemiAxis2(double v)
const IfcParse::entity &declaration() const
IfcEllipseProfileDef(IfcEntityInstanceData *e)
IfcEllipseProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc4::IfcAxis2Placement2D *v3_Position, double v4_SemiAxis1, double v5_SemiAxis2)

Public Static Functions

const IfcParse::entity &Class()