Open CASCADE Technology 7.8.2.dev
|
Describes a right-handed coordinate system in 3D space. A coordinate system is defined by: More...
#include <Geom_Axis2Placement.hxx>
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_Dir & | XDirection () const |
Returns the "XDirection". This is a unit vector. | |
const gp_Dir & | YDirection () 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_Geometry > | Copy () 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_Ax1 & | Axis () 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_Geometry > | Mirrored (const gp_Pnt &P) const |
Handle< Geom_Geometry > | Mirrored (const gp_Ax1 &A1) const |
Handle< Geom_Geometry > | Mirrored (const gp_Ax2 &A2) const |
Handle< Geom_Geometry > | Rotated (const gp_Ax1 &A1, const Standard_Real Ang) const |
Handle< Geom_Geometry > | Scaled (const gp_Pnt &P, const Standard_Real S) const |
Handle< Geom_Geometry > | Transformed (const gp_Trsf &T) const |
Handle< Geom_Geometry > | Translated (const gp_Vec &V) const |
Handle< Geom_Geometry > | Translated (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_Transient & | operator= (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_Transient * | This () 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 char * | get_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 |
Describes a right-handed coordinate system in 3D space. A coordinate system is defined by:
Geom_Axis2Placement::Geom_Axis2Placement | ( | const gp_Ax2 & | A2 | ) |
Returns a transient copy of A2.
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.
gp_Ax2 Geom_Axis2Placement::Ax2 | ( | ) | const |
Returns a non transient copy of <me>.
|
overridevirtual |
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.
|
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.
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.
|
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.
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.