Open CASCADE Technology 7.8.2.dev
GccAna_Circ2dTanCen Class Reference

This class implements the algorithms used to create 2d circles tangent to an entity and centered on a point. The arguments of all construction methods are : More...

#include <GccAna_Circ2dTanCen.hxx>

Public Member Functions

 GccAna_Circ2dTanCen (const GccEnt_QualifiedCirc &Qualified1, const gp_Pnt2d &Pcenter, const Standard_Real Tolerance)
 This method implements the algorithms used to create 2d circles tangent to a circle and centered on a point.
 
 GccAna_Circ2dTanCen (const gp_Lin2d &Linetan, const gp_Pnt2d &Pcenter)
 This method implements the algorithms used to create 2d circles tangent to a line and centered on a point.
 
 GccAna_Circ2dTanCen (const gp_Pnt2d &Point1, const gp_Pnt2d &Pcenter)
 This method implements the algorithms used to create 2d circles passing through a point and centered on a point. 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. In these algorithms Tolerance is only used in very specific cases where the center of the solution is very close to the circle to which it is tangential, and where the solution is therefore a very small circle. Exceptions GccEnt_BadQualifier if a qualifier is inconsistent with the argument it qualifies (for example, enclosing for a line).
 
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
 Returns the number of circles, representing solutions computed by this algorithm and raises NotDone exception if the algorithm didn't succeed.
 
gp_Circ2d ThisSolution (const Standard_Integer Index) const
 Returns the circle, representing 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. Raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions or less than zer.
 
void WhichQualifier (const Standard_Integer Index, GccEnt_Position &Qualif1) const
 Returns the qualifier Qualif1 of the tangency argument for the solution of index Index computed by this algorithm. The returned qualifier is:
 
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. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions or less than zero.
 
Standard_Boolean IsTheSame1 (const Standard_Integer Index) const
 Returns True if the solution number Index is equal to the first argument. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions or less than zero.
 

Detailed Description

This class implements the algorithms used to create 2d circles tangent to an entity and centered on a point. The arguments of all construction methods are :

  • The qualified element for the tangency constrains (QualifiedCirc, Line, Point).
  • The center point Pcenter.
  • A real Tolerance. Tolerance is only used in the limits cases. For example : We want to create a circle tangent to an EnclosedCirc C1 with a tolerance Tolerance. If we did not used Tolerance it is impossible to find a solution in the following case : Pcenter is outside C1. With Tolerance we will give a solution if the distance between C1 and Pcenter is lower than or equal Tolerance.

Constructor & Destructor Documentation

◆ GccAna_Circ2dTanCen() [1/3]

GccAna_Circ2dTanCen::GccAna_Circ2dTanCen ( const GccEnt_QualifiedCirc & Qualified1,
const gp_Pnt2d & Pcenter,
const Standard_Real Tolerance )

This method implements the algorithms used to create 2d circles tangent to a circle and centered on a point.

◆ GccAna_Circ2dTanCen() [2/3]

GccAna_Circ2dTanCen::GccAna_Circ2dTanCen ( const gp_Lin2d & Linetan,
const gp_Pnt2d & Pcenter )

This method implements the algorithms used to create 2d circles tangent to a line and centered on a point.

◆ GccAna_Circ2dTanCen() [3/3]

GccAna_Circ2dTanCen::GccAna_Circ2dTanCen ( const gp_Pnt2d & Point1,
const gp_Pnt2d & Pcenter )

This method implements the algorithms used to create 2d circles passing through a point and centered on a point. 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. In these algorithms Tolerance is only used in very specific cases where the center of the solution is very close to the circle to which it is tangential, and where the solution is therefore a very small circle. 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 GccAna_Circ2dTanCen::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_Circ2dTanCen::IsTheSame1 ( const Standard_Integer Index) const

Returns True if the solution number Index is equal to the first argument. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions or less than zero.

◆ NbSolutions()

Standard_Integer GccAna_Circ2dTanCen::NbSolutions ( ) const

Returns the number of circles, representing solutions computed by this algorithm and raises NotDone exception if the algorithm didn't succeed.

◆ Tangency1()

void GccAna_Circ2dTanCen::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. It raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions or less than zero.

◆ ThisSolution()

gp_Circ2d GccAna_Circ2dTanCen::ThisSolution ( const Standard_Integer Index) const

Returns the circle, representing 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. Raises NotDone if the construction algorithm didn't succeed. It raises OutOfRange if Index is greater than the number of solutions or less than zer.

◆ WhichQualifier()

void GccAna_Circ2dTanCen::WhichQualifier ( const Standard_Integer Index,
GccEnt_Position & Qualif1 ) const

Returns the qualifier Qualif1 of the tangency argument for the solution of index Index computed by this algorithm. The returned qualifier is:

  • that specified at the start of construction when the solutions are defined as enclosed, enclosing or 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: