|
Open CASCADE Technology 7.9.3
|
#include <Extrema_ExtPC.hxx>
Public Member Functions | |
| Extrema_ExtPC () | |
| Extrema_ExtPC (const gp_Pnt &P, const Adaptor3d_Curve &C, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real TolF=1.0e-10) | |
| It calculates all the distances. The function F(u)=distance(P,C(u)) has an extremum when g(u)=dF/du=0. The algorithm searches all the zeros inside the definition range of the curve. Zeros are searched between uinf and usup. Tol is used to decide to stop the iterations according to the following condition: if n is the number of iterations, the algorithm stops when abs(F(Un)-F(Un-1)) < Tol. | |
| Extrema_ExtPC (const gp_Pnt &P, const Adaptor3d_Curve &C, const Standard_Real TolF=1.0e-10) | |
| It calculates all the distances. The function F(u)=distance(P,C(u)) has an extremum when g(u)=dF/du=0. The algorithm searches all the zeros inside the definition range of the curve. Tol is used to decide to stop the iterations according to the following condition: if n is the number of iterations, the algorithm stops when abs(F(Un)-F(Un-1)) < Tol. | |
| void | Initialize (const Adaptor3d_Curve &C, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real TolF=1.0e-10) |
| initializes the fields of the algorithm. | |
| void | Perform (const gp_Pnt &P) |
| An exception is raised if the fields have not been initialized. | |
| Standard_Boolean | IsDone () const |
| True if the distances are found. | |
| Standard_Real | SquareDistance (const Standard_Integer N) const |
| Returns the value of the <N>th extremum square distance. | |
| Standard_Integer | NbExt () const |
| Returns the number of extremum distances. | |
| Standard_Boolean | IsMin (const Standard_Integer N) const |
| Returns True if the <N>th extremum distance is a minimum. | |
| const Extrema_POnCurv & | Point (const Standard_Integer N) const |
| Returns the point of the <N>th extremum distance. | |
| void | TrimmedSquareDistances (Standard_Real &dist1, Standard_Real &dist2, gp_Pnt &P1, gp_Pnt &P2) const |
| if the curve is a trimmed curve, dist1 is a square distance between | |
Protected Member Functions | |
| void | IntervalPerform (const gp_Pnt &P) |
| void | AddSol (const Standard_Real theU, const gp_Pnt &theP, const Standard_Real theSqDist, const Standard_Boolean isMin) |
| Extrema_ExtPC::Extrema_ExtPC | ( | ) |
| Extrema_ExtPC::Extrema_ExtPC | ( | const gp_Pnt & | P, |
| const Adaptor3d_Curve & | C, | ||
| const Standard_Real | Uinf, | ||
| const Standard_Real | Usup, | ||
| const Standard_Real | TolF = 1.0e-10 ) |
It calculates all the distances. The function F(u)=distance(P,C(u)) has an extremum when g(u)=dF/du=0. The algorithm searches all the zeros inside the definition range of the curve. Zeros are searched between uinf and usup. Tol is used to decide to stop the iterations according to the following condition: if n is the number of iterations, the algorithm stops when abs(F(Un)-F(Un-1)) < Tol.
| Extrema_ExtPC::Extrema_ExtPC | ( | const gp_Pnt & | P, |
| const Adaptor3d_Curve & | C, | ||
| const Standard_Real | TolF = 1.0e-10 ) |
It calculates all the distances. The function F(u)=distance(P,C(u)) has an extremum when g(u)=dF/du=0. The algorithm searches all the zeros inside the definition range of the curve. Tol is used to decide to stop the iterations according to the following condition: if n is the number of iterations, the algorithm stops when abs(F(Un)-F(Un-1)) < Tol.
|
protected |
| void Extrema_ExtPC::Initialize | ( | const Adaptor3d_Curve & | C, |
| const Standard_Real | Uinf, | ||
| const Standard_Real | Usup, | ||
| const Standard_Real | TolF = 1.0e-10 ) |
initializes the fields of the algorithm.
|
protected |
| Standard_Boolean Extrema_ExtPC::IsDone | ( | ) | const |
True if the distances are found.
| Standard_Boolean Extrema_ExtPC::IsMin | ( | const Standard_Integer | N | ) | const |
Returns True if the <N>th extremum distance is a minimum.
| Standard_Integer Extrema_ExtPC::NbExt | ( | ) | const |
Returns the number of extremum distances.
| void Extrema_ExtPC::Perform | ( | const gp_Pnt & | P | ) |
An exception is raised if the fields have not been initialized.
| const Extrema_POnCurv & Extrema_ExtPC::Point | ( | const Standard_Integer | N | ) | const |
Returns the point of the <N>th extremum distance.
| Standard_Real Extrema_ExtPC::SquareDistance | ( | const Standard_Integer | N | ) | const |
Returns the value of the <N>th extremum square distance.
| void Extrema_ExtPC::TrimmedSquareDistances | ( | Standard_Real & | dist1, |
| Standard_Real & | dist2, | ||
| gp_Pnt & | P1, | ||
| gp_Pnt & | P2 ) const |
if the curve is a trimmed curve, dist1 is a square distance between
and the point of parameter FirstParameter <P1> and dist2 is a square distance between
and the point of parameter LastParameter <P2>.