![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
It calculates all the distance between two curves. These distances can be maximum or minimum. More...
#include <Extrema_ExtCC.hxx>
Public Member Functions | |
| Extrema_ExtCC (const double TolC1=1.0e-10, const double TolC2=1.0e-10) | |
| Extrema_ExtCC (const Adaptor3d_Curve &C1, const Adaptor3d_Curve &C2, const double TolC1=1.0e-10, const double TolC2=1.0e-10) | |
| It calculates all the distances. | |
| Extrema_ExtCC (const Adaptor3d_Curve &C1, const Adaptor3d_Curve &C2, const double U1, const double U2, const double V1, const double V2, const double TolC1=1.0e-10, const double TolC2=1.0e-10) | |
| It calculates all the distances. | |
| void | Initialize (const Adaptor3d_Curve &C1, const Adaptor3d_Curve &C2, const double TolC1=1.0e-10, const double TolC2=1.0e-10) |
| Initializes but does not perform algorithm. | |
| void | Initialize (const Adaptor3d_Curve &C1, const Adaptor3d_Curve &C2, const double U1, const double U2, const double V1, const double V2, const double TolC1=1.0e-10, const double TolC2=1.0e-10) |
| Initializes but does not perform algorithm. | |
| void | SetCurve (const int theRank, const Adaptor3d_Curve &C) |
| void | SetCurve (const int theRank, const Adaptor3d_Curve &C, const double Uinf, const double Usup) |
| void | SetRange (const int theRank, const double Uinf, const double Usup) |
| void | SetTolerance (const int theRank, const double Tol) |
| void | Perform () |
| bool | IsDone () const |
| Returns True if the distances are found. | |
| int | NbExt () const |
| Returns the number of extremum distances. | |
| bool | IsParallel () const |
| Returns True if the two curves are parallel. | |
| double | SquareDistance (const int N=1) const |
| Returns the value of the Nth extremum square distance. | |
| void | Points (const int N, Extrema_POnCurv &P1, Extrema_POnCurv &P2) const |
| Returns the points of the Nth extremum distance. P1 is on the first curve, P2 on the second one. | |
| void | TrimmedSquareDistances (double &dist11, double &distP12, double &distP21, double &distP22, gp_Pnt &P11, gp_Pnt &P12, gp_Pnt &P21, gp_Pnt &P22) const |
| if the curve is a trimmed curve, dist11 is a square distance between the point on C1 of parameter FirstParameter and the point of parameter FirstParameter on C2. | |
| void | SetSingleSolutionFlag (const bool theSingleSolutionFlag) |
| Set flag for single extrema computation. Works on parametric solver only. | |
| bool | GetSingleSolutionFlag () const |
| Get flag for single extrema computation. Works on parametric solver only. | |
Protected Member Functions | |
| void | PrepareResults (const Extrema_ExtElC &AlgExt, const bool theIsInverse, const double Ut11, const double Ut12, const double Ut21, const double Ut22) |
| Prepares the extrema result(s) for analytical cases (line, circle, ellipsis etc.) | |
| void | PrepareResults (const Extrema_ECC &AlgExt, const double Ut11, const double Ut12, const double Ut21, const double Ut22) |
| Prepares the extrema result(s) for general cases (e.g. with B-spline curves). | |
| void | PrepareParallelResult (const double theUt11, const double theUt12, const double theUt21, const double theUt22, const double theSqDist) |
| Prepares the extrema result(s) in case when the given curves are parallel. | |
| void | ClearSolutions () |
It calculates all the distance between two curves. These distances can be maximum or minimum.
| Extrema_ExtCC::Extrema_ExtCC | ( | const Adaptor3d_Curve & | C1, |
| const Adaptor3d_Curve & | C2, | ||
| const double | TolC1 = 1.0e-10, | ||
| const double | TolC2 = 1.0e-10 ) |
It calculates all the distances.
| Extrema_ExtCC::Extrema_ExtCC | ( | const Adaptor3d_Curve & | C1, |
| const Adaptor3d_Curve & | C2, | ||
| const double | U1, | ||
| const double | U2, | ||
| const double | V1, | ||
| const double | V2, | ||
| const double | TolC1 = 1.0e-10, | ||
| const double | TolC2 = 1.0e-10 ) |
It calculates all the distances.
|
inlineprotected |
| bool Extrema_ExtCC::GetSingleSolutionFlag | ( | ) | const |
Get flag for single extrema computation. Works on parametric solver only.
| void Extrema_ExtCC::Initialize | ( | const Adaptor3d_Curve & | C1, |
| const Adaptor3d_Curve & | C2, | ||
| const double | TolC1 = 1.0e-10, | ||
| const double | TolC2 = 1.0e-10 ) |
Initializes but does not perform algorithm.
| void Extrema_ExtCC::Initialize | ( | const Adaptor3d_Curve & | C1, |
| const Adaptor3d_Curve & | C2, | ||
| const double | U1, | ||
| const double | U2, | ||
| const double | V1, | ||
| const double | V2, | ||
| const double | TolC1 = 1.0e-10, | ||
| const double | TolC2 = 1.0e-10 ) |
Initializes but does not perform algorithm.
| bool Extrema_ExtCC::IsDone | ( | ) | const |
Returns True if the distances are found.
| bool Extrema_ExtCC::IsParallel | ( | ) | const |
Returns True if the two curves are parallel.
| int Extrema_ExtCC::NbExt | ( | ) | const |
Returns the number of extremum distances.
| void Extrema_ExtCC::Perform | ( | ) |
| void Extrema_ExtCC::Points | ( | const int | N, |
| Extrema_POnCurv & | P1, | ||
| Extrema_POnCurv & | P2 ) const |
Returns the points of the Nth extremum distance. P1 is on the first curve, P2 on the second one.
|
protected |
Prepares the extrema result(s) in case when the given curves are parallel.
|
protected |
Prepares the extrema result(s) for general cases (e.g. with B-spline curves).
|
protected |
Prepares the extrema result(s) for analytical cases (line, circle, ellipsis etc.)
| void Extrema_ExtCC::SetCurve | ( | const int | theRank, |
| const Adaptor3d_Curve & | C ) |
| void Extrema_ExtCC::SetCurve | ( | const int | theRank, |
| const Adaptor3d_Curve & | C, | ||
| const double | Uinf, | ||
| const double | Usup ) |
Set flag for single extrema computation. Works on parametric solver only.
Returns the value of the Nth extremum square distance.
| void Extrema_ExtCC::TrimmedSquareDistances | ( | double & | dist11, |
| double & | distP12, | ||
| double & | distP21, | ||
| double & | distP22, | ||
| gp_Pnt & | P11, | ||
| gp_Pnt & | P12, | ||
| gp_Pnt & | P21, | ||
| gp_Pnt & | P22 ) const |
if the curve is a trimmed curve, dist11 is a square distance between the point on C1 of parameter FirstParameter and the point of parameter FirstParameter on C2.