Open CASCADE Technology  7.7.0
Public Member Functions
Geom2dGcc_Circ2d3Tan Class Reference

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

#include <Geom2dGcc_Circ2d3Tan.hxx>

Public Member Functions

 Geom2dGcc_Circ2d3Tan (const Geom2dGcc_QualifiedCurve &Qualified1, const Geom2dGcc_QualifiedCurve &Qualified2, const Geom2dGcc_QualifiedCurve &Qualified3, const Standard_Real Tolerance, const Standard_Real Param1, const Standard_Real Param2, const Standard_Real Param3)
 Constructs one or more 2D circles tangential to three curves Qualified1, Qualified2 and Qualified3, where Param1, Param2 and Param3 are used, respectively, as the initial values of the parameters on Qualified1, Qualified2 and Qualified3 of the tangency point between these arguments and the solution sought, if the algorithm chooses an iterative method to find the solution (i.e. if either Qualified1, Qualified2 or Qualified3 is more complex than a line or a circle). More...
 
 Geom2dGcc_Circ2d3Tan (const Geom2dGcc_QualifiedCurve &Qualified1, const Geom2dGcc_QualifiedCurve &Qualified2, const Handle< Geom2d_Point > &Point, const Standard_Real Tolerance, const Standard_Real Param1, const Standard_Real Param2)
 Constructs one or more 2D circles tangential to two curves Qualified1 and Qualified2 and passing through the point Point, where Param1 and Param2 are used, respectively, as the initial values of the parameters on Qualified1 and Qualified2 of the tangency point between this argument and the solution sought, if the algorithm chooses an iterative method to find the solution (i.e. if either Qualified1 or Qualified2 is more complex than a line or a circle). More...
 
 Geom2dGcc_Circ2d3Tan (const Geom2dGcc_QualifiedCurve &Qualified1, const Handle< Geom2d_Point > &Point1, const Handle< Geom2d_Point > &Point2, const Standard_Real Tolerance, const Standard_Real Param1)
 Constructs one or more 2D circles tangential to the curve Qualified1 and passing through two points Point1 and Point2, where Param1 is used as the initial value of the parameter on Qualified1 of the tangency point between this argument and the solution sought, if the algorithm chooses an iterative method to find the solution (i.e. if Qualified1 is more complex than a line or a circle) More...
 
 Geom2dGcc_Circ2d3Tan (const Handle< Geom2d_Point > &Point1, const Handle< Geom2d_Point > &Point2, const Handle< Geom2d_Point > &Point3, const Standard_Real Tolerance)
 Constructs one or more 2D circles passing through three points Point1, Point2 and Point3. Tolerance is a tolerance criterion used by the algorithm to find a solution when, mathematically, the problem posed does not have a solution, but where there is numeric uncertainty attached to the arguments. For example, take: More...
 
void Results (const GccAna_Circ2d3Tan &Circ, const Standard_Integer Rank1, const Standard_Integer Rank2, const Standard_Integer Rank3)
 
Standard_Boolean IsDone () const
 Returns true if the construction algorithm does not fail (even if it finds no solution). Note: IsDone protects against a failure arising from a more internal intersection algorithm, which has reached its numeric limits. More...
 
Standard_Integer NbSolutions () const
 This method returns the number of solutions. NotDone is raised if the algorithm failed. More...
 
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 these outside the context of the algorithm-object. More...
 
void WhichQualifier (const Standard_Integer Index, GccEnt_Position &Qualif1, GccEnt_Position &Qualif2, GccEnt_Position &Qualif3) const
 It 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). More...
 
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 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. More...
 
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 and the second 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. More...
 
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 and the third 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. More...
 
Standard_Boolean IsTheSame1 (const Standard_Integer Index) const
 Returns True if the solution is equal to the first argument. More...
 
Standard_Boolean IsTheSame2 (const Standard_Integer Index) const
 Returns True if the solution is equal to the second argument. More...
 
Standard_Boolean IsTheSame3 (const Standard_Integer Index) const
 Returns True if the solution is equal to the third argument. If Rarg is the radius of the first, second or third argument, Rsol is the radius of the solution and dist is the distance between the two centers, we consider the two circles to be identical if |Rarg - Rsol| and dist are less than or equal to the tolerance criterion given at the time of construction of this algorithm. 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. More...
 

Detailed Description

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

Constructor & Destructor Documentation

◆ Geom2dGcc_Circ2d3Tan() [1/4]

Geom2dGcc_Circ2d3Tan::Geom2dGcc_Circ2d3Tan ( const Geom2dGcc_QualifiedCurve Qualified1,
const Geom2dGcc_QualifiedCurve Qualified2,
const Geom2dGcc_QualifiedCurve Qualified3,
const Standard_Real  Tolerance,
const Standard_Real  Param1,
const Standard_Real  Param2,
const Standard_Real  Param3 
)

Constructs one or more 2D circles tangential to three curves Qualified1, Qualified2 and Qualified3, where Param1, Param2 and Param3 are used, respectively, as the initial values of the parameters on Qualified1, Qualified2 and Qualified3 of the tangency point between these arguments and the solution sought, if the algorithm chooses an iterative method to find the solution (i.e. if either Qualified1, Qualified2 or Qualified3 is more complex than a line or a circle).

◆ Geom2dGcc_Circ2d3Tan() [2/4]

Geom2dGcc_Circ2d3Tan::Geom2dGcc_Circ2d3Tan ( const Geom2dGcc_QualifiedCurve Qualified1,
const Geom2dGcc_QualifiedCurve Qualified2,
const Handle< Geom2d_Point > &  Point,
const Standard_Real  Tolerance,
const Standard_Real  Param1,
const Standard_Real  Param2 
)

Constructs one or more 2D circles tangential to two curves Qualified1 and Qualified2 and passing through the point Point, where Param1 and Param2 are used, respectively, as the initial values of the parameters on Qualified1 and Qualified2 of the tangency point between this argument and the solution sought, if the algorithm chooses an iterative method to find the solution (i.e. if either Qualified1 or Qualified2 is more complex than a line or a circle).

◆ Geom2dGcc_Circ2d3Tan() [3/4]

Geom2dGcc_Circ2d3Tan::Geom2dGcc_Circ2d3Tan ( const Geom2dGcc_QualifiedCurve Qualified1,
const Handle< Geom2d_Point > &  Point1,
const Handle< Geom2d_Point > &  Point2,
const Standard_Real  Tolerance,
const Standard_Real  Param1 
)

Constructs one or more 2D circles tangential to the curve Qualified1 and passing through two points Point1 and Point2, where Param1 is used as the initial value of the parameter on Qualified1 of the tangency point between this argument and the solution sought, if the algorithm chooses an iterative method to find the solution (i.e. if Qualified1 is more complex than a line or a circle)

◆ Geom2dGcc_Circ2d3Tan() [4/4]

Geom2dGcc_Circ2d3Tan::Geom2dGcc_Circ2d3Tan ( const Handle< Geom2d_Point > &  Point1,
const Handle< Geom2d_Point > &  Point2,
const Handle< Geom2d_Point > &  Point3,
const Standard_Real  Tolerance 
)

Constructs one or more 2D circles passing through three points Point1, Point2 and Point3. Tolerance is a tolerance criterion used by the algorithm to find a solution when, mathematically, the problem posed does not have a solution, but where there is numeric uncertainty attached to the arguments. For example, take:

  • two circles C1 and C2, such that C2 is inside C1, and almost tangential to C1; there is in fact no point of intersection between C1 and C2; and
  • a circle C3 outside C1. You now want to find a circle which is tangential to C1, C2 and C3: a pure mathematical resolution will not find a solution. This is where the tolerance criterion is used: the algorithm considers that C1 and C2 are tangential if the shortest distance between these two circles is less than or equal to Tolerance. Thus, the algorithm finds a solution. Warning An iterative algorithm is used if Qualified1, Qualified2 or Qualified3 is more complex than a line or a circle. In such cases, the algorithm constructs only one solution. Exceptions GccEnt_BadQualifier if a qualifier is inconsistent with the argument it qualifies (for example, enclosing for a line).

Member Function Documentation

◆ IsDone()

Standard_Boolean Geom2dGcc_Circ2d3Tan::IsDone ( ) const

Returns true if the construction algorithm does not fail (even if it finds no solution). Note: IsDone protects against a failure arising from a more internal intersection algorithm, which has reached its numeric limits.

◆ IsTheSame1()

Standard_Boolean Geom2dGcc_Circ2d3Tan::IsTheSame1 ( const Standard_Integer  Index) const

Returns True if the solution is equal to the first argument.

◆ IsTheSame2()

Standard_Boolean Geom2dGcc_Circ2d3Tan::IsTheSame2 ( const Standard_Integer  Index) const

Returns True if the solution is equal to the second argument.

◆ IsTheSame3()

Standard_Boolean Geom2dGcc_Circ2d3Tan::IsTheSame3 ( const Standard_Integer  Index) const

Returns True if the solution is equal to the third argument. If Rarg is the radius of the first, second or third argument, Rsol is the radius of the solution and dist is the distance between the two centers, we consider the two circles to be identical if |Rarg - Rsol| and dist are less than or equal to the tolerance criterion given at the time of construction of this algorithm. 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.

◆ NbSolutions()

Standard_Integer Geom2dGcc_Circ2d3Tan::NbSolutions ( ) const

This method returns the number of solutions. NotDone is raised if the algorithm failed.

◆ Results()

void Geom2dGcc_Circ2d3Tan::Results ( const GccAna_Circ2d3Tan Circ,
const Standard_Integer  Rank1,
const Standard_Integer  Rank2,
const Standard_Integer  Rank3 
)

◆ Tangency1()

void Geom2dGcc_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 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.

◆ Tangency2()

void Geom2dGcc_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 and the second 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.

◆ Tangency3()

void Geom2dGcc_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 and the third 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.

◆ ThisSolution()

gp_Circ2d Geom2dGcc_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 these outside the context of the algorithm-object.

◆ WhichQualifier()

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

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