![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
Describes a coordinate system in 3D space. Unlike a gp_Ax2 coordinate system, a gp_Ax3 can be right-handed ("direct sense") or left-handed ("indirect sense"). A coordinate system is defined by: More...
#include <gp_Ax3.hxx>
Public Member Functions | |
| constexpr | gp_Ax3 () noexcept |
| Creates an object corresponding to the reference coordinate system (OXYZ). | |
| gp_Ax3 (const gp_Ax2 &theA) | |
| Creates a coordinate system from a right-handed coordinate system. | |
| gp_Ax3 (const gp_Pnt &theP, const gp_Dir &theN, const gp_Dir &theVx) | |
| Creates a right handed axis placement with the "Location" point theP and two directions, theN gives the "Direction" and theVx gives the "XDirection". Raises ConstructionError if theN and theVx are parallel (same or opposite orientation). | |
| constexpr | gp_Ax3 (const gp_Pnt &theP, const gp_Dir::D theN, const gp_Dir::D theVx) noexcept |
| Creates an axis placement with standard directions. This constructor allows constexpr and noexcept construction when using standard directions. | |
| gp_Ax3 (const gp_Pnt &theP, const gp_Dir &theV) | |
| Creates an axis placement with the "Location" point <theP> and the normal direction <theV>. | |
| constexpr | gp_Ax3 (const gp_Pnt &theP, const gp_Dir::D theV) noexcept |
| Creates an axis placement with the given location point and standard direction. | |
| constexpr | gp_Ax3 (const gp_Dir::D theV) noexcept |
| Creates an axis placement at the origin with the given standard direction. | |
| constexpr void | XReverse () noexcept |
| Reverses the X direction of <me>. | |
| constexpr void | YReverse () noexcept |
| Reverses the Y direction of <me>. | |
| constexpr void | ZReverse () noexcept |
| Reverses the Z direction of <me>. | |
| void | SetAxis (const gp_Ax1 &theA1) |
| Assigns the origin and "main Direction" of the axis theA1 to this coordinate system, then recomputes its "X Direction" and "Y Direction". Note: | |
| void | SetDirection (const gp_Dir &theV) |
| Changes the main direction of this coordinate system, then recomputes its "X Direction" and "Y Direction". Note: | |
| constexpr void | SetLocation (const gp_Pnt &theP) noexcept |
| Changes the "Location" point (origin) of <me>. | |
| void | SetXDirection (const gp_Dir &theVx) |
| Changes the "Xdirection" of <me>. The main direction "Direction" is not modified, the "Ydirection" is modified. If <theVx> is not normal to the main direction then <XDirection> is computed as follows XDirection = Direction ^ (theVx ^ Direction). Raises ConstructionError if <theVx> is parallel (same or opposite orientation) to the main direction of <me> | |
| void | SetYDirection (const gp_Dir &theVy) |
| Changes the "Ydirection" of <me>. The main direction is not modified but the "Xdirection" is changed. If <theVy> is not normal to the main direction then "YDirection" is computed as follows YDirection = Direction ^ (<theVy> ^ Direction). Raises ConstructionError if <theVy> is parallel to the main direction of <me> | |
| double | Angle (const gp_Ax3 &theOther) const |
| Computes the angular value between the main direction of <me> and the main direction of <theOther>. Returns the angle between 0 and PI in radians. | |
| constexpr const gp_Ax1 & | Axis () const noexcept |
| Returns the main axis of <me>. It is the "Location" point and the main "Direction". | |
| gp_Ax2 | Ax2 () const |
| Computes a right-handed coordinate system with the same "X Direction" and "Y Direction" as those of this coordinate system, then recomputes the "main Direction". If this coordinate system is right-handed, the result returned is the same coordinate system. If this coordinate system is left-handed, the result is reversed. | |
| constexpr const gp_Dir & | Direction () const noexcept |
| Returns the main direction of <me>. | |
| constexpr const gp_Pnt & | Location () const noexcept |
| Returns the "Location" point (origin) of <me>. | |
| constexpr const gp_Dir & | XDirection () const noexcept |
| Returns the "XDirection" of <me>. | |
| constexpr const gp_Dir & | YDirection () const noexcept |
| Returns the "YDirection" of <me>. | |
| constexpr bool | Direct () const |
| Returns True if the coordinate system is right-handed. i.e. XDirection().Crossed(YDirection()).Dot(Direction()) > 0. | |
| bool | IsCoplanar (const gp_Ax3 &theOther, const double theLinearTolerance, const double theAngularTolerance) const |
| Returns True if . the distance between the "Location" point of <me> and <theOther> is lower or equal to theLinearTolerance and . the distance between the "Location" point of <theOther> and <me> is lower or equal to theLinearTolerance and . the main direction of <me> and the main direction of <theOther> are parallel (same or opposite orientation). | |
| bool | IsCoplanar (const gp_Ax1 &theA1, const double theLinearTolerance, const double theAngularTolerance) const |
| Returns True if . the distance between <me> and the "Location" point of theA1 is lower of equal to theLinearTolerance and . the distance between theA1 and the "Location" point of <me> is lower or equal to theLinearTolerance and . the main direction of <me> and the direction of theA1 are normal. | |
| void | Mirror (const gp_Pnt &theP) noexcept |
| gp_Ax3 | Mirrored (const gp_Pnt &theP) const noexcept |
| Performs the symmetrical transformation of an axis placement with respect to the point theP which is the center of the symmetry. Warnings : The main direction of the axis placement is not changed. The "XDirection" and the "YDirection" are reversed. So the axis placement stay right handed. | |
| void | Mirror (const gp_Ax1 &theA1) noexcept |
| gp_Ax3 | Mirrored (const gp_Ax1 &theA1) const noexcept |
| Performs the symmetrical transformation of an axis placement with respect to an axis placement which is the axis of the symmetry. The transformation is performed on the "Location" point, on the "XDirection" and "YDirection". The resulting main "Direction" is the cross product between the "XDirection" and the "YDirection" after transformation. | |
| void | Mirror (const gp_Ax2 &theA2) noexcept |
| gp_Ax3 | Mirrored (const gp_Ax2 &theA2) const noexcept |
| Performs the symmetrical transformation of an axis placement with respect to a plane. The axis placement <theA2> locates the plane of the symmetry: (Location, XDirection, YDirection). The transformation is performed on the "Location" point, on the "XDirection" and "YDirection". The resulting main "Direction" is the cross product between the "XDirection" and the "YDirection" after transformation. | |
| void | Rotate (const gp_Ax1 &theA1, const double theAng) |
| gp_Ax3 | Rotated (const gp_Ax1 &theA1, const double theAng) const |
| Rotates an axis placement. <theA1> is the axis of the rotation. theAng is the angular value of the rotation in radians. | |
| void | Scale (const gp_Pnt &theP, const double theS) |
| gp_Ax3 | Scaled (const gp_Pnt &theP, const double theS) const |
| Applies a scaling transformation on the axis placement. The "Location" point of the axisplacement is modified. Warnings: If the scale <theS> is negative : . the main direction of the axis placement is not changed. . The "XDirection" and the "YDirection" are reversed. So the axis placement stay right handed. | |
| void | Transform (const gp_Trsf &theT) |
| gp_Ax3 | Transformed (const gp_Trsf &theT) const |
| Transforms an axis placement with a Trsf. The "Location" point, the "XDirection" and the "YDirection" are transformed with theT. The resulting main "Direction" of <me> is the cross product between the "XDirection" and the "YDirection" after transformation. | |
| constexpr void | Translate (const gp_Vec &theV) noexcept |
| constexpr gp_Ax3 | Translated (const gp_Vec &theV) const noexcept |
| Translates an axis plaxement in the direction of the vector <theV>. The magnitude of the translation is the vector's magnitude. | |
| constexpr void | Translate (const gp_Pnt &theP1, const gp_Pnt &theP2) noexcept |
| constexpr gp_Ax3 | Translated (const gp_Pnt &theP1, const gp_Pnt &theP2) const noexcept |
| Translates an axis placement from the point <theP1> to the point <theP2>. | |
| void | DumpJson (Standard_OStream &theOStream, int theDepth=-1) const |
| Dumps the content of me into the stream. | |
| bool | InitFromJson (const Standard_SStream &theSStream, int &theStreamPos) |
| Inits the content of me from the stream. | |
Describes a coordinate system in 3D space. Unlike a gp_Ax2 coordinate system, a gp_Ax3 can be right-handed ("direct sense") or left-handed ("indirect sense"). A coordinate system is defined by:
|
inlineconstexprnoexcept |
Creates an object corresponding to the reference coordinate system (OXYZ).
|
inline |
Creates a coordinate system from a right-handed coordinate system.
Creates a right handed axis placement with the "Location" point theP and two directions, theN gives the "Direction" and theVx gives the "XDirection". Raises ConstructionError if theN and theVx are parallel (same or opposite orientation).
|
inlineconstexprnoexcept |
Creates an axis placement with standard directions. This constructor allows constexpr and noexcept construction when using standard directions.
Creates an axis placement with the "Location" point <theP> and the normal direction <theV>.
Creates an axis placement with the given location point and standard direction.
Creates an axis placement at the origin with the given standard direction.
Computes the angular value between the main direction of <me> and the main direction of <theOther>. Returns the angle between 0 and PI in radians.
|
inline |
Computes a right-handed coordinate system with the same "X Direction" and "Y Direction" as those of this coordinate system, then recomputes the "main Direction". If this coordinate system is right-handed, the result returned is the same coordinate system. If this coordinate system is left-handed, the result is reversed.
Returns the main axis of <me>. It is the "Location" point and the main "Direction".
Returns True if the coordinate system is right-handed. i.e. XDirection().Crossed(YDirection()).Dot(Direction()) > 0.
Returns the main direction of <me>.
| void gp_Ax3::DumpJson | ( | Standard_OStream & | theOStream, |
| int | theDepth = -1 ) const |
Dumps the content of me into the stream.
| bool gp_Ax3::InitFromJson | ( | const Standard_SStream & | theSStream, |
| int & | theStreamPos ) |
Inits the content of me from the stream.
|
inline |
Returns True if . the distance between <me> and the "Location" point of theA1 is lower of equal to theLinearTolerance and . the distance between theA1 and the "Location" point of <me> is lower or equal to theLinearTolerance and . the main direction of <me> and the direction of theA1 are normal.
|
inline |
Returns True if . the distance between the "Location" point of <me> and <theOther> is lower or equal to theLinearTolerance and . the distance between the "Location" point of <theOther> and <me> is lower or equal to theLinearTolerance and . the main direction of <me> and the main direction of <theOther> are parallel (same or opposite orientation).
Returns the "Location" point (origin) of <me>.
Performs the symmetrical transformation of an axis placement with respect to an axis placement which is the axis of the symmetry. The transformation is performed on the "Location" point, on the "XDirection" and "YDirection". The resulting main "Direction" is the cross product between the "XDirection" and the "YDirection" after transformation.
Performs the symmetrical transformation of an axis placement with respect to a plane. The axis placement <theA2> locates the plane of the symmetry: (Location, XDirection, YDirection). The transformation is performed on the "Location" point, on the "XDirection" and "YDirection". The resulting main "Direction" is the cross product between the "XDirection" and the "YDirection" after transformation.
Performs the symmetrical transformation of an axis placement with respect to the point theP which is the center of the symmetry. Warnings : The main direction of the axis placement is not changed. The "XDirection" and the "YDirection" are reversed. So the axis placement stay right handed.
Rotates an axis placement. <theA1> is the axis of the rotation. theAng is the angular value of the rotation in radians.
Applies a scaling transformation on the axis placement. The "Location" point of the axisplacement is modified. Warnings: If the scale <theS> is negative : . the main direction of the axis placement is not changed. . The "XDirection" and the "YDirection" are reversed. So the axis placement stay right handed.
Assigns the origin and "main Direction" of the axis theA1 to this coordinate system, then recomputes its "X Direction" and "Y Direction". Note:
Changes the main direction of this coordinate system, then recomputes its "X Direction" and "Y Direction". Note:
Changes the "Location" point (origin) of <me>.
Changes the "Xdirection" of <me>. The main direction "Direction" is not modified, the "Ydirection" is modified. If <theVx> is not normal to the main direction then <XDirection> is computed as follows XDirection = Direction ^ (theVx ^ Direction). Raises ConstructionError if <theVx> is parallel (same or opposite orientation) to the main direction of <me>
Changes the "Ydirection" of <me>. The main direction is not modified but the "Xdirection" is changed. If <theVy> is not normal to the main direction then "YDirection" is computed as follows YDirection = Direction ^ (<theVy> ^ Direction). Raises ConstructionError if <theVy> is parallel to the main direction of <me>
Transforms an axis placement with a Trsf. The "Location" point, the "XDirection" and the "YDirection" are transformed with theT. The resulting main "Direction" of <me> is the cross product between the "XDirection" and the "YDirection" after transformation.
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
Translates an axis placement from the point <theP1> to the point <theP2>.
Translates an axis plaxement in the direction of the vector <theV>. The magnitude of the translation is the vector's magnitude.
Returns the "XDirection" of <me>.
Returns the "YDirection" of <me>.