0030675: Visualization - remove redundant proxy classes in hierarchy of PrsMgr_Presen...
[occt.git] / src / IntTools / IntTools_Tools.hxx
index 83b87b2..5e82854 100644 (file)
@@ -25,6 +25,7 @@
 #include <TopAbs_State.hxx>
 #include <Standard_Real.hxx>
 #include <IntTools_SequenceOfCurves.hxx>
+#include <Precision.hxx>
 class TopoDS_Vertex;
 class TopoDS_Wire;
 class TopoDS_Face;
@@ -141,8 +142,11 @@ public:
   //! if aC is trimmed curve and basis curve is parabola,
   //! otherwise returns value of aTolBase
   Standard_EXPORT static Standard_Real CurveTolerance (const Handle(Geom_Curve)& aC, const Standard_Real aTolBase);
-  
-  Standard_EXPORT static Standard_Boolean CheckCurve (const Handle(Geom_Curve)& theC, const Standard_Real theTol, Bnd_Box& theBox);
+
+  //! Checks if the curve is not covered by the default tolerance (confusion).<br>
+  //! Builds bounding box for the curve and stores it into <theBox>.
+  Standard_EXPORT static Standard_Boolean CheckCurve(const IntTools_Curve& theCurve,
+                                                     Bnd_Box& theBox);
   
   Standard_EXPORT static Standard_Boolean IsOnPave (const Standard_Real theT, const IntTools_Range& theRange, const Standard_Real theTol);
   
@@ -160,9 +164,23 @@ public:
 
   //! Computes the max distance between points
   //! taken from 3D and 2D curves by the same parameter
-  Standard_EXPORT static Standard_Boolean ComputeTolerance (const Handle(Geom_Curve)& theCurve3D, const Handle(Geom2d_Curve)& theCurve2D, const Handle(Geom_Surface)& theSurf, const Standard_Real theFirst, const Standard_Real theLast, Standard_Real& theMaxDist, Standard_Real& theMaxPar);
-
-
+  Standard_EXPORT static
+    Standard_Boolean ComputeTolerance(const Handle(Geom_Curve)& theCurve3D,
+                                      const Handle(Geom2d_Curve)& theCurve2D,
+                                      const Handle(Geom_Surface)& theSurf,
+                                      const Standard_Real theFirst,
+                                      const Standard_Real theLast,
+                                      Standard_Real& theMaxDist,
+                                      Standard_Real& theMaxPar,
+                                      const Standard_Real theTolRange =
+                                                                  Precision::PConfusion());
+
+
+  //! Computes the correct Intersection range for 
+  //! Line/Line, Line/Plane and Plane/Plane intersections
+  Standard_EXPORT static Standard_Real ComputeIntRange(const Standard_Real theTol1,
+                                                       const Standard_Real theTol2,
+                                                       const Standard_Real theAngle);
 
 
 protected: