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

ModelingAlgorithms
TKGeomAlgo
GccAna


GccAna_Lin2d2Tan Class Reference

This class implements the algorithms used to
create 2d lines tangent to 2 other elements which
can be circles or points.
Describes functions for building a 2D line:
- tangential to 2 circles, or
- tangential to a circle and passing through a point, or
- passing through 2 points.
A Lin2d2Tan object provides a framework for:
- defining the construction of 2D line(s),
- implementing the construction algorithm, and
consulting the result(s).
Some constructors may check the type of the qualified argument
and raise BadQualifier Error in case of incorrect couple (qualifier,
curv).
For example: "EnclosedCirc".
.

#include <GccAna_Lin2d2Tan.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_Lin2d2Tan (const gp_Pnt2d &ThePoint1, const gp_Pnt2d &ThePoint2, const Standard_Real Tolerance)
 This methods implements the algorithms used to
create 2d lines passing thrue 2 points.
Tolerance is used because we can't create a line
when the distance between the two points is too small.
.
Standard_EXPORT GccAna_Lin2d2Tan (const GccEnt_QualifiedCirc &Qualified1, const gp_Pnt2d &ThePoint, const Standard_Real Tolerance)
 This methods implements the algorithms used to
create 2d lines tangent to one circle and passing
thrue a point.
Exception BadQualifier is raised in the case of
EnclosedCirc
Tolerance is used because there is no solution
when the point is inside the solution according to
the tolerance.
.
Standard_EXPORT GccAna_Lin2d2Tan (const GccEnt_QualifiedCirc &Qualified1, const GccEnt_QualifiedCirc &Qualified2, const Standard_Real Tolerance)
 This methods implements the algorithms used to
create 2d lines tangent to 2 circles.
Exception BadQualifier is raised in the case of
EnclosedCirc
.
Standard_EXPORT Standard_Boolean IsDone () const
 This method returns true when there is a solution
and false in the other cases.
.
Standard_EXPORT Standard_Integer NbSolutions () const
 This method returns the number of solutions.
Raises NotDone if the construction algorithm didn't succeed.
.
Standard_EXPORT gp_Lin2d ThisSolution (const Standard_Integer Index) const
 Returns the solution number Index and raises OutOfRange
exception if Index is greater than the number of solutions.
Be carefull: the Index is only a way to get all the
solutions, but is not associated to theses outside the
context of the algorithm-object. Raises OutOfRange is raised if Index is greater than
the number of solutions.
It raises NotDone if the algorithm failed.
.
Standard_EXPORT void WhichQualifier (const Standard_Integer Index, GccEnt_Position &Qualif1, GccEnt_Position &Qualif2) const
 Returns the qualifiers Qualif1 and Qualif2 of the
tangency arguments for the solution of index Index
computed by this algorithm.
The returned qualifiers are:
- those specified at the start of construction when the
solutions are defined as enclosing or outside with
respect to the arguments, or
- those computed during construction (i.e. enclosing or
outside) when the solutions are defined as unqualified
with respect to the arguments, or
- GccEnt_noqualifier if the tangency argument is a point.
Exceptions
Standard_OutOfRange if Index is less than zero or
greater than the number of solutions computed by this algorithm.
StdFail_NotDone if the construction fails.
.
Standard_EXPORT void Tangency1 (const Standard_Integer Index, Standard_Real &ParSol, Standard_Real &ParArg, gp_Pnt2d &PntSol) const
 Returns informations about the tangency point between the
result number Index and the first argument.
ParSol is the intrinsic parameter of the point PntSol on
the solution curv.
ParArg is the intrinsic parameter of the point PntSol on
the argument curv. Raises OutOfRange is raised if Index is greater than
the number of solutions.
It raises NotDone if the algorithm failed.
.
Standard_EXPORT void Tangency2 (const Standard_Integer Index, Standard_Real &ParSol, Standard_Real &ParArg, gp_Pnt2d &PntSol) const
 Returns informations about the tangency point between the
result number Index and the second argument.
ParSol is the intrinsic parameter of the point ParSol on
the solution curv.
ParArg is the intrinsic parameter of the point PntSol on
the argument curv. Raises OutOfRange is raised if Index is greater than
the number of solutions.
It raises NotDone if the algorithm failed.
.

Private Attributes

Standard_Boolean WellDone
Standard_Integer NbrSol
TColgp_Array1OfLin2d linsol
GccEnt_Array1OfPosition qualifier1
GccEnt_Array1OfPosition qualifier2
TColgp_Array1OfPnt2d pnttg1sol
TColgp_Array1OfPnt2d pnttg2sol
TColStd_Array1OfReal par1sol
TColStd_Array1OfReal par2sol
TColStd_Array1OfReal pararg1
TColStd_Array1OfReal pararg2


Constructor & Destructor Documentation

Standard_EXPORT GccAna_Lin2d2Tan::GccAna_Lin2d2Tan const gp_Pnt2d &  ThePoint1,
const gp_Pnt2d &  ThePoint2,
const Standard_Real  Tolerance
 

Standard_EXPORT GccAna_Lin2d2Tan::GccAna_Lin2d2Tan const GccEnt_QualifiedCirc Qualified1,
const gp_Pnt2d &  ThePoint,
const Standard_Real  Tolerance
 

Standard_EXPORT GccAna_Lin2d2Tan::GccAna_Lin2d2Tan const GccEnt_QualifiedCirc Qualified1,
const GccEnt_QualifiedCirc Qualified2,
const Standard_Real  Tolerance
 


Member Function Documentation

Standard_EXPORT Standard_Boolean GccAna_Lin2d2Tan::IsDone  )  const
 

Standard_EXPORT Standard_Integer GccAna_Lin2d2Tan::NbSolutions  )  const
 

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

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

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

Standard_EXPORT void GccAna_Lin2d2Tan::Tangency1 const Standard_Integer  Index,
Standard_Real &  ParSol,
Standard_Real &  ParArg,
gp_Pnt2d &  PntSol
const
 

Standard_EXPORT void GccAna_Lin2d2Tan::Tangency2 const Standard_Integer  Index,
Standard_Real &  ParSol,
Standard_Real &  ParArg,
gp_Pnt2d &  PntSol
const
 

Standard_EXPORT gp_Lin2d GccAna_Lin2d2Tan::ThisSolution const Standard_Integer  Index  )  const
 

Standard_EXPORT void GccAna_Lin2d2Tan::WhichQualifier const Standard_Integer  Index,
GccEnt_Position Qualif1,
GccEnt_Position Qualif2
const
 


Field Documentation

TColgp_Array1OfLin2d GccAna_Lin2d2Tan::linsol [private]
 

Standard_Integer GccAna_Lin2d2Tan::NbrSol [private]
 

TColStd_Array1OfReal GccAna_Lin2d2Tan::par1sol [private]
 

TColStd_Array1OfReal GccAna_Lin2d2Tan::par2sol [private]
 

TColStd_Array1OfReal GccAna_Lin2d2Tan::pararg1 [private]
 

TColStd_Array1OfReal GccAna_Lin2d2Tan::pararg2 [private]
 

TColgp_Array1OfPnt2d GccAna_Lin2d2Tan::pnttg1sol [private]
 

TColgp_Array1OfPnt2d GccAna_Lin2d2Tan::pnttg2sol [private]
 

GccEnt_Array1OfPosition GccAna_Lin2d2Tan::qualifier1 [private]
 

GccEnt_Array1OfPosition GccAna_Lin2d2Tan::qualifier2 [private]
 

Standard_Boolean GccAna_Lin2d2Tan::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