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_Lin Class Reference

    Describes a line in 3D space. A line is positioned in space with an axis (a gp_Ax1 object) which gives it an origin and a unit vector. A line and an axis are similar objects, thus, we can convert one into the other. A line provides direct access to the majority of the edit and query functions available on its positioning axis. In addition, however, a line has specific functions for computing distances and positions. See Also gce_MakeLin which provides functions for more complex line constructions Geom_Line which provides additional functions for constructing lines and works, in particular, with the parametric equations of lines. More...

    #include <gp_Lin.hxx>

    Public Member Functions

    constexpr gp_Lin () noexcept=default
     Creates a Line corresponding to Z axis of the reference coordinate system.
    constexpr gp_Lin (const gp_Ax1 &theA1) noexcept
     Creates a line defined by axis theA1.
    constexpr gp_Lin (const gp_Pnt &theP, const gp_Dir &theV) noexcept
     Creates a line passing through point theP and parallel to vector theV (theP and theV are, respectively, the origin and the unit vector of the positioning axis of the line).
    constexpr void Reverse () noexcept
    constexpr gp_Lin Reversed () const noexcept
     Reverses the direction of the line. Note:
    constexpr void SetDirection (const gp_Dir &theV) noexcept
     Changes the direction of the line.
    constexpr void SetLocation (const gp_Pnt &theP) noexcept
     Changes the location point (origin) of the line.
    constexpr void SetPosition (const gp_Ax1 &theA1) noexcept
     Complete redefinition of the line. The "Location" point of <theA1> is the origin of the line. The "Direction" of <theA1> is the direction of the line.
    constexpr const gp_DirDirection () const noexcept
     Returns the direction of the line.
    constexpr const gp_PntLocation () const noexcept
     Returns the location point (origin) of the line.
    constexpr const gp_Ax1Position () const noexcept
     Returns the axis placement one axis with the same location and direction as <me>.
    double Angle (const gp_Lin &theOther) const noexcept
     Computes the angle between two lines in radians.
    bool Contains (const gp_Pnt &theP, const double theLinearTolerance) const noexcept
     Returns true if this line contains the point theP, that is, if the distance between point theP and this line is less than or equal to theLinearTolerance..
    double Distance (const gp_Pnt &theP) const noexcept
     Computes the distance between <me> and the point theP.
    double Distance (const gp_Lin &theOther) const
     Computes the distance between two lines.
    double SquareDistance (const gp_Pnt &theP) const noexcept
     Computes the square distance between <me> and the point theP.
    double SquareDistance (const gp_Lin &theOther) const noexcept
     Computes the square distance between two lines.
    gp_Lin Normal (const gp_Pnt &theP) const
     Computes the line normal to the direction of <me>, passing through the point theP. Raises ConstructionError if the distance between <me> and the point theP is lower or equal to Resolution from gp because there is an infinity of solutions in 3D space.
    void Mirror (const gp_Pnt &theP) noexcept
    gp_Lin Mirrored (const gp_Pnt &theP) const noexcept
     Performs the symmetrical transformation of a line with respect to the point theP which is the center of the symmetry.
    void Mirror (const gp_Ax1 &theA1) noexcept
    gp_Lin Mirrored (const gp_Ax1 &theA1) const noexcept
     Performs the symmetrical transformation of a line with respect to an axis placement which is the axis of the symmetry.
    void Mirror (const gp_Ax2 &theA2) noexcept
    gp_Lin Mirrored (const gp_Ax2 &theA2) const noexcept
     Performs the symmetrical transformation of a line with respect to a plane. The axis placement <theA2> locates the plane of the symmetry: (Location, XDirection, YDirection).
    void Rotate (const gp_Ax1 &theA1, const double theAng)
    gp_Lin Rotated (const gp_Ax1 &theA1, const double theAng) const
     Rotates a line. A1 is the axis of the rotation. Ang is the angular value of the rotation in radians.
    void Scale (const gp_Pnt &theP, const double theS)
    gp_Lin Scaled (const gp_Pnt &theP, const double theS) const
     Scales a line. theS is the scaling value. The "Location" point (origin) of the line is modified. The "Direction" is reversed if the scale is negative.
    void Transform (const gp_Trsf &theT)
    gp_Lin Transformed (const gp_Trsf &theT) const
     Transforms a line with the transformation theT from class Trsf.
    constexpr void Translate (const gp_Vec &theV) noexcept
    constexpr gp_Lin Translated (const gp_Vec &theV) const noexcept
     Translates a line 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_Lin Translated (const gp_Pnt &theP1, const gp_Pnt &theP2) const noexcept
     Translates a line from the point theP1 to the point theP2.

    Detailed Description

    Describes a line in 3D space. A line is positioned in space with an axis (a gp_Ax1 object) which gives it an origin and a unit vector. A line and an axis are similar objects, thus, we can convert one into the other. A line provides direct access to the majority of the edit and query functions available on its positioning axis. In addition, however, a line has specific functions for computing distances and positions. See Also gce_MakeLin which provides functions for more complex line constructions Geom_Line which provides additional functions for constructing lines and works, in particular, with the parametric equations of lines.

    Constructor & Destructor Documentation

    ◆ gp_Lin() [1/3]

    gp_Lin::gp_Lin ( )
    constexprdefaultnoexcept

    Creates a Line corresponding to Z axis of the reference coordinate system.

    ◆ gp_Lin() [2/3]

    gp_Lin::gp_Lin ( const gp_Ax1 & theA1)
    inlineconstexprnoexcept

    Creates a line defined by axis theA1.

    ◆ gp_Lin() [3/3]

    gp_Lin::gp_Lin ( const gp_Pnt & theP,
    const gp_Dir & theV )
    inlineconstexprnoexcept

    Creates a line passing through point theP and parallel to vector theV (theP and theV are, respectively, the origin and the unit vector of the positioning axis of the line).

    Member Function Documentation

    ◆ Angle()

    double gp_Lin::Angle ( const gp_Lin & theOther) const
    inlinenoexcept

    Computes the angle between two lines in radians.

    ◆ Contains()

    bool gp_Lin::Contains ( const gp_Pnt & theP,
    const double theLinearTolerance ) const
    inlinenoexcept

    Returns true if this line contains the point theP, that is, if the distance between point theP and this line is less than or equal to theLinearTolerance..

    ◆ Direction()

    const gp_Dir & gp_Lin::Direction ( ) const
    inlineconstexprnoexcept

    Returns the direction of the line.

    ◆ Distance() [1/2]

    double gp_Lin::Distance ( const gp_Lin & theOther) const

    Computes the distance between two lines.

    ◆ Distance() [2/2]

    double gp_Lin::Distance ( const gp_Pnt & theP) const
    inlinenoexcept

    Computes the distance between <me> and the point theP.

    ◆ Location()

    const gp_Pnt & gp_Lin::Location ( ) const
    inlineconstexprnoexcept

    Returns the location point (origin) of the line.

    ◆ Mirror() [1/3]

    void gp_Lin::Mirror ( const gp_Ax1 & theA1)
    noexcept

    ◆ Mirror() [2/3]

    void gp_Lin::Mirror ( const gp_Ax2 & theA2)
    noexcept

    ◆ Mirror() [3/3]

    void gp_Lin::Mirror ( const gp_Pnt & theP)
    noexcept

    ◆ Mirrored() [1/3]

    gp_Lin gp_Lin::Mirrored ( const gp_Ax1 & theA1) const
    nodiscardnoexcept

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

    ◆ Mirrored() [2/3]

    gp_Lin gp_Lin::Mirrored ( const gp_Ax2 & theA2) const
    nodiscardnoexcept

    Performs the symmetrical transformation of a line with respect to a plane. The axis placement <theA2> locates the plane of the symmetry: (Location, XDirection, YDirection).

    ◆ Mirrored() [3/3]

    gp_Lin gp_Lin::Mirrored ( const gp_Pnt & theP) const
    nodiscardnoexcept

    Performs the symmetrical transformation of a line with respect to the point theP which is the center of the symmetry.

    ◆ Normal()

    gp_Lin gp_Lin::Normal ( const gp_Pnt & theP) const
    inline

    Computes the line normal to the direction of <me>, passing through the point theP. Raises ConstructionError if the distance between <me> and the point theP is lower or equal to Resolution from gp because there is an infinity of solutions in 3D space.

    ◆ Position()

    const gp_Ax1 & gp_Lin::Position ( ) const
    inlineconstexprnoexcept

    Returns the axis placement one axis with the same location and direction as <me>.

    ◆ Reverse()

    void gp_Lin::Reverse ( )
    inlineconstexprnoexcept

    ◆ Reversed()

    gp_Lin gp_Lin::Reversed ( ) const
    inlinenodiscardconstexprnoexcept

    Reverses the direction of the line. Note:

    • Reverse assigns the result to this line, while
    • Reversed creates a new one.

    ◆ Rotate()

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

    ◆ Rotated()

    gp_Lin gp_Lin::Rotated ( const gp_Ax1 & theA1,
    const double theAng ) const
    inlinenodiscard

    Rotates a line. A1 is the axis of the rotation. Ang is the angular value of the rotation in radians.

    ◆ Scale()

    void gp_Lin::Scale ( const gp_Pnt & theP,
    const double theS )
    inline

    ◆ Scaled()

    gp_Lin gp_Lin::Scaled ( const gp_Pnt & theP,
    const double theS ) const
    inlinenodiscard

    Scales a line. theS is the scaling value. The "Location" point (origin) of the line is modified. The "Direction" is reversed if the scale is negative.

    ◆ SetDirection()

    void gp_Lin::SetDirection ( const gp_Dir & theV)
    inlineconstexprnoexcept

    Changes the direction of the line.

    ◆ SetLocation()

    void gp_Lin::SetLocation ( const gp_Pnt & theP)
    inlineconstexprnoexcept

    Changes the location point (origin) of the line.

    ◆ SetPosition()

    void gp_Lin::SetPosition ( const gp_Ax1 & theA1)
    inlineconstexprnoexcept

    Complete redefinition of the line. The "Location" point of <theA1> is the origin of the line. The "Direction" of <theA1> is the direction of the line.

    ◆ SquareDistance() [1/2]

    double gp_Lin::SquareDistance ( const gp_Lin & theOther) const
    inlinenoexcept

    Computes the square distance between two lines.

    ◆ SquareDistance() [2/2]

    double gp_Lin::SquareDistance ( const gp_Pnt & theP) const
    inlinenoexcept

    Computes the square distance between <me> and the point theP.

    ◆ Transform()

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

    ◆ Transformed()

    gp_Lin gp_Lin::Transformed ( const gp_Trsf & theT) const
    inlinenodiscard

    Transforms a line with the transformation theT from class Trsf.

    ◆ Translate() [1/2]

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

    ◆ Translate() [2/2]

    void gp_Lin::Translate ( const gp_Vec & theV)
    inlineconstexprnoexcept

    ◆ Translated() [1/2]

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

    Translates a line from the point theP1 to the point theP2.

    ◆ Translated() [2/2]

    gp_Lin gp_Lin::Translated ( const gp_Vec & theV) const
    inlinenodiscardconstexprnoexcept

    Translates a line in the direction of the vector theV. The magnitude of the translation is the vector's magnitude.


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