- if ( theObject.IsNull() )
- return false;
-
- return theObject->IsKind( STANDARD_TYPE(HYDROData_ArtificialObject) ) ||
- theObject->IsKind( STANDARD_TYPE(HYDROData_NaturalObject) );
-}
-
+ TopAbs_State aState(TopAbs_UNKNOWN);
+ if(theFace.IsNull()) return aState;
+ Standard_Real aTol = BRep_Tool::Tolerance(theFace);
+ BRepAdaptor_Surface Ads ( theFace, Standard_False );
+ Standard_Real toluv = Min ( Ads.UResolution(aTol), Ads.VResolution(aTol) );
+ const gp_Pln& aPlane = Ads.Surface().Plane();
+ gp_Pnt aPnt(theXY.X(), theXY.Y(), 0.);
+ Standard_Real aU1, aV1;
+ ElSLib::Parameters(aPlane,aPnt, aU1, aV1);
+ BRepTopAdaptor_FClass2d aClassifier( theFace, toluv );
+ aState = aClassifier.Perform( gp_Pnt2d(aU1, aV1), Standard_False );
+ return aState;
+}
\ No newline at end of file