]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
PAL10015. Add virtual GetPointState()
authoreap <eap@opencascade.com>
Tue, 1 Nov 2005 13:24:14 +0000 (13:24 +0000)
committereap <eap@opencascade.com>
Tue, 1 Nov 2005 13:24:14 +0000 (13:24 +0000)
src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.cdl
src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.cxx
src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.hxx

index 24c3459ddaa3dedfcd94cf3976c05bcbbb1500a0..cc3212db2d2115762358a50f404c1fddeddf7edb 100644 (file)
@@ -15,6 +15,7 @@ uses
     Surface from GeomAdaptor, 
      
     ShapeEnum from TopAbs, 
+    State from TopAbs,
     Face from TopoDS, 
     Edge from TopoDS, 
     ListOfShape from TopTools,  
@@ -105,6 +106,9 @@ is
        returns IndexedDataMapOfShapeState from GEOMAlgo; 
     ---C++:return const &      
     
+    GetPointState(me:out; aP: Pnt from gp)
+        returns State from TopAbs is virtual protected;
+
 fields
     mySurface   : Surface from Geom is protected;  
     myShapeType : ShapeEnum from TopAbs is protected;  
index 8ceaf7c4566bc62972b1e7020237cd5e8a28f922..fe07d04fca8a1af86d8d3e594301a54371708ceb 100644 (file)
@@ -252,7 +252,7 @@ void GEOMAlgo_FinderShapeOn1::ProcessVertices()
     const TopoDS_Vertex& aV=TopoDS::Vertex(aM(i));
     aP=BRep_Tool::Pnt(aV);
     //
-    GEOMAlgo_SurfaceTools::GetState(aP, myGAS, myTolerance, aSt);
+    aSt = GetPointState( aP );
     bIsConformState=GEOMAlgo_SurfaceTools::IsConformState(aSt, myState);
     //
     if (myShapeType==TopAbs_VERTEX){
@@ -344,7 +344,7 @@ void GEOMAlgo_FinderShapeOn1::ProcessEdges()
       }
       //
       const gp_Pnt& aP=aIt.Value();
-      GEOMAlgo_SurfaceTools::GetState(aP, myGAS, myTolerance, aSt);
+      aSt = GetPointState( aP );
       bIsToBreak=aSC.AppendState(aSt);
       if (bIsToBreak) {
        break;
@@ -434,7 +434,7 @@ void GEOMAlgo_FinderShapeOn1::ProcessFaces()
       }
       //
       const gp_Pnt& aP=aIt.Value();
-      GEOMAlgo_SurfaceTools::GetState(aP, myGAS, myTolerance, aSt);
+      aSt = GetPointState( aP );
       bIsToBreak=aSC.AppendState(aSt);
       if (bIsToBreak) {
        break;
@@ -755,6 +755,19 @@ void GEOMAlgo_FinderShapeOn1::CheckData()
   }
 }
 
+//=======================================================================
+//function : GetPointState
+//purpose  : 
+//=======================================================================
+
+TopAbs_State GEOMAlgo_FinderShapeOn1::GetPointState(const gp_Pnt& aP) 
+{
+  TopAbs_State aSt;
+  GEOMAlgo_SurfaceTools::GetState(aP, myGAS, myTolerance, aSt);
+  return aSt;
+}
+
+
 //
 // myErrorStatus :
 //
index 975e80b694724694db9ba7c3737d5bcbf109402c..7d0c6f8192fb207b8c9f906187889773763e20bb 100644 (file)
@@ -111,6 +111,7 @@ Standard_EXPORT   void ProcessSolids() ;
 Standard_EXPORT   void InnerPoints(const TopoDS_Face& aF,GEOMAlgo_ListOfPnt& aLP) ;
 Standard_EXPORT   void InnerPoints(const TopoDS_Edge& aE,GEOMAlgo_ListOfPnt& aLP) ;
 Standard_EXPORT   void InnerPoints(const TopoDS_Edge& aE,const Standard_Integer aNbPnts,GEOMAlgo_ListOfPnt& aLP) ;
+Standard_EXPORT virtual TopAbs_State GetPointState(const gp_Pnt& aP) ;
 
 
  // Fields PROTECTED