0032450: Modeling Algorithms - change BRepLib_CheckCurveOnSurface & GeomLib_CheckCurv...
[occt.git] / src / GeomLib / GeomLib_CheckCurveOnSurface.hxx
index 1e89a21..bc68342 100644 (file)
 #ifndef _GeomLib_CheckCurveOnSurface_HeaderFile
 #define _GeomLib_CheckCurveOnSurface_HeaderFile
 
-#include <Geom_Curve.hxx>
+#include <Adaptor3d_Curve.hxx>
 #include <Precision.hxx>
 #include <Standard.hxx>
 
-class Geom_Surface;
-class Geom2d_Curve;
+class Adaptor3d_CurveOnSurface;
 
 //! Computes the max distance between 3D-curve and 2D-curve
 //! in some surface.
@@ -35,48 +34,22 @@ public:
   
   //! Constructor
   Standard_EXPORT
-    GeomLib_CheckCurveOnSurface(const Handle(Geom_Curve)& theCurve, 
-                                const Handle(Geom_Surface)& theSurface, 
-                                const Standard_Real theFirst, 
-                                const Standard_Real theLast,
+    GeomLib_CheckCurveOnSurface(const Handle(Adaptor3d_Curve)& theCurve,
                                 const Standard_Real theTolRange = 
                                                       Precision::PConfusion());
   
   //! Sets the data for the algorithm
-  Standard_EXPORT void Init (const Handle(Geom_Curve)& theCurve, 
-                             const Handle(Geom_Surface)& theSurface, 
-                             const Standard_Real theFirst, 
-                             const Standard_Real theLast,
+  Standard_EXPORT void Init (const Handle(Adaptor3d_Curve)& theCurve,
                              const Standard_Real theTolRange = Precision::PConfusion());
 
   //! Initializes all members by default values
   Standard_EXPORT void Init();
 
   //! Computes the max distance for the 3d curve <myCurve>
-  //! and 2d curve <thePCurve>
+  //! and 2d curve <theCurveOnSurface>
   //! If isMultiThread == Standard_True then computation will be performed in parallel.
-  Standard_EXPORT void Perform(const Handle(Geom2d_Curve)& thePCurve, 
-                               const Standard_Boolean isMultiThread = Standard_True);
-
-  //! Returns my3DCurve
-  const Handle(Geom_Curve)& Curve() const
-  {
-    return myCurve;
-  }  
-
-  //! Returns mySurface
-  const Handle(Geom_Surface)& Surface() const
-  {
-    return mySurface;
-  }
-  
-  //! Returns first and last parameter of the curves
-  //! (2D- and 3D-curves are considered to have same range)
-  void Range (Standard_Real& theFirst, Standard_Real& theLast)
-  {
-    theFirst = myFirst;
-    theLast  = myLast;
-  }
+  Standard_EXPORT void Perform(const Handle(Adaptor3d_CurveOnSurface)& theCurveOnSurface,
+                               const Standard_Boolean isMultiThread = Standard_False);
 
   //! Returns true if the max distance has been found
   Standard_Boolean IsDone() const
@@ -109,10 +82,7 @@ public:
 
 private:
 
-  Handle(Geom_Curve) myCurve;
-  Handle(Geom_Surface) mySurface;
-  Standard_Real myFirst;
-  Standard_Real myLast;
+  Handle(Adaptor3d_Curve) myCurve;
   Standard_Integer myErrorStatus;
   Standard_Real myMaxDistance;
   Standard_Real myMaxParameter;