X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_SplitToZonesTool.cxx;h=182c61781ffcc8601989763b74f99d91b5bedbcf;hb=58bb6b7459bebeeb089c9ed486c4683a8bae7288;hp=bef3e9a222b8dc9889fcad84385a75f56ea3cefb;hpb=95a58c6f6d03e925872ff59cea6ba65ddf6ec29f;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_SplitToZonesTool.cxx b/src/HYDROData/HYDROData_SplitToZonesTool.cxx index bef3e9a2..182c6178 100644 --- a/src/HYDROData/HYDROData_SplitToZonesTool.cxx +++ b/src/HYDROData/HYDROData_SplitToZonesTool.cxx @@ -34,12 +34,17 @@ #include #include #include +#include #include #include #include #include #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 +52,9 @@ static TCollection_AsciiString fileNameBefore("BeforeTranslation"); #endif +#define _DEVDEBUG_ +#include "HYDRO_trace.hxx" + TopoDS_Face HYDROData_SplitToZonesTool::SplitData::Face() const { TopoDS_Face aResFace; @@ -127,10 +135,16 @@ 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) { +#ifndef NDEBUG + DEBTRACE("Split"); +#endif SplitDataList anOutputSplitDataList; - if(theObjectList.IsEmpty()) return anOutputSplitDataList; + NCollection_DataMap OutNE; + if(theObjectList.IsEmpty()) + return anOutputSplitDataList; // Preparation. // Collect the object shapes to split. InputDataList will contain elements which will hold shape & name_of_shape. SplitDataList anInputSplitDataList; @@ -150,7 +164,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 +212,7 @@ HYDROData_SplitToZonesTool::SplitDataList anInputGroupList.append( aSplitData ); #ifdef DEB_SPLIT_TO_ZONES QString aStr = aSplitData.ObjectNames.join(" "); - cout << "Group# = " <::Iterator spit(OutNE); + for (;spit.More();spit.Next()) + { + const TopoDS_Edge& E = TopoDS::Edge(spit.Key()); + if (E.IsNull()) + continue; + SplitData SDI(SplitData::Data_IntEdge, E, spit.Value()->GetName()); + anOutputSplitDataList.append(SDI); + } + // Step 4. Fill output structure. #ifdef DEB_SPLIT_TO_ZONES TCollection_AsciiString aNam4 ("SC_"); @@ -557,7 +642,7 @@ HYDROData_SplitToZonesTool::SplitDataList else { aDestSplitData.Type = SplitData::Data_Edge; #ifdef DEB_SPLIT_TO_ZONES - TCollection_AsciiString aName = aNam4 + i + ".brep"; + TCollection_AsciiString aName = aNam4 + i + "_k.brep"; BRepTools::Write(aKey,aName.ToCString()); #endif } @@ -571,19 +656,19 @@ HYDROData_SplitToZonesTool::SplitDataList const QStringList& ObjectNames = aDM3.FindFromKey(aSh); aListOfNames.append(ObjectNames); #ifdef DEB_SPLIT_TO_ZONES - TCollection_AsciiString aName = aNam4 + i +"_" + j + ".brep"; + TCollection_AsciiString aName = aNam4 + i +"_" + j + "_l.brep"; BRepTools::Write(aSh ,aName.ToCString()); #endif } else { #ifdef DEB_SPLIT_TO_ZONES - TCollection_AsciiString aName = aNam4 +"__" + i +"_" + j + ".brep"; + TCollection_AsciiString aName = aNam4 +"__" + i +"_" + j + "_m.brep"; BRepTools::Write(aSh ,aName.ToCString()); - cout <