OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    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:

    • 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/4]

    gp_Ax1::gp_Ax1 ( )
    inlineconstexprnoexcept

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

    ◆ gp_Ax1() [2/4]

    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]

    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]

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

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

    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
    nodiscardnoexcept

    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
    nodiscardnoexcept

    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
    nodiscardnoexcept

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

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

    ◆ Reversed()

    gp_Ax1 gp_Ax1::Reversed ( ) const
    inlinenodiscardconstexprnoexcept

    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
    inlinenodiscard

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

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

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

    Assigns V as the "Direction" of this axis.

    ◆ SetLocation()

    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
    inlinenodiscard

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

    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]

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

    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
    inlinenodiscardconstexprnoexcept

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


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