From 4bbe364fed6cec2ad585f35993c33cb752d1495b Mon Sep 17 00:00:00 2001 From: eap Date: Tue, 1 Nov 2005 13:24:14 +0000 Subject: [PATCH] PAL10015. Add virtual GetPointState() --- src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.cdl | 4 ++++ src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.cxx | 19 ++++++++++++++++--- src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.hxx | 1 + 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.cdl b/src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.cdl index 24c3459dd..cc3212db2 100644 --- a/src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.cdl +++ b/src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.cdl @@ -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; diff --git a/src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.cxx b/src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.cxx index 8ceaf7c45..fe07d04fc 100644 --- a/src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.cxx +++ b/src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.cxx @@ -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 : // diff --git a/src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.hxx b/src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.hxx index 975e80b69..7d0c6f819 100644 --- a/src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.hxx +++ b/src/GEOMAlgo/GEOMAlgo_FinderShapeOn1.hxx @@ -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 -- 2.39.2