+ if(aTestInvert)
+ {
+ BRepTopAdaptor_FClass2d aClass(face, Precision::Confusion());
+ if(aClass.PerformInfinitePoint() == TopAbs_IN)
+ {
+ aRestr = Standard_False;
+ if(myMapOfInter.IsBound(face))
+ {
+ myMapOfInter.UnBind(face);
+ void *ptr = (void *)(new IntCurvesFace_Intersector(face, Precision::Confusion(),
+ aRestr));
+ myMapOfInter.Bind(face,ptr);
+ }
+ }
+ else
+ {
+ aRestr = Standard_True;
+ }
+ }
+ surf->ChangeSurface().Initialize(face, aRestr);