- aMakeWire.Add( anEdgLeft );
- thePrs.myLeftBank = aMakeWire.Edge();
-
- aMakeWire.Add( aTopEdge );
- thePrs.myOutlet = aMakeWire.Edge();
-
- aMakeWire.Add( anEdgRight );
- thePrs.myRightBank = aMakeWire.Edge();
-
- TopoDS_Wire aSectProfileWire;
- if(aMakeWire.IsDone())
- aSectProfileWire = aMakeWire.Wire();
-
- BRepBuilderAPI_MakeFace aMakeFace( aSectProfileWire, Standard_True );
- TopoDS_Face aFace;
- aMakeFace.Build();
- if( aMakeFace.IsDone() )
- aFace = aMakeFace.Face();
-
- TopoDS_Shape aPrs2D;
-
- if ( !theArrOf2DProfiles.IsNull() ) {
- aCmp.Nullify();
- aBB.MakeCompound(aCmp);
- aBB.Add(aCmp,aFace);
- for(int i=1;i <= theArrOf2DProfiles->Length(); i++)
- aBB.Add(aCmp, theArrOf2DProfiles->Value(i));
-
- aPrs2D = aCmp;
- } else {
- aPrs2D = aFace;
- }
-
- aCh.Init(aPrs2D);
- if(aCh.IsValid())
- thePrs.myPrs2D = aPrs2D;
-#ifdef DEB_UPDATE
- else {
- BRepTools::Write(aPrs2D, "str2d.brep");
- thePrs.myPrs2D = aPrs2D;
+#ifndef NDEBUG
+ TopTools_IndexedMapOfShape EE;
+ TopExp::MapShapes(thePrs.myPrs2D, TopAbs_EDGE, EE);
+ int noncontNb = 0;
+ for (int i = 1; i <= 4; i++)
+ {
+ TopoDS_Shape W = LS(i);
+ TopTools_IndexedMapOfShape EW;
+ TopExp::MapShapes(W, TopAbs_EDGE, EW);
+ for (int k = 1; k <= EW.Extent(); k++)
+ noncontNb += !EE.Contains(EW(k));