Open CASCADE Technology 7.8.0
Public Member Functions
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:
Inheritance graph
[legend]

Public Member Functions

 Geom_Axis2Placement (const gp_Ax2 &A2)
 Returns a transient copy of A2.
 
 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.
 
void SetAx2 (const gp_Ax2 &A2)
 Assigns the origin and the three unit vectors of A2 to this coordinate system.
 
void SetDirection (const gp_Dir &V) override
 Changes the main direction of the axis placement. The "Xdirection" is modified : New XDirection = V ^ (Previous_Xdirection ^ V).
 
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.
 
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.
 
gp_Ax2 Ax2 () const
 Returns a non transient copy of <me>.
 
const gp_DirXDirection () const
 Returns the "XDirection". This is a unit vector.
 
const gp_DirYDirection () const
 Returns the "YDirection". This is a unit vector.
 
void Transform (const gp_Trsf &T) override
 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.
 
Handle< Geom_GeometryCopy () const override
 Creates a new object which is a copy of this coordinate system.
 
- 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.
 
void SetLocation (const gp_Pnt &P)
 Assigns the point P as the origin of this positioning system.
 
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.
 
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>.
 
gp_Dir Direction () const
 Returns the main "Direction" of an axis placement.
 
gp_Pnt Location () const
 Returns the Location point (origin) of the axis placement.
 
- 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.
 
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.
 
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).
 
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.
 
void Scale (const gp_Pnt &P, const Standard_Real S)
 Scales a Geometry. S is the scaling value.
 
void Translate (const gp_Vec &V)
 Translates a Geometry. V is the vector of the translation.
 
void Translate (const gp_Pnt &P1, const gp_Pnt &P2)
 Translates a Geometry from the point P1 to the point P2.
 
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
 
virtual void DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const
 Dumps the content of me into the stream.
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean IsKind (const opencascade::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.
 
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.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 
- 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:

Constructor & Destructor Documentation

◆ Geom_Axis2Placement() [1/2]

Geom_Axis2Placement::Geom_Axis2Placement ( const gp_Ax2 A2)

Returns a transient copy of A2.

◆ Geom_Axis2Placement() [2/2]

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

◆ Ax2()

gp_Ax2 Geom_Axis2Placement::Ax2 ( ) const

Returns a non transient copy of <me>.

◆ Copy()

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

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

Implements Geom_Geometry.

◆ SetAx2()

void Geom_Axis2Placement::SetAx2 ( const gp_Ax2 A2)

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

◆ SetDirection()

void Geom_Axis2Placement::SetDirection ( const gp_Dir V)
overridevirtual

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.

◆ SetXDirection()

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.

◆ SetYDirection()

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.

◆ Transform()

void Geom_Axis2Placement::Transform ( const gp_Trsf T)
overridevirtual

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.

◆ XDirection()

const gp_Dir & Geom_Axis2Placement::XDirection ( ) const

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

◆ YDirection()

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: