Geom_Axis2Placement Class Reference

Describes a right-handed coordinate system in 3D space. A coordinate system is defined by: More...

`#include <Geom_Axis2Placement.hxx>`

Inheritance diagram for Geom_Axis2Placement: [legend]

## Public Member Functions

Geom_Axis2Placement (const gp_Ax2 &A2)
Returns a transient copy of A2. More...

Geom_Axis2Placement (const gp_Pnt &P, const gp_Dir &N, const gp_Dir &Vx)
P is the origin of the axis placement, N is the main direction of the axis placement and Vx is the "XDirection". If the two directions N and Vx are not orthogonal the "XDirection" is computed as follow : XDirection = N ^ (Vx ^ N). Raised if N and Vx are parallel. More...

void SetAx2 (const gp_Ax2 &A2)
Assigns the origin and the three unit vectors of A2 to this coordinate system. More...

void SetDirection (const gp_Dir &V)
Changes the main direction of the axis placement. The "Xdirection" is modified : New XDirection = V ^ (Previous_Xdirection ^ V). More...

void SetXDirection (const gp_Dir &Vx)
Changes the "XDirection" of the axis placement, Vx is the new "XDirection". If Vx is not normal to the main direction then "XDirection" is computed as follow : XDirection = Direction ^ ( Vx ^ Direction). The main direction is not modified. Raised if Vx and "Direction" are parallel. More...

void SetYDirection (const gp_Dir &Vy)
Changes the "YDirection" of the axis placement, Vy is the new "YDirection". If Vy is not normal to the main direction then "YDirection" is computed as follow : YDirection = Direction ^ ( Vy ^ Direction). The main direction is not modified. The "XDirection" is modified. Raised if Vy and the main direction are parallel. More...

gp_Ax2 Ax2 () const
Returns a non transient copy of <me>. More...

const gp_DirXDirection () const
Returns the "XDirection". This is a unit vector. More...

const gp_DirYDirection () const
Returns the "YDirection". This is a unit vector. More...

void Transform (const gp_Trsf &T)
Transforms an axis placement with a Trsf. The "Location" point, the "XDirection" and the "YDirection" are transformed with T. The resulting main "Direction" of <me> is the cross product between the "XDirection" and the "YDirection" after transformation. More...

Handle< Geom_GeometryCopy () const
Creates a new object which is a copy of this coordinate system. More... Public Member Functions inherited from Geom_AxisPlacement
void SetAxis (const gp_Ax1 &A1)
Assigns A1 as the "main Axis" of this positioning system. This modifies. More...

void SetLocation (const gp_Pnt &P)
Assigns the point P as the origin of this positioning system. More...

Standard_Real Angle (const Handle< Geom_AxisPlacement > &Other) const
Computes the angular value, in radians, between the "main Direction" of this positioning system and that of positioning system Other. The result is a value between 0 and Pi. More...

const gp_Ax1Axis () const
Returns the main axis of the axis placement. For an "Axis2placement" it is the main axis (Location, Direction ). For an "Axis1Placement" this method returns a copy of <me>. More...

gp_Dir Direction () const
Returns the main "Direction" of an axis placement. More...

gp_Pnt Location () const
Returns the Location point (origin) of the axis placement. More... Public Member Functions inherited from Geom_Geometry
void Mirror (const gp_Pnt &P)
Performs the symmetrical transformation of a Geometry with respect to the point P which is the center of the symmetry. More...

void Mirror (const gp_Ax1 &A1)
Performs the symmetrical transformation of a Geometry with respect to an axis placement which is the axis of the symmetry. More...

void Mirror (const gp_Ax2 &A2)
Performs the symmetrical transformation of a Geometry with respect to a plane. The axis placement A2 locates the plane of the symmetry : (Location, XDirection, YDirection). More...

void Rotate (const gp_Ax1 &A1, const Standard_Real Ang)
Rotates a Geometry. A1 is the axis of the rotation. Ang is the angular value of the rotation in radians. More...

void Scale (const gp_Pnt &P, const Standard_Real S)
Scales a Geometry. S is the scaling value. More...

void Translate (const gp_Vec &V)
Translates a Geometry. V is the vector of the tanslation. More...

void Translate (const gp_Pnt &P1, const gp_Pnt &P2)
Translates a Geometry from the point P1 to the point P2. More...

Handle< Geom_GeometryMirrored (const gp_Pnt &P) const

Handle< Geom_GeometryMirrored (const gp_Ax1 &A1) const

Handle< Geom_GeometryMirrored (const gp_Ax2 &A2) const

Handle< Geom_GeometryRotated (const gp_Ax1 &A1, const Standard_Real Ang) const

Handle< Geom_GeometryScaled (const gp_Pnt &P, const Standard_Real S) const

Handle< Geom_GeometryTransformed (const gp_Trsf &T) const

Handle< Geom_GeometryTranslated (const gp_Vec &V) const

Handle< Geom_GeometryTranslated (const gp_Pnt &P1, const gp_Pnt &P2) const Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
Memory deallocator for transient classes. More... Public Member Functions inherited from Standard_Transient
Standard_Transient ()
Empty constructor. More...

Standard_Transient (const Standard_Transient &)
Copy constructor – does nothing. More...

Standard_Transientoperator= (const Standard_Transient &)
Assignment operator, needed to avoid copying reference counter. More...

virtual ~Standard_Transient ()
Destructor must be virtual. More...

virtual const Handle_Standard_Type & DynamicType () const

Standard_Boolean IsInstance (const Handle_Standard_Type &theType) const
Returns a true value if this is an instance of Type. More...

Standard_Boolean IsInstance (const Standard_CString theTypeName) const
Returns a true value if this is an instance of TypeName. More...

Standard_Boolean IsKind (const Handle_Standard_Type &theType) const
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...

Standard_Boolean IsKind (const Standard_CString theTypeName) const
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...

virtual Handle_Standard_Transient This () const
Returns a Handle which references this object. Must never be called to objects created in stack. More...

Standard_Integer GetRefCount () const
Get the reference counter of this object. More... Protected Attributes inherited from Geom_AxisPlacement
gp_Ax1 axis

## Detailed Description

Describes a right-handed coordinate system in 3D space. A coordinate system is defined by:

• its origin, also termed the "Location point" of the coordinate system,
• three orthogonal unit vectors, termed respectively the "X Direction", "Y Direction" and "Direction" (or "main Direction") of the coordinate system. As a Geom_Axis2Placement coordinate system is right-handed, its "Direction" is always equal to the cross product of its "X Direction" and "Y Direction". The "Direction" of a coordinate system is called the "main Direction" because when this unit vector is modified, the "X Direction" and "Y Direction" are recomputed, whereas when the "X Direction" or "Y Direction" is changed, the "main Direction" is retained. The "main Direction" is also the "Z Direction". Note: Geom_Axis2Placement coordinate systems provide the same kind of "geometric" services as gp_Ax2 coordinate systems but have more complex data structures. The geometric objects provided by the Geom package use gp_Ax2 objects to include coordinate systems in their data structures, or to define the geometric transformations, which are applied to them. Geom_Axis2Placement coordinate systems are used in a context where they can be shared by several objects contained inside a common data structure.

## Constructor & Destructor Documentation

 Geom_Axis2Placement::Geom_Axis2Placement ( const gp_Ax2 & A2 )

Returns a transient copy of A2.

 Geom_Axis2Placement::Geom_Axis2Placement ( const gp_Pnt & P, const gp_Dir & N, const gp_Dir & Vx )

P is the origin of the axis placement, N is the main direction of the axis placement and Vx is the "XDirection". If the two directions N and Vx are not orthogonal the "XDirection" is computed as follow : XDirection = N ^ (Vx ^ N). Raised if N and Vx are parallel.

## Member Function Documentation

 gp_Ax2 Geom_Axis2Placement::Ax2 ( ) const

Returns a non transient copy of <me>.

 Handle< Geom_Geometry > Geom_Axis2Placement::Copy ( ) const
virtual

Creates a new object which is a copy of this coordinate system.

Implements Geom_Geometry.

 void Geom_Axis2Placement::SetAx2 ( const gp_Ax2 & A2 )

Assigns the origin and the three unit vectors of A2 to this coordinate system.

 void Geom_Axis2Placement::SetDirection ( const gp_Dir & V )
virtual

Changes the main direction of the axis placement. The "Xdirection" is modified : New XDirection = V ^ (Previous_Xdirection ^ V).

Raised if V and the previous "XDirection" are parallel because it is impossible to calculate the new "XDirection" and the new "YDirection".

Implements Geom_AxisPlacement.

 void Geom_Axis2Placement::SetXDirection ( const gp_Dir & Vx )

Changes the "XDirection" of the axis placement, Vx is the new "XDirection". If Vx is not normal to the main direction then "XDirection" is computed as follow : XDirection = Direction ^ ( Vx ^ Direction). The main direction is not modified. Raised if Vx and "Direction" are parallel.

 void Geom_Axis2Placement::SetYDirection ( const gp_Dir & Vy )

Changes the "YDirection" of the axis placement, Vy is the new "YDirection". If Vy is not normal to the main direction then "YDirection" is computed as follow : YDirection = Direction ^ ( Vy ^ Direction). The main direction is not modified. The "XDirection" is modified. Raised if Vy and the main direction are parallel.

 void Geom_Axis2Placement::Transform ( const gp_Trsf & T )
virtual

Transforms an axis placement with a Trsf. The "Location" point, the "XDirection" and the "YDirection" are transformed with T. The resulting main "Direction" of <me> is the cross product between the "XDirection" and the "YDirection" after transformation.

Implements Geom_Geometry.

 const gp_Dir& Geom_Axis2Placement::XDirection ( ) const

Returns the "XDirection". This is a unit vector.

 const gp_Dir& Geom_Axis2Placement::YDirection ( ) const

Returns the "YDirection". This is a unit vector.

The documentation for this class was generated from the following file: