Open CASCADE Technology 7.8.0
|
It calculates all the distance between two curves. These distances can be maximum or minimum. More...
#include <Extrema_ExtCC.hxx>
Protected Member Functions | |
void | PrepareResults (const Extrema_ExtElC &AlgExt, const Standard_Boolean theIsInverse, const Standard_Real Ut11, const Standard_Real Ut12, const Standard_Real Ut21, const Standard_Real Ut22) |
Prepares the extrema result(s) for analytical cases (line, circle, ellipsis etc.) | |
void | PrepareResults (const Extrema_ECC &AlgExt, const Standard_Real Ut11, const Standard_Real Ut12, const Standard_Real Ut21, const Standard_Real Ut22) |
Prepares the extrema result(s) for general cases (e.g. with B-spline curves). | |
void | PrepareParallelResult (const Standard_Real theUt11, const Standard_Real theUt12, const Standard_Real theUt21, const Standard_Real theUt22, const Standard_Real 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 Standard_Real | TolC1 = 1.0e-10 , |
const Standard_Real | TolC2 = 1.0e-10 |
||
) |
Extrema_ExtCC::Extrema_ExtCC | ( | const Adaptor3d_Curve & | C1, |
const Adaptor3d_Curve & | C2, | ||
const Standard_Real | TolC1 = 1.0e-10 , |
||
const Standard_Real | TolC2 = 1.0e-10 |
||
) |
It calculates all the distances.
Extrema_ExtCC::Extrema_ExtCC | ( | const Adaptor3d_Curve & | C1, |
const Adaptor3d_Curve & | C2, | ||
const Standard_Real | U1, | ||
const Standard_Real | U2, | ||
const Standard_Real | V1, | ||
const Standard_Real | V2, | ||
const Standard_Real | TolC1 = 1.0e-10 , |
||
const Standard_Real | TolC2 = 1.0e-10 |
||
) |
It calculates all the distances.
|
inlineprotected |
Standard_Boolean 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 Standard_Real | TolC1 = 1.0e-10 , |
||
const Standard_Real | TolC2 = 1.0e-10 |
||
) |
Initializes but does not perform algorithm.
void Extrema_ExtCC::Initialize | ( | const Adaptor3d_Curve & | C1, |
const Adaptor3d_Curve & | C2, | ||
const Standard_Real | U1, | ||
const Standard_Real | U2, | ||
const Standard_Real | V1, | ||
const Standard_Real | V2, | ||
const Standard_Real | TolC1 = 1.0e-10 , |
||
const Standard_Real | TolC2 = 1.0e-10 |
||
) |
Initializes but does not perform algorithm.
Standard_Boolean Extrema_ExtCC::IsDone | ( | ) | const |
Returns True if the distances are found.
Standard_Boolean Extrema_ExtCC::IsParallel | ( | ) | const |
Returns True if the two curves are parallel.
Standard_Integer Extrema_ExtCC::NbExt | ( | ) | const |
Returns the number of extremum distances.
void Extrema_ExtCC::Perform | ( | ) |
void Extrema_ExtCC::Points | ( | const Standard_Integer | 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 Standard_Integer | theRank, |
const Adaptor3d_Curve & | C | ||
) |
void Extrema_ExtCC::SetCurve | ( | const Standard_Integer | theRank, |
const Adaptor3d_Curve & | C, | ||
const Standard_Real | Uinf, | ||
const Standard_Real | Usup | ||
) |
void Extrema_ExtCC::SetRange | ( | const Standard_Integer | theRank, |
const Standard_Real | Uinf, | ||
const Standard_Real | Usup | ||
) |
void Extrema_ExtCC::SetSingleSolutionFlag | ( | const Standard_Boolean | theSingleSolutionFlag | ) |
Set flag for single extrema computation. Works on parametric solver only.
void Extrema_ExtCC::SetTolerance | ( | const Standard_Integer | theRank, |
const Standard_Real | Tol | ||
) |
Standard_Real Extrema_ExtCC::SquareDistance | ( | const Standard_Integer | N = 1 | ) | const |
Returns the value of the Nth extremum square distance.
void Extrema_ExtCC::TrimmedSquareDistances | ( | Standard_Real & | dist11, |
Standard_Real & | distP12, | ||
Standard_Real & | distP21, | ||
Standard_Real & | 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.