Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
gp_Ax1 Class Reference

Describes an axis in 3D space. An axis is defined by: More...

#include <gp_Ax1.hxx>

Public Member Functions

constexpr gp_Ax1 () noexcept
 Creates an axis object representing Z axis of the reference coordinate system.
 
constexpr gp_Ax1 (const gp_Pnt &theP, const gp_Dir &theV) noexcept
 P is the location point and V is the direction of <me>.
 
constexpr gp_Ax1 (const gp_Pnt &theP, const gp_Dir::D theDir) noexcept
 Creates an axis with the given location point and standard direction.
 
constexpr gp_Ax1 (const gp_Dir::D theDir) noexcept
 Creates an axis at the origin with the given standard direction. Replaces gp::OX(), gp::OY(), gp::OZ() static functions.
 
constexpr void SetDirection (const gp_Dir &theV) noexcept
 Assigns V as the "Direction" of this axis.
 
constexpr void SetLocation (const gp_Pnt &theP) noexcept
 Assigns P as the origin of this axis.
 
constexpr const gp_DirDirection () const noexcept
 Returns the direction of <me>.
 
constexpr const gp_PntLocation () const noexcept
 Returns the location point of <me>.
 
bool IsCoaxial (const gp_Ax1 &Other, const double AngularTolerance, const double LinearTolerance) const
 Returns True if: . the angle between <me> and <Other> is lower or equal to <AngularTolerance> and . the distance between <me>.Location() and <Other> is lower or equal to <LinearTolerance> and . the distance between <Other>.Location() and <me> is lower or equal to LinearTolerance.
 
bool IsNormal (const gp_Ax1 &theOther, const double theAngularTolerance) const
 Returns True if the direction of this and another axis are normal to each other. That is, if the angle between the two axes is equal to Pi/2. Note: the tolerance criterion is given by theAngularTolerance.
 
bool IsOpposite (const gp_Ax1 &theOther, const double theAngularTolerance) const
 Returns True if the direction of this and another axis are parallel with opposite orientation. That is, if the angle between the two axes is equal to Pi. Note: the tolerance criterion is given by theAngularTolerance.
 
bool IsParallel (const gp_Ax1 &theOther, const double theAngularTolerance) const
 Returns True if the direction of this and another axis are parallel with same orientation or opposite orientation. That is, if the angle between the two axes is equal to 0 or Pi. Note: the tolerance criterion is given by theAngularTolerance.
 
double Angle (const gp_Ax1 &theOther) const
 Computes the angular value, in radians, between this.Direction() and theOther.Direction(). Returns the angle between 0 and 2*PI radians.
 
constexpr void Reverse () noexcept
 Reverses the unit vector of this axis and assigns the result to this axis.
 
constexpr gp_Ax1 Reversed () const noexcept
 Reverses the unit vector of this axis and creates a new one.
 
void Mirror (const gp_Pnt &P) noexcept
 Performs the symmetrical transformation of an axis placement with respect to the point P which is the center of the symmetry and assigns the result to this axis.
 
gp_Ax1 Mirrored (const gp_Pnt &P) const noexcept
 Performs the symmetrical transformation of an axis placement with respect to the point P which is the center of the symmetry and creates a new axis.
 
void Mirror (const gp_Ax1 &A1) noexcept
 Performs the symmetrical transformation of an axis placement with respect to an axis placement which is the axis of the symmetry and assigns the result to this axis.
 
gp_Ax1 Mirrored (const gp_Ax1 &A1) const noexcept
 Performs the symmetrical transformation of an axis placement with respect to an axis placement which is the axis of the symmetry and creates a new axis.
 
void Mirror (const gp_Ax2 &A2) noexcept
 Performs the symmetrical transformation of an axis placement with respect to a plane. The axis placement <A2> locates the plane of the symmetry : (Location, XDirection, YDirection) and assigns the result to this axis.
 
gp_Ax1 Mirrored (const gp_Ax2 &A2) const noexcept
 Performs the symmetrical transformation of an axis placement with respect to a plane. The axis placement <A2> locates the plane of the symmetry : (Location, XDirection, YDirection) and creates a new axis.
 
void Rotate (const gp_Ax1 &theA1, const double theAngRad)
 Rotates this axis at an angle theAngRad (in radians) about the axis theA1 and assigns the result to this axis.
 
gp_Ax1 Rotated (const gp_Ax1 &theA1, const double theAngRad) const
 Rotates this axis at an angle theAngRad (in radians) about the axis theA1 and creates a new one.
 
constexpr void Scale (const gp_Pnt &theP, const double theS) noexcept
 Applies a scaling transformation to this axis with:
 
constexpr gp_Ax1 Scaled (const gp_Pnt &theP, const double theS) const noexcept
 Applies a scaling transformation to this axis with:
 
void Transform (const gp_Trsf &theT)
 Applies the transformation theT to this axis and assigns the result to this axis.
 
gp_Ax1 Transformed (const gp_Trsf &theT) const
 Applies the transformation theT to this axis and creates a new one.
 
constexpr void Translate (const gp_Vec &theV) noexcept
 Translates this axis by the vector theV, and assigns the result to this axis.
 
constexpr gp_Ax1 Translated (const gp_Vec &theV) const noexcept
 Translates this axis by the vector theV, and creates a new one.
 
constexpr void Translate (const gp_Pnt &theP1, const gp_Pnt &theP2) noexcept
 Translates this axis by: the vector (theP1, theP2) defined from point theP1 to point theP2. and assigns the result to this axis.
 
constexpr gp_Ax1 Translated (const gp_Pnt &theP1, const gp_Pnt &theP2) const noexcept
 Translates this axis by: the vector (theP1, theP2) defined from point theP1 to point theP2. and creates a new one.
 
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.
 

Detailed Description

Describes an axis in 3D space. An axis is defined by:

Constructor & Destructor Documentation

◆ gp_Ax1() [1/4]

constexpr gp_Ax1::gp_Ax1 ( )
inlineconstexprnoexcept

Creates an axis object representing Z axis of the reference coordinate system.

◆ gp_Ax1() [2/4]

constexpr gp_Ax1::gp_Ax1 ( const gp_Pnt & theP,
const gp_Dir & theV )
inlineconstexprnoexcept

P is the location point and V is the direction of <me>.

◆ gp_Ax1() [3/4]

constexpr gp_Ax1::gp_Ax1 ( const gp_Pnt & theP,
const gp_Dir::D theDir )
inlineconstexprnoexcept

Creates an axis with the given location point and standard direction.

◆ gp_Ax1() [4/4]

constexpr gp_Ax1::gp_Ax1 ( const gp_Dir::D theDir)
inlineexplicitconstexprnoexcept

Creates an axis at the origin with the given standard direction. Replaces gp::OX(), gp::OY(), gp::OZ() static functions.

Member Function Documentation

◆ Angle()

double gp_Ax1::Angle ( const gp_Ax1 & theOther) const
inline

Computes the angular value, in radians, between this.Direction() and theOther.Direction(). Returns the angle between 0 and 2*PI radians.

◆ Direction()

constexpr const gp_Dir & gp_Ax1::Direction ( ) const
inlineconstexprnoexcept

Returns the direction of <me>.

◆ DumpJson()

void gp_Ax1::DumpJson ( Standard_OStream & theOStream,
int theDepth = -1 ) const

Dumps the content of me into the stream.

◆ InitFromJson()

bool gp_Ax1::InitFromJson ( const Standard_SStream & theSStream,
int & theStreamPos )

Inits the content of me from the stream.

◆ IsCoaxial()

bool gp_Ax1::IsCoaxial ( const gp_Ax1 & Other,
const double AngularTolerance,
const double LinearTolerance ) const

Returns True if: . the angle between <me> and <Other> is lower or equal to <AngularTolerance> and . the distance between <me>.Location() and <Other> is lower or equal to <LinearTolerance> and . the distance between <Other>.Location() and <me> is lower or equal to LinearTolerance.

◆ IsNormal()

bool gp_Ax1::IsNormal ( const gp_Ax1 & theOther,
const double theAngularTolerance ) const
inline

Returns True if the direction of this and another axis are normal to each other. That is, if the angle between the two axes is equal to Pi/2. Note: the tolerance criterion is given by theAngularTolerance.

◆ IsOpposite()

bool gp_Ax1::IsOpposite ( const gp_Ax1 & theOther,
const double theAngularTolerance ) const
inline

Returns True if the direction of this and another axis are parallel with opposite orientation. That is, if the angle between the two axes is equal to Pi. Note: the tolerance criterion is given by theAngularTolerance.

◆ IsParallel()

bool gp_Ax1::IsParallel ( const gp_Ax1 & theOther,
const double theAngularTolerance ) const
inline

Returns True if the direction of this and another axis are parallel with same orientation or opposite orientation. That is, if the angle between the two axes is equal to 0 or Pi. Note: the tolerance criterion is given by theAngularTolerance.

◆ Location()

constexpr const gp_Pnt & gp_Ax1::Location ( ) const
inlineconstexprnoexcept

Returns the location point of <me>.

◆ Mirror() [1/3]

void gp_Ax1::Mirror ( const gp_Ax1 & A1)
noexcept

Performs the symmetrical transformation of an axis placement with respect to an axis placement which is the axis of the symmetry and assigns the result to this axis.

◆ Mirror() [2/3]

void gp_Ax1::Mirror ( const gp_Ax2 & A2)
noexcept

Performs the symmetrical transformation of an axis placement with respect to a plane. The axis placement <A2> locates the plane of the symmetry : (Location, XDirection, YDirection) and assigns the result to this axis.

◆ Mirror() [3/3]

void gp_Ax1::Mirror ( const gp_Pnt & P)
noexcept

Performs the symmetrical transformation of an axis placement with respect to the point P which is the center of the symmetry and assigns the result to this axis.

◆ Mirrored() [1/3]

gp_Ax1 gp_Ax1::Mirrored ( const gp_Ax1 & A1) const
noexcept

Performs the symmetrical transformation of an axis placement with respect to an axis placement which is the axis of the symmetry and creates a new axis.

◆ Mirrored() [2/3]

gp_Ax1 gp_Ax1::Mirrored ( const gp_Ax2 & A2) const
noexcept

Performs the symmetrical transformation of an axis placement with respect to a plane. The axis placement <A2> locates the plane of the symmetry : (Location, XDirection, YDirection) and creates a new axis.

◆ Mirrored() [3/3]

gp_Ax1 gp_Ax1::Mirrored ( const gp_Pnt & P) const
noexcept

Performs the symmetrical transformation of an axis placement with respect to the point P which is the center of the symmetry and creates a new axis.

◆ Reverse()

constexpr void gp_Ax1::Reverse ( )
inlineconstexprnoexcept

Reverses the unit vector of this axis and assigns the result to this axis.

◆ Reversed()

constexpr gp_Ax1 gp_Ax1::Reversed ( ) const
inlineconstexprnoexcept

Reverses the unit vector of this axis and creates a new one.

◆ Rotate()

void gp_Ax1::Rotate ( const gp_Ax1 & theA1,
const double theAngRad )
inline

Rotates this axis at an angle theAngRad (in radians) about the axis theA1 and assigns the result to this axis.

◆ Rotated()

gp_Ax1 gp_Ax1::Rotated ( const gp_Ax1 & theA1,
const double theAngRad ) const
inline

Rotates this axis at an angle theAngRad (in radians) about the axis theA1 and creates a new one.

◆ Scale()

constexpr void gp_Ax1::Scale ( const gp_Pnt & theP,
const double theS )
inlineconstexprnoexcept

Applies a scaling transformation to this axis with:

  • scale factor theS, and
  • center theP and assigns the result to this axis.

◆ Scaled()

constexpr gp_Ax1 gp_Ax1::Scaled ( const gp_Pnt & theP,
const double theS ) const
inlineconstexprnoexcept

Applies a scaling transformation to this axis with:

  • scale factor theS, and
  • center theP and creates a new axis.

◆ SetDirection()

constexpr void gp_Ax1::SetDirection ( const gp_Dir & theV)
inlineconstexprnoexcept

Assigns V as the "Direction" of this axis.

◆ SetLocation()

constexpr void gp_Ax1::SetLocation ( const gp_Pnt & theP)
inlineconstexprnoexcept

Assigns P as the origin of this axis.

◆ Transform()

void gp_Ax1::Transform ( const gp_Trsf & theT)
inline

Applies the transformation theT to this axis and assigns the result to this axis.

◆ Transformed()

gp_Ax1 gp_Ax1::Transformed ( const gp_Trsf & theT) const
inline

Applies the transformation theT to this axis and creates a new one.

Translates an axis plaxement in the direction of the vector <V>. The magnitude of the translation is the vector's magnitude.

◆ Translate() [1/2]

constexpr void gp_Ax1::Translate ( const gp_Pnt & theP1,
const gp_Pnt & theP2 )
inlineconstexprnoexcept

Translates this axis by: the vector (theP1, theP2) defined from point theP1 to point theP2. and assigns the result to this axis.

◆ Translate() [2/2]

constexpr void gp_Ax1::Translate ( const gp_Vec & theV)
inlineconstexprnoexcept

Translates this axis by the vector theV, and assigns the result to this axis.

◆ Translated() [1/2]

constexpr gp_Ax1 gp_Ax1::Translated ( const gp_Pnt & theP1,
const gp_Pnt & theP2 ) const
inlineconstexprnoexcept

Translates this axis by: the vector (theP1, theP2) defined from point theP1 to point theP2. and creates a new one.

◆ Translated() [2/2]

constexpr gp_Ax1 gp_Ax1::Translated ( const gp_Vec & theV) const
inlineconstexprnoexcept

Translates this axis by the vector theV, and creates a new one.


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