Open CASCADE Technology 7.8.2.dev
gp_Ax1 Class Reference

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

#include <gp_Ax1.hxx>

Public Member Functions

 gp_Ax1 ()
 Creates an axis object representing Z axis of the reference coordinate system.
 
 gp_Ax1 (const gp_Pnt &theP, const gp_Dir &theV)
 P is the location point and V is the direction of <me>.
 
void SetDirection (const gp_Dir &theV)
 Assigns V as the "Direction" of this axis.
 
void SetLocation (const gp_Pnt &theP)
 Assigns P as the origin of this axis.
 
const gp_DirDirection () const
 Returns the direction of <me>.
 
const gp_PntLocation () const
 Returns the location point of <me>.
 
Standard_Boolean IsCoaxial (const gp_Ax1 &Other, const Standard_Real AngularTolerance, const Standard_Real 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.
 
Standard_Boolean IsNormal (const gp_Ax1 &theOther, const Standard_Real 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.
 
Standard_Boolean IsOpposite (const gp_Ax1 &theOther, const Standard_Real 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.
 
Standard_Boolean IsParallel (const gp_Ax1 &theOther, const Standard_Real 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.
 
Standard_Real 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.
 
void Reverse ()
 Reverses the unit vector of this axis and assigns the result to this axis.
 
gp_Ax1 Reversed () const
 Reverses the unit vector of this axis and creates a new one.
 
void Mirror (const gp_Pnt &P)
 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
 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)
 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
 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)
 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
 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 Standard_Real 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 Standard_Real theAngRad) const
 Rotates this axis at an angle theAngRad (in radians) about the axis theA1 and creates a new one.
 
void Scale (const gp_Pnt &theP, const Standard_Real theS)
 Applies a scaling transformation to this axis with:
 
gp_Ax1 Scaled (const gp_Pnt &theP, const Standard_Real theS) const
 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.
 
void Translate (const gp_Vec &theV)
 Translates this axis by the vector theV, and assigns the result to this axis.
 
gp_Ax1 Translated (const gp_Vec &theV) const
 Translates this axis by the vector theV, and creates a new one.
 
void Translate (const gp_Pnt &theP1, const gp_Pnt &theP2)
 Translates this axis by: the vector (theP1, theP2) defined from point theP1 to point theP2. and assigns the result to this axis.
 
gp_Ax1 Translated (const gp_Pnt &theP1, const gp_Pnt &theP2) const
 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, Standard_Integer theDepth=-1) const
 Dumps the content of me into the stream.
 
Standard_Boolean InitFromJson (const Standard_SStream &theSStream, Standard_Integer &theStreamPos)
 Inits the content of me from the stream.
 

Detailed Description

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

  • its origin (also referred to as its "Location point"), and
  • its unit vector (referred to as its "Direction" or "main Direction"). An axis is used:
  • to describe 3D geometric entities (for example, the axis of a revolution entity). It serves the same purpose as the STEP function "axis placement one axis", or
  • to define geometric transformations (axis of symmetry, axis of rotation, and so on). For example, this entity can be used to locate a geometric entity or to define a symmetry axis.

Constructor & Destructor Documentation

◆ gp_Ax1() [1/2]

gp_Ax1::gp_Ax1 ( )
inline

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

◆ gp_Ax1() [2/2]

gp_Ax1::gp_Ax1 ( const gp_Pnt & theP,
const gp_Dir & theV )
inline

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

Member Function Documentation

◆ Angle()

Standard_Real 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()

const gp_Dir & gp_Ax1::Direction ( ) const
inline

Returns the direction of <me>.

◆ DumpJson()

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

Dumps the content of me into the stream.

◆ InitFromJson()

Standard_Boolean gp_Ax1::InitFromJson ( const Standard_SStream & theSStream,
Standard_Integer & theStreamPos )

Inits the content of me from the stream.

◆ IsCoaxial()

Standard_Boolean gp_Ax1::IsCoaxial ( const gp_Ax1 & Other,
const Standard_Real AngularTolerance,
const Standard_Real 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()

Standard_Boolean gp_Ax1::IsNormal ( const gp_Ax1 & theOther,
const Standard_Real 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()

Standard_Boolean gp_Ax1::IsOpposite ( const gp_Ax1 & theOther,
const Standard_Real 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()

Standard_Boolean gp_Ax1::IsParallel ( const gp_Ax1 & theOther,
const Standard_Real 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()

const gp_Pnt & gp_Ax1::Location ( ) const
inline

Returns the location point of <me>.

◆ Mirror() [1/3]

void gp_Ax1::Mirror ( const gp_Ax1 & A1)

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)

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)

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

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

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

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()

void gp_Ax1::Reverse ( )
inline

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

◆ Reversed()

gp_Ax1 gp_Ax1::Reversed ( ) const
inline

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

◆ Rotate()

void gp_Ax1::Rotate ( const gp_Ax1 & theA1,
const Standard_Real 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 Standard_Real theAngRad ) const
inline

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

◆ Scale()

void gp_Ax1::Scale ( const gp_Pnt & theP,
const Standard_Real theS )
inline

Applies a scaling transformation to this axis with:

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

◆ Scaled()

gp_Ax1 gp_Ax1::Scaled ( const gp_Pnt & theP,
const Standard_Real theS ) const
inline

Applies a scaling transformation to this axis with:

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

◆ SetDirection()

void gp_Ax1::SetDirection ( const gp_Dir & theV)
inline

Assigns V as the "Direction" of this axis.

◆ SetLocation()

void gp_Ax1::SetLocation ( const gp_Pnt & theP)
inline

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]

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

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]

void gp_Ax1::Translate ( const gp_Vec & theV)
inline

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

◆ Translated() [1/2]

gp_Ax1 gp_Ax1::Translated ( const gp_Pnt & theP1,
const gp_Pnt & theP2 ) const
inline

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

◆ Translated() [2/2]

gp_Ax1 gp_Ax1::Translated ( const gp_Vec & theV) const
inline

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


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