1 // File: Extrema_GLocateExtCC2d.gxx
2 // Created: Wed Jul 6 15:53:42 1994
3 // Author: Laurent PAINNOT
6 #include Extrema_ELCC2d_hxx
7 #include Extrema_LocECC2d_hxx
8 #include <GeomAbs_CurveType.hxx>
9 #include <StdFail_NotDone.hxx>
10 #include <Extrema_POnCurv2d.hxx>
11 #include <Precision.hxx>
14 //=======================================================================
15 //function : Extrema_GLocateExtCC2d
17 //=======================================================================
19 Extrema_GLocateExtCC2d::Extrema_GLocateExtCC2d (const Curve1& C1,
21 const Standard_Real U0,
22 const Standard_Real V0)
25 GeomAbs_CurveType type1 = Tool1::GetType(C1);
26 GeomAbs_CurveType type2 = Tool2::GetType(C2);
31 Standard_Real TolU = Tool1::Resolution(C1, Precision::Confusion());
32 Standard_Real TolV = Tool2::Resolution(C2, Precision::Confusion());
33 Extrema_POnCurv2d P1, P2;
35 // Non implemente pour l instant: l appel a Geom2dExtrema_ExtCC.
38 Extrema_LocECC2d Xtrem(C1, C2, U0, V0, TolU, TolV);
41 myDone = Xtrem.IsDone();
43 mySqDist = Xtrem.SquareDistance();
54 //=======================================================================
57 //=======================================================================
59 Standard_Boolean Extrema_GLocateExtCC2d::IsDone () const {
65 //=======================================================================
68 //=======================================================================
70 Standard_Real Extrema_GLocateExtCC2d::SquareDistance() const {
72 if (!myDone) { StdFail_NotDone::Raise(); }
78 //=======================================================================
81 //=======================================================================
83 void Extrema_GLocateExtCC2d::Point (Extrema_POnCurv2d& P1,
84 Extrema_POnCurv2d& P2) const
86 if (!myDone) { StdFail_NotDone::Raise(); }