Class Ifc2x3::IfcEllipse

Nested Relationships

This class is a nested type of Struct Ifc2x3.

Inheritance Relationships

Base Type

Class Documentation

class Ifc2x3::IfcEllipse : public Ifc2x3::IfcConic

Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows:

C = SELF\IfcConic.Position.Location

x = SELF\IfcConic.Position.P[1]

y = SELF\IfcConic.Position.P[2]

z = SELF\IfcConic.Position.P[3]

R1 = SemiAxis1 R2 = SemiAxis2 and the ellipse is parameterized as:

The parameterization range is 0 £ u £ 2p (or 0 £ u £ 360 degree). In the placement coordinate system defined above, the ellipse is the equation C = 0, where

The positive sense of the ellipse at any point is in the tangent direction, T, to the curve at the point, where

The inherited Position.Location from IfcConic is the center of the IfcEllipse, and the inherited Position.P[1] from IfcConic the direction of the SemiAxis1.

NOTE Corresponding ISO 10303 entity: ellipse. Please refer to ISO/IS 10303-42:1994, p. 39 for the final definition of the formal standard.

HISTORY New class in IFC Release 1.0

Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system.

Figure 280 — Ellipse geometry

Public Types

typedef IfcTemplatedEntityList<IfcEllipse> list

Public Functions

double SemiAxis1() const

The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1.

void setSemiAxis1(double v)
double SemiAxis2() const

The second radius of the ellipse which shall be positive.

void setSemiAxis2(double v)
const IfcParse::entity &declaration() const
IfcEllipse(IfcEntityInstanceData *e)
IfcEllipse(::Ifc2x3::IfcAxis2Placement *v1_Position, double v2_SemiAxis1, double v3_SemiAxis2)

Public Static Functions

const IfcParse::entity &Class()