OCC Main Page | ModelingAlgorithms | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingAlgorithms
TKGeomAlgo
GccAna


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:
- 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.
.

#include <GccAna_Lin2dBisec.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT GccAna_Lin2dBisec (const gp_Lin2d &Lin1, const gp_Lin2d &Lin2)
 Constructs bisecting lines between the two lines Lin1 and Lin2.
.
Standard_EXPORT Standard_Boolean IsDone () const
 Returns True when the algorithm succeded.
.
Standard_EXPORT Standard_Integer NbSolutions () const
 Returns the number of solutions and raise NotDone if
the constructor wasn't called before.
.
Standard_EXPORT 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.
.
Standard_EXPORT void Intersection1 (const Standard_Integer Index, Standard_Real &ParSol, Standard_Real &ParArg, gp_Pnt2d &PntSol) const
 Returns informations 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.
.
Standard_EXPORT void Intersection2 (const Standard_Integer Index, Standard_Real &ParSol, Standard_Real &ParArg, gp_Pnt2d &PntSol) const
 Returns informations 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.
.

Private Attributes

Standard_Boolean WellDone
Standard_Integer NbrSol
TColgp_Array1OfLin2d linsol
TColgp_Array1OfPnt2d pntint1sol
TColgp_Array1OfPnt2d pntint2sol
TColStd_Array1OfReal par1sol
TColStd_Array1OfReal par2sol
TColStd_Array1OfReal pararg1
TColStd_Array1OfReal pararg2


Constructor & Destructor Documentation

Standard_EXPORT GccAna_Lin2dBisec::GccAna_Lin2dBisec const gp_Lin2d &  Lin1,
const gp_Lin2d &  Lin2
 


Member Function Documentation

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

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

Standard_EXPORT Standard_Boolean GccAna_Lin2dBisec::IsDone  )  const
 

Standard_EXPORT Standard_Integer GccAna_Lin2dBisec::NbSolutions  )  const
 

void GccAna_Lin2dBisec::operator delete void *  anAddress  )  [inline]
 

void* GccAna_Lin2dBisec::operator new size_t  size  )  [inline]
 

void* GccAna_Lin2dBisec::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_EXPORT gp_Lin2d GccAna_Lin2dBisec::ThisSolution const Standard_Integer  Index  )  const
 


Field Documentation

TColgp_Array1OfLin2d GccAna_Lin2dBisec::linsol [private]
 

Standard_Integer GccAna_Lin2dBisec::NbrSol [private]
 

TColStd_Array1OfReal GccAna_Lin2dBisec::par1sol [private]
 

TColStd_Array1OfReal GccAna_Lin2dBisec::par2sol [private]
 

TColStd_Array1OfReal GccAna_Lin2dBisec::pararg1 [private]
 

TColStd_Array1OfReal GccAna_Lin2dBisec::pararg2 [private]
 

TColgp_Array1OfPnt2d GccAna_Lin2dBisec::pntint1sol [private]
 

TColgp_Array1OfPnt2d GccAna_Lin2dBisec::pntint2sol [private]
 

Standard_Boolean GccAna_Lin2dBisec::WellDone [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:41:44 2008 for OpenCASCADE by  doxygen 1.4.1