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

    Describes a line in 2D space. A line is positioned in the plane with an axis (a gp_Ax2d object) which gives the line its origin and 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 GccAna and Geom2dGcc packages which provide functions for constructing lines defined by geometric constraints gce_MakeLin2d which provides functions for more complex line constructions Geom2d_Line which provides additional functions for constructing lines and works, in particular, with the parametric equations of lines. More...

    #include <gp_Lin2d.hxx>

    Public Member Functions

    constexpr gp_Lin2d () noexcept=default
     Creates a Line corresponding to X axis of the reference coordinate system.
    constexpr gp_Lin2d (const gp_Ax2d &theA) noexcept
     Creates a line located with theA.
    constexpr gp_Lin2d (const gp_Pnt2d &theP, const gp_Dir2d &theV) noexcept
     <theP> is the location point (origin) of the line and <theV> is the direction of the line.
     gp_Lin2d (const double theA, const double theB, const double theC)
     Creates the line from the equation theA*X + theB*Y + theC = 0.0 Raises ConstructionError if std::sqrt(theA*theA + theB*theB) <= Resolution from gp. Raised if std::sqrt(theA*theA + theB*theB) <= Resolution from gp.
    constexpr void Reverse () noexcept
    constexpr gp_Lin2d Reversed () const noexcept
     Reverses the positioning axis of this line. Note:
    constexpr void SetDirection (const gp_Dir2d &theV) noexcept
     Changes the direction of the line.
    constexpr void SetLocation (const gp_Pnt2d &theP) noexcept
     Changes the origin of the line.
    constexpr void SetPosition (const gp_Ax2d &theA) noexcept
     Complete redefinition of the line. The "Location" point of <theA> is the origin of the line. The "Direction" of <theA> is the direction of the line.
    constexpr void Coefficients (double &theA, double &theB, double &theC) const noexcept
     Returns the normalized coefficients of the line : theA * X + theB * Y + theC = 0.
    constexpr const gp_Dir2dDirection () const noexcept
     Returns the direction of the line.
    constexpr const gp_Pnt2dLocation () const noexcept
     Returns the location point (origin) of the line.
    constexpr const gp_Ax2dPosition () const noexcept
     Returns the axis placement one axis with the same location and direction as <me>.
    double Angle (const gp_Lin2d &theOther) const
     Computes the angle between two lines in radians.
    bool Contains (const gp_Pnt2d &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_Pnt2d &theP) const noexcept
     Computes the distance between <me> and the point <theP>.
    double Distance (const gp_Lin2d &theOther) const noexcept
     Computes the distance between two lines.
    constexpr double SquareDistance (const gp_Pnt2d &theP) const noexcept
     Computes the square distance between <me> and the point <theP>.
    double SquareDistance (const gp_Lin2d &theOther) const noexcept
     Computes the square distance between two lines.
    gp_Lin2d Normal (const gp_Pnt2d &theP) const noexcept
     Computes the line normal to the direction of <me>, passing through the point <theP>.
    void Mirror (const gp_Pnt2d &theP) noexcept
    gp_Lin2d Mirrored (const gp_Pnt2d &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_Ax2d &theA) noexcept
    gp_Lin2d Mirrored (const gp_Ax2d &theA) const noexcept
     Performs the symmetrical transformation of a line with respect to an axis placement which is the axis of the symmetry.
    void Rotate (const gp_Pnt2d &theP, const double theAng)
    gp_Lin2d Rotated (const gp_Pnt2d &theP, const double theAng) const
     Rotates a line. theP is the center of the rotation. theAng is the angular value of the rotation in radians.
    void Scale (const gp_Pnt2d &theP, const double theS)
    gp_Lin2d Scaled (const gp_Pnt2d &theP, const double theS) const
     Scales a line. theS is the scaling value. Only the origin of the line is modified.
    void Transform (const gp_Trsf2d &theT) noexcept
    gp_Lin2d Transformed (const gp_Trsf2d &theT) const noexcept
     Transforms a line with the transformation theT from class Trsf2d.
    constexpr void Translate (const gp_Vec2d &theV) noexcept
    constexpr gp_Lin2d Translated (const gp_Vec2d &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_Pnt2d &theP1, const gp_Pnt2d &theP2) noexcept
    constexpr gp_Lin2d Translated (const gp_Pnt2d &theP1, const gp_Pnt2d &theP2) const noexcept
     Translates a line from the point theP1 to the point theP2.

    Detailed Description

    Describes a line in 2D space. A line is positioned in the plane with an axis (a gp_Ax2d object) which gives the line its origin and 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 GccAna and Geom2dGcc packages which provide functions for constructing lines defined by geometric constraints gce_MakeLin2d which provides functions for more complex line constructions Geom2d_Line which provides additional functions for constructing lines and works, in particular, with the parametric equations of lines.

    Constructor & Destructor Documentation

    ◆ gp_Lin2d() [1/4]

    gp_Lin2d::gp_Lin2d ( )
    constexprdefaultnoexcept

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

    ◆ gp_Lin2d() [2/4]

    gp_Lin2d::gp_Lin2d ( const gp_Ax2d & theA)
    inlineconstexprnoexcept

    Creates a line located with theA.

    ◆ gp_Lin2d() [3/4]

    gp_Lin2d::gp_Lin2d ( const gp_Pnt2d & theP,
    const gp_Dir2d & theV )
    inlineconstexprnoexcept

    <theP> is the location point (origin) of the line and <theV> is the direction of the line.

    ◆ gp_Lin2d() [4/4]

    gp_Lin2d::gp_Lin2d ( const double theA,
    const double theB,
    const double theC )

    Creates the line from the equation theA*X + theB*Y + theC = 0.0 Raises ConstructionError if std::sqrt(theA*theA + theB*theB) <= Resolution from gp. Raised if std::sqrt(theA*theA + theB*theB) <= Resolution from gp.

    Member Function Documentation

    ◆ Angle()

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

    Computes the angle between two lines in radians.

    ◆ Coefficients()

    void gp_Lin2d::Coefficients ( double & theA,
    double & theB,
    double & theC ) const
    inlineconstexprnoexcept

    Returns the normalized coefficients of the line : theA * X + theB * Y + theC = 0.

    ◆ Contains()

    bool gp_Lin2d::Contains ( const gp_Pnt2d & 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_Dir2d & gp_Lin2d::Direction ( ) const
    inlineconstexprnoexcept

    Returns the direction of the line.

    ◆ Distance() [1/2]

    double gp_Lin2d::Distance ( const gp_Lin2d & theOther) const
    inlinenoexcept

    Computes the distance between two lines.

    ◆ Distance() [2/2]

    double gp_Lin2d::Distance ( const gp_Pnt2d & theP) const
    inlinenoexcept

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

    ◆ Location()

    const gp_Pnt2d & gp_Lin2d::Location ( ) const
    inlineconstexprnoexcept

    Returns the location point (origin) of the line.

    ◆ Mirror() [1/2]

    void gp_Lin2d::Mirror ( const gp_Ax2d & theA)
    noexcept

    ◆ Mirror() [2/2]

    void gp_Lin2d::Mirror ( const gp_Pnt2d & theP)
    noexcept

    ◆ Mirrored() [1/2]

    gp_Lin2d gp_Lin2d::Mirrored ( const gp_Ax2d & theA) const
    nodiscardnoexcept

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

    ◆ Mirrored() [2/2]

    gp_Lin2d gp_Lin2d::Mirrored ( const gp_Pnt2d & 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_Lin2d gp_Lin2d::Normal ( const gp_Pnt2d & theP) const
    inlinenoexcept

    Computes the line normal to the direction of <me>, passing through the point <theP>.

    ◆ Position()

    const gp_Ax2d & gp_Lin2d::Position ( ) const
    inlineconstexprnoexcept

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

    ◆ Reverse()

    void gp_Lin2d::Reverse ( )
    inlineconstexprnoexcept

    ◆ Reversed()

    gp_Lin2d gp_Lin2d::Reversed ( ) const
    inlinenodiscardconstexprnoexcept

    Reverses the positioning axis of this line. Note:

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

    ◆ Rotate()

    void gp_Lin2d::Rotate ( const gp_Pnt2d & theP,
    const double theAng )
    inline

    ◆ Rotated()

    gp_Lin2d gp_Lin2d::Rotated ( const gp_Pnt2d & theP,
    const double theAng ) const
    inlinenodiscard

    Rotates a line. theP is the center of the rotation. theAng is the angular value of the rotation in radians.

    ◆ Scale()

    void gp_Lin2d::Scale ( const gp_Pnt2d & theP,
    const double theS )
    inline

    ◆ Scaled()

    gp_Lin2d gp_Lin2d::Scaled ( const gp_Pnt2d & theP,
    const double theS ) const
    inlinenodiscard

    Scales a line. theS is the scaling value. Only the origin of the line is modified.

    ◆ SetDirection()

    void gp_Lin2d::SetDirection ( const gp_Dir2d & theV)
    inlineconstexprnoexcept

    Changes the direction of the line.

    ◆ SetLocation()

    void gp_Lin2d::SetLocation ( const gp_Pnt2d & theP)
    inlineconstexprnoexcept

    Changes the origin of the line.

    ◆ SetPosition()

    void gp_Lin2d::SetPosition ( const gp_Ax2d & theA)
    inlineconstexprnoexcept

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

    ◆ SquareDistance() [1/2]

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

    Computes the square distance between two lines.

    ◆ SquareDistance() [2/2]

    double gp_Lin2d::SquareDistance ( const gp_Pnt2d & theP) const
    inlineconstexprnoexcept

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

    ◆ Transform()

    void gp_Lin2d::Transform ( const gp_Trsf2d & theT)
    inlinenoexcept

    ◆ Transformed()

    gp_Lin2d gp_Lin2d::Transformed ( const gp_Trsf2d & theT) const
    inlinenodiscardnoexcept

    Transforms a line with the transformation theT from class Trsf2d.

    ◆ Translate() [1/2]

    void gp_Lin2d::Translate ( const gp_Pnt2d & theP1,
    const gp_Pnt2d & theP2 )
    inlineconstexprnoexcept

    ◆ Translate() [2/2]

    void gp_Lin2d::Translate ( const gp_Vec2d & theV)
    inlineconstexprnoexcept

    ◆ Translated() [1/2]

    gp_Lin2d gp_Lin2d::Translated ( const gp_Pnt2d & theP1,
    const gp_Pnt2d & theP2 ) const
    inlinenodiscardconstexprnoexcept

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

    ◆ Translated() [2/2]

    gp_Lin2d gp_Lin2d::Translated ( const gp_Vec2d & 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: