#include <TopExp.hxx>
#include <TopTools_ListOfShape.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
-
+#include <BRepTopAdaptor_FClass2d.hxx>
+#include <TopAbs.hxx>
#define CALCULATION_REGIONS_PREF GetName() + "_Reg"
#define CALCULATION_ZONES_PREF GetName() + "_Zone"
return aResZone;
}
-
HYDROData_CalculationCase::PointClassification HYDROData_CalculationCase::GetPointClassification(
const gp_XY& thePoint,
const Handle(HYDROData_Zone)& theZone ) const
// POINT_OUT - point is out of zone face
// POINT_IN - point is inside of zone face
// POINT_ON - point is on the edge of zone face
-
+ BRepTopAdaptor_FClass2d aClassifier( aZoneFace, Precision::Confusion() );
+ TopAbs_State State = aClassifier.Perform( gp_Pnt2d(thePoint), Standard_False );
+ if (State == TopAbs_OUT)
+ aRes = POINT_OUT;
+ else if(State == TopAbs_IN)
+ aRes = POINT_IN;
+ else if(State == TopAbs_ON)
+ aRes = POINT_ON;
return aRes;
}