X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_SplitToZonesTool.cxx;h=e5a1d8428aa7d3b87393a9bd3eb1f5e7eb896f5c;hb=39b1848f103d89cfb544a1651b3fbf221fc2c401;hp=f91732cd2fcdba0a6ae49707008b8b684b76dee3;hpb=e423cfd15575a1feb27386b5516bd0c83bed5fe9;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_SplitToZonesTool.cxx b/src/HYDROData/HYDROData_SplitToZonesTool.cxx index f91732cd..e5a1d842 100644 --- a/src/HYDROData/HYDROData_SplitToZonesTool.cxx +++ b/src/HYDROData/HYDROData_SplitToZonesTool.cxx @@ -40,6 +40,9 @@ #include #include +#include +#include + //#define DEB_SPLIT_TO_ZONES 1 //#define DEB_SPLIT_TO_ZONES_CHECK_PARTITION 1 #if (defined (DEB_SPLIT_TO_ZONES) || defined(DEB_SPLIT_TO_ZONES_CHECK_PARTITION)) @@ -47,6 +50,9 @@ static TCollection_AsciiString fileNameBefore("BeforeTranslation"); #endif +#define _DEVDEBUG_ +#include "HYDRO_trace.hxx" + TopoDS_Face HYDROData_SplitToZonesTool::SplitData::Face() const { TopoDS_Face aResFace; @@ -127,8 +133,10 @@ Standard_Integer HYDROData_SplitToZonesTool::SplitFaces(const TopoDS_Compound& t HYDROData_SplitToZonesTool::SplitDataList HYDROData_SplitToZonesTool::Split( const HYDROData_SequenceOfObjects& theObjectList, const HYDROData_SequenceOfObjects& theGroupsList, - const Handle(HYDROData_PolylineXY)& thePolyline ) + const Handle(HYDROData_PolylineXY)& thePolyline, + const HYDROData_SequenceOfObjects& InterPolys) { + DEBTRACE("Split"); SplitDataList anOutputSplitDataList; if(theObjectList.IsEmpty()) return anOutputSplitDataList; // Preparation. @@ -150,7 +158,7 @@ HYDROData_SplitToZonesTool::SplitDataList if ( aShape.IsNull() ) continue; #ifdef DEB_SPLIT_TO_ZONES - TCollection_AsciiString aName = aNam + anIndex + ".brep"; + TCollection_AsciiString aName = aNam + anIndex + "_a.brep"; BRepTools::Write(aShape, aName.ToCString()); #endif if ( aShape.ShapeType() == TopAbs_COMPOUND ) { @@ -198,7 +206,7 @@ HYDROData_SplitToZonesTool::SplitDataList anInputGroupList.append( aSplitData ); #ifdef DEB_SPLIT_TO_ZONES QString aStr = aSplitData.ObjectNames.join(" "); - cout << "Group# = " <GetShape()); + if (! thePolyline.IsNull()) { + Handle(TopTools_HSequenceOfShape) aConnectedWires = new TopTools_HSequenceOfShape; + int nbWires = thePolyline->GetNbConnectedWires(aConnectedWires); + const TopoDS_Wire aBndWire = TopoDS::Wire(aConnectedWires->Value(1)); if(!aBndWire.IsNull()) { TopoDS_Face limFace; if(buildLimFace(aBndWire, limFace)) { @@ -382,12 +392,12 @@ HYDROData_SplitToZonesTool::SplitDataList const TopoDS_Shape& aFace = exp.Current(); if(!aFace.IsNull()) { const TopTools_ListOfShape& aListOfNew = mkCom.Modified(aFace); - //cout << "Modified: " << aListOfNew.Extent() <