Open CASCADE Technology 7.8.2.dev
GccAna_Circ2d3Tan Class Reference

This class implements the algorithms used to create 2d circles tangent to 3 points/lines/circles. The arguments of all construction methods are : More...

#include <GccAna_Circ2d3Tan.hxx>

Public Member Functions

 GccAna_Circ2d3Tan (const GccEnt_QualifiedCirc &Qualified1, const GccEnt_QualifiedCirc &Qualified2, const GccEnt_QualifiedCirc &Qualified3, const Standard_Real Tolerance)
 This method implements the algorithms used to create 2d circles tangent to 3 circles. ConstructionError is raised if there is a problem during the computation.
 
 GccAna_Circ2d3Tan (const GccEnt_QualifiedCirc &Qualified1, const GccEnt_QualifiedCirc &Qualified2, const GccEnt_QualifiedLin &Qualified3, const Standard_Real Tolerance)
 This method implements the algorithms used to create 2d circles tangent to 2 circles and 1 line. ConstructionError is raised if there is a problem during the computation.
 
 GccAna_Circ2d3Tan (const GccEnt_QualifiedCirc &Qualified1, const GccEnt_QualifiedLin &Qualified2, const GccEnt_QualifiedLin &Qualified3, const Standard_Real Tolerance)
 This method implements the algorithms used to create 2d circles tangent to 1 circle and 2 lines. ConstructionError is raised if there is a problem during the computation.
 
 GccAna_Circ2d3Tan (const GccEnt_QualifiedLin &Qualified1, const GccEnt_QualifiedLin &Qualified2, const GccEnt_QualifiedLin &Qualified3, const Standard_Real Tolerance)
 This method implements the algorithms used to create 2d circles tangent to 3 lines. ConstructionError is raised if there is a problem during the computation.
 
 GccAna_Circ2d3Tan (const GccEnt_QualifiedCirc &Qualified1, const GccEnt_QualifiedCirc &Qualified2, const gp_Pnt2d &Point3, const Standard_Real Tolerance)
 This method implements the algorithms used to create 2d circles tangent to 2 circles and 1 Point. ConstructionError is raised if there is a problem during the computation.
 
 GccAna_Circ2d3Tan (const GccEnt_QualifiedCirc &Qualified1, const GccEnt_QualifiedLin &Qualified2, const gp_Pnt2d &Point3, const Standard_Real Tolerance)
 This method implements the algorithms used to create 2d circles tangent to a circle and a line and 1 Point. ConstructionError is raised if there is a problem during the computation.
 
 GccAna_Circ2d3Tan (const GccEnt_QualifiedLin &Qualified1, const GccEnt_QualifiedLin &Qualified2, const gp_Pnt2d &Point3, const Standard_Real Tolerance)
 This method implements the algorithms used to create 2d circles tangent to 2 lines and 1 Point. ConstructionError is raised if there is a problem during the computation.
 
 GccAna_Circ2d3Tan (const GccEnt_QualifiedCirc &Qualified1, const gp_Pnt2d &Point2, const gp_Pnt2d &Point3, const Standard_Real Tolerance)
 This method implements the algorithms used to create 2d circles tangent to a circle and passing through 2 Points. ConstructionError is raised if there is a problem during the computation.
 
 GccAna_Circ2d3Tan (const GccEnt_QualifiedLin &Qualified1, const gp_Pnt2d &Point2, const gp_Pnt2d &Point3, const Standard_Real Tolerance)
 This method implements the algorithms used to create 2d circles tangent to a line and passing through 2 Points. ConstructionError is raised if there is a problem during the computation.
 
 GccAna_Circ2d3Tan (const gp_Pnt2d &Point1, const gp_Pnt2d &Point2, const gp_Pnt2d &Point3, const Standard_Real Tolerance)
 This method implements the algorithms used to create 2d circles passing through 3 Points. ConstructionError is raised if there is a problem during the computation.
 
Standard_Boolean IsDone () const
 This method returns True if the construction algorithm succeeded. Note: IsDone protects against a failure arising from a more internal intersection algorithm, which has reached its numeric limits.
 
Standard_Integer NbSolutions () const
 This method returns the number of solutions. Raises NotDone if the construction algorithm didn't succeed.
 
gp_Circ2d 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 careful: the Index is only a way to get all the solutions, but is not associated to those outside the context of the algorithm-object. Raises OutOfRange if Index is greater than the number of solutions. It raises NotDone if the algorithm failed.
 
void WhichQualifier (const Standard_Integer Index, GccEnt_Position &Qualif1, GccEnt_Position &Qualif2, GccEnt_Position &Qualif3) const
 Returns the information about the qualifiers of the tangency arguments concerning the solution number Index. It returns the real qualifiers (the qualifiers given to the constructor method in case of enclosed, enclosing and outside and the qualifiers computedin case of unqualified).
 
void Tangency1 (const Standard_Integer Index, Standard_Real &ParSol, Standard_Real &ParArg, gp_Pnt2d &PntSol) const
 Returns information 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 PntArg on the argument curv. Raises OutOfRange if Index is greater than the number of solutions. It raises NotDone if the algorithm failed.
 
void Tangency2 (const Standard_Integer Index, Standard_Real &ParSol, Standard_Real &ParArg, gp_Pnt2d &PntSol) const
 Returns information 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 if Index is greater than the number of solutions. It raises NotDone if the algorithm failed.
 
void Tangency3 (const Standard_Integer Index, Standard_Real &ParSol, Standard_Real &ParArg, gp_Pnt2d &PntSol) const
 Returns information 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 if Index is greater than the number of solutions. It raises NotDone if the algorithm failed.
 
Standard_Boolean IsTheSame1 (const Standard_Integer Index) const
 Returns True if the solution number Index is equal to the first argument. Raises OutOfRange if Index is greater than the number of solutions. It raises NotDone if the algorithm failed.
 
Standard_Boolean IsTheSame2 (const Standard_Integer Index) const
 Returns True if the solution number Index is equal to the second argument. Raises OutOfRange Index is greater than the number of solutions. It raises NotDone if the algorithm failed.
 
Standard_Boolean IsTheSame3 (const Standard_Integer Index) const
 Returns True if the solution number Index is equal to the third argument. Raises OutOfRange if Index is greater than the number of solutions. It raises NotDone if the algorithm failed.
 

Detailed Description

This class implements the algorithms used to create 2d circles tangent to 3 points/lines/circles. The arguments of all construction methods are :

  • The three qualified elements for the tangency constraints (QualifiedCirc, QualifiedLine, Points).
  • A real Tolerance. Tolerance is only used in the limit cases. For example : We want to create a circle tangent to an UnqualifiedCirc C1 and an UnqualifiedCirc C2 and an UnqualifiedCirc C3 with a tolerance Tolerance. If we do not use Tolerance it is impossible to find a solution in the following case : C2 is inside C1 and there is no intersection point between the two circles, and C3 is completely outside C1. With Tolerance we will find a solution if the lowest distance between C1 and C2 is lower than or equal Tolerance.

Constructor & Destructor Documentation

◆ GccAna_Circ2d3Tan() [1/10]

GccAna_Circ2d3Tan::GccAna_Circ2d3Tan ( const GccEnt_QualifiedCirc & Qualified1,
const GccEnt_QualifiedCirc & Qualified2,
const GccEnt_QualifiedCirc & Qualified3,
const Standard_Real Tolerance )

This method implements the algorithms used to create 2d circles tangent to 3 circles. ConstructionError is raised if there is a problem during the computation.

◆ GccAna_Circ2d3Tan() [2/10]

GccAna_Circ2d3Tan::GccAna_Circ2d3Tan ( const GccEnt_QualifiedCirc & Qualified1,
const GccEnt_QualifiedCirc & Qualified2,
const GccEnt_QualifiedLin & Qualified3,
const Standard_Real Tolerance )

This method implements the algorithms used to create 2d circles tangent to 2 circles and 1 line. ConstructionError is raised if there is a problem during the computation.

◆ GccAna_Circ2d3Tan() [3/10]

GccAna_Circ2d3Tan::GccAna_Circ2d3Tan ( const GccEnt_QualifiedCirc & Qualified1,
const GccEnt_QualifiedLin & Qualified2,
const GccEnt_QualifiedLin & Qualified3,
const Standard_Real Tolerance )

This method implements the algorithms used to create 2d circles tangent to 1 circle and 2 lines. ConstructionError is raised if there is a problem during the computation.

◆ GccAna_Circ2d3Tan() [4/10]

GccAna_Circ2d3Tan::GccAna_Circ2d3Tan ( const GccEnt_QualifiedLin & Qualified1,
const GccEnt_QualifiedLin & Qualified2,
const GccEnt_QualifiedLin & Qualified3,
const Standard_Real Tolerance )

This method implements the algorithms used to create 2d circles tangent to 3 lines. ConstructionError is raised if there is a problem during the computation.

◆ GccAna_Circ2d3Tan() [5/10]

GccAna_Circ2d3Tan::GccAna_Circ2d3Tan ( const GccEnt_QualifiedCirc & Qualified1,
const GccEnt_QualifiedCirc & Qualified2,
const gp_Pnt2d & Point3,
const Standard_Real Tolerance )

This method implements the algorithms used to create 2d circles tangent to 2 circles and 1 Point. ConstructionError is raised if there is a problem during the computation.

◆ GccAna_Circ2d3Tan() [6/10]

GccAna_Circ2d3Tan::GccAna_Circ2d3Tan ( const GccEnt_QualifiedCirc & Qualified1,
const GccEnt_QualifiedLin & Qualified2,
const gp_Pnt2d & Point3,
const Standard_Real Tolerance )

This method implements the algorithms used to create 2d circles tangent to a circle and a line and 1 Point. ConstructionError is raised if there is a problem during the computation.

◆ GccAna_Circ2d3Tan() [7/10]

GccAna_Circ2d3Tan::GccAna_Circ2d3Tan ( const GccEnt_QualifiedLin & Qualified1,
const GccEnt_QualifiedLin & Qualified2,
const gp_Pnt2d & Point3,
const Standard_Real Tolerance )

This method implements the algorithms used to create 2d circles tangent to 2 lines and 1 Point. ConstructionError is raised if there is a problem during the computation.

◆ GccAna_Circ2d3Tan() [8/10]

GccAna_Circ2d3Tan::GccAna_Circ2d3Tan ( const GccEnt_QualifiedCirc & Qualified1,
const gp_Pnt2d & Point2,
const gp_Pnt2d & Point3,
const Standard_Real Tolerance )

This method implements the algorithms used to create 2d circles tangent to a circle and passing through 2 Points. ConstructionError is raised if there is a problem during the computation.

◆ GccAna_Circ2d3Tan() [9/10]

GccAna_Circ2d3Tan::GccAna_Circ2d3Tan ( const GccEnt_QualifiedLin & Qualified1,
const gp_Pnt2d & Point2,
const gp_Pnt2d & Point3,
const Standard_Real Tolerance )

This method implements the algorithms used to create 2d circles tangent to a line and passing through 2 Points. ConstructionError is raised if there is a problem during the computation.

◆ GccAna_Circ2d3Tan() [10/10]

GccAna_Circ2d3Tan::GccAna_Circ2d3Tan ( const gp_Pnt2d & Point1,
const gp_Pnt2d & Point2,
const gp_Pnt2d & Point3,
const Standard_Real Tolerance )

This method implements the algorithms used to create 2d circles passing through 3 Points. ConstructionError is raised if there is a problem during the computation.

Member Function Documentation

◆ IsDone()

Standard_Boolean GccAna_Circ2d3Tan::IsDone ( ) const

This method returns True if the construction algorithm succeeded. Note: IsDone protects against a failure arising from a more internal intersection algorithm, which has reached its numeric limits.

◆ IsTheSame1()

Standard_Boolean GccAna_Circ2d3Tan::IsTheSame1 ( const Standard_Integer Index) const

Returns True if the solution number Index is equal to the first argument. Raises OutOfRange if Index is greater than the number of solutions. It raises NotDone if the algorithm failed.

◆ IsTheSame2()

Standard_Boolean GccAna_Circ2d3Tan::IsTheSame2 ( const Standard_Integer Index) const

Returns True if the solution number Index is equal to the second argument. Raises OutOfRange Index is greater than the number of solutions. It raises NotDone if the algorithm failed.

◆ IsTheSame3()

Standard_Boolean GccAna_Circ2d3Tan::IsTheSame3 ( const Standard_Integer Index) const

Returns True if the solution number Index is equal to the third argument. Raises OutOfRange if Index is greater than the number of solutions. It raises NotDone if the algorithm failed.

◆ NbSolutions()

Standard_Integer GccAna_Circ2d3Tan::NbSolutions ( ) const

This method returns the number of solutions. Raises NotDone if the construction algorithm didn't succeed.

◆ Tangency1()

void GccAna_Circ2d3Tan::Tangency1 ( const Standard_Integer Index,
Standard_Real & ParSol,
Standard_Real & ParArg,
gp_Pnt2d & PntSol ) const

Returns information 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 PntArg on the argument curv. Raises OutOfRange if Index is greater than the number of solutions. It raises NotDone if the algorithm failed.

◆ Tangency2()

void GccAna_Circ2d3Tan::Tangency2 ( const Standard_Integer Index,
Standard_Real & ParSol,
Standard_Real & ParArg,
gp_Pnt2d & PntSol ) const

Returns information 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 if Index is greater than the number of solutions. It raises NotDone if the algorithm failed.

◆ Tangency3()

void GccAna_Circ2d3Tan::Tangency3 ( const Standard_Integer Index,
Standard_Real & ParSol,
Standard_Real & ParArg,
gp_Pnt2d & PntSol ) const

Returns information 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 if Index is greater than the number of solutions. It raises NotDone if the algorithm failed.

◆ ThisSolution()

gp_Circ2d GccAna_Circ2d3Tan::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 careful: the Index is only a way to get all the solutions, but is not associated to those outside the context of the algorithm-object. Raises OutOfRange if Index is greater than the number of solutions. It raises NotDone if the algorithm failed.

◆ WhichQualifier()

void GccAna_Circ2d3Tan::WhichQualifier ( const Standard_Integer Index,
GccEnt_Position & Qualif1,
GccEnt_Position & Qualif2,
GccEnt_Position & Qualif3 ) const

Returns the information about the qualifiers of the tangency arguments concerning the solution number Index. It returns the real qualifiers (the qualifiers given to the constructor method in case of enclosed, enclosing and outside and the qualifiers computedin case of unqualified).


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