Class Ifc2x3::IfcAxis2Placement3D

Nested Relationships

This class is a nested type of Struct Ifc2x3.

Inheritance Relationships

Base Type

Class Documentation

class Ifc2x3::IfcAxis2Placement3D : public Ifc2x3::IfcPlacement

Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction.

If the attribute values for Axis and RefDirection are not given, the placement defaults to P[1] (x-axis) as [1.,0.,0.], P[2] (y-axis) as [0.,1.,0.] and P[3] (z-axis) as [0.,0.,1.].

NOTE Corresponding ISO 10303 name: axis2_placement_3d, please refer to ISO/IS 10303-42:1994 for the final definition of the formal standard. The WR5 is added to ensure that either both attributes Axis and RefDirection are given, or both are omitted.

HISTORY New entity in IFC Release 1.5.

Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system.

Figure 276 — Axis2 placement 3D

Public Types

typedef IfcTemplatedEntityList<IfcAxis2Placement3D> list

Public Functions

bool hasAxis() const

Whether the optional attribute Axis is defined for this IfcAxis2Placement3D.

::Ifc2x3::IfcDirection *Axis() const

The exact direction of the local Z Axis.

void setAxis(::Ifc2x3::IfcDirection *v)
bool hasRefDirection() const

Whether the optional attribute RefDirection is defined for this IfcAxis2Placement3D.

::Ifc2x3::IfcDirection *RefDirection() const

The direction used to determine the direction of the local X Axis. If necessary an adjustment is made to maintain orthogonality to the Axis direction. If Axis and/or RefDirection is omitted, these directions are taken from the geometric coordinate system.

void setRefDirection(::Ifc2x3::IfcDirection *v)
const IfcParse::entity &declaration() const
IfcAxis2Placement3D(IfcEntityInstanceData *e)
IfcAxis2Placement3D(::Ifc2x3::IfcCartesianPoint *v1_Location, ::Ifc2x3::IfcDirection *v2_Axis, ::Ifc2x3::IfcDirection *v3_RefDirection)

Public Static Functions

const IfcParse::entity &Class()