Open CASCADE Technology 7.8.2.dev
GccAna_Lin2dBisec Class Reference

Describes functions for building bisecting lines between two 2D lines. A bisecting line between two lines is such that each of its points is at the same distance from the two lines. If the two lines are secant, there are two orthogonal bisecting lines which share the angles made by the two straight lines in two equal parts. If D1 and D2 are the unit vectors of the two straight lines, those of the two bisecting lines are collinear with the following vectors: More...

#include <GccAna_Lin2dBisec.hxx>

Public Member Functions

 GccAna_Lin2dBisec (const gp_Lin2d &Lin1, const gp_Lin2d &Lin2)
 Constructs bisecting lines between the two lines Lin1 and Lin2.
 
Standard_Boolean IsDone () const
 Returns True when the algorithm succeeded.
 
Standard_Integer NbSolutions () const
 Returns the number of solutions and raise NotDone if the constructor wasn't called before.
 
gp_Lin2d ThisSolution (const Standard_Integer Index) const
 Returns the solution number Index . The first solution is the inside one and the second is the outside one. For the first solution the direction is D1+D2 (D1 is the direction of the first argument and D2 the direction of the second argument). For the second solution the direction is D1-D2. Raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.
 
void Intersection1 (const Standard_Integer Index, Standard_Real &ParSol, Standard_Real &ParArg, gp_Pnt2d &PntSol) const
 Returns information about the intersection point between the result number Index and the first argument. Raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.
 
void Intersection2 (const Standard_Integer Index, Standard_Real &ParSol, Standard_Real &ParArg, gp_Pnt2d &PntSol) const
 Returns information about the intersection point between the result number Index and the second argument. Raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.
 

Detailed Description

Describes functions for building bisecting lines between two 2D lines. A bisecting line between two lines is such that each of its points is at the same distance from the two lines. If the two lines are secant, there are two orthogonal bisecting lines which share the angles made by the two straight lines in two equal parts. If D1 and D2 are the unit vectors of the two straight lines, those of the two bisecting lines are collinear with the following vectors:

  • D1 + D2 for the "internal" bisecting line,
  • D1 - D2 for the "external" bisecting line. If the two lines are parallel, the (unique) bisecting line is the straight line equidistant from the two straight lines. If the two straight lines are coincident, the algorithm returns the first straight line as the solution. A Lin2dTanObl object provides a framework for:
  • defining the construction of the bisecting lines,
  • implementing the construction algorithm, and
  • consulting the result.

Constructor & Destructor Documentation

◆ GccAna_Lin2dBisec()

GccAna_Lin2dBisec::GccAna_Lin2dBisec ( const gp_Lin2d & Lin1,
const gp_Lin2d & Lin2 )

Constructs bisecting lines between the two lines Lin1 and Lin2.

Member Function Documentation

◆ Intersection1()

void GccAna_Lin2dBisec::Intersection1 ( const Standard_Integer Index,
Standard_Real & ParSol,
Standard_Real & ParArg,
gp_Pnt2d & PntSol ) const

Returns information about the intersection point between the result number Index and the first argument. Raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.

◆ Intersection2()

void GccAna_Lin2dBisec::Intersection2 ( const Standard_Integer Index,
Standard_Real & ParSol,
Standard_Real & ParArg,
gp_Pnt2d & PntSol ) const

Returns information about the intersection point between the result number Index and the second argument. Raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.

◆ IsDone()

Standard_Boolean GccAna_Lin2dBisec::IsDone ( ) const

Returns True when the algorithm succeeded.

◆ NbSolutions()

Standard_Integer GccAna_Lin2dBisec::NbSolutions ( ) const

Returns the number of solutions and raise NotDone if the constructor wasn't called before.

◆ ThisSolution()

gp_Lin2d GccAna_Lin2dBisec::ThisSolution ( const Standard_Integer Index) const

Returns the solution number Index . The first solution is the inside one and the second is the outside one. For the first solution the direction is D1+D2 (D1 is the direction of the first argument and D2 the direction of the second argument). For the second solution the direction is D1-D2. Raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions.


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