Salome HOME
Comments moved.
[modules/hydro.git] / src / HYDROData / HYDROData_SplitToZonesTool.cxx
index 24e53396744d51f6a70987aa41ebf1689d1946fc..9b279724a040996e7fa09b21da7cd82861812c62 100644 (file)
@@ -1,7 +1,7 @@
 
 #include "HYDROData_SplitToZonesTool.h"
 
-#include "HYDROData_Polyline.h"
+#include "HYDROData_PolylineXY.h"
 
 #include <BRepAlgoAPI_Common.hxx>
 #include <BRepAlgoAPI_Cut.hxx>
@@ -36,7 +36,7 @@ TopoDS_Face HYDROData_SplitToZonesTool::SplitData::Face() const
 
 HYDROData_SplitToZonesTool::SplitDataList
 HYDROData_SplitToZonesTool::SplitToZones( const HYDROData_SequenceOfObjects& theObjectList,
-                                          const Handle(HYDROData_Polyline)&  thePolyline )
+                                          const Handle(HYDROData_PolylineXY)&  thePolyline )
 {
   SplitDataList anOutputSplitDataList;
 
@@ -46,23 +46,26 @@ HYDROData_SplitToZonesTool::SplitToZones( const HYDROData_SequenceOfObjects& the
   {
     Handle(HYDROData_Object) aGeomObj = 
       Handle(HYDROData_Object)::DownCast( theObjectList.Value( anIndex ) );
-    if( !aGeomObj.IsNull() )
-    {
-      TopoDS_Shape aShape = aGeomObj->GetTopShape();
-      if ( !aShape.IsNull() && aShape.ShapeType() == TopAbs_COMPOUND ) {
-        // Create split data for each face contained in the compound
-        TopExp_Explorer anExp( aShape, TopAbs_FACE );
-        for ( ; anExp.More(); anExp.Next() ) {
-          TopoDS_Face aFace = TopoDS::Face( anExp.Current() );
-          if ( !aFace.IsNull() ) {
-            SplitData aSplitData( aFace, aGeomObj->GetName() );
-            anInputSplitDataList.append( aSplitData );
-          }
+    if( aGeomObj.IsNull() )
+      continue;
+
+    TopoDS_Shape aShape = aGeomObj->GetTopShape();
+    if ( aShape.IsNull() )
+      continue;
+        
+    if ( aShape.ShapeType() == TopAbs_COMPOUND ) {
+      // Create split data for each face contained in the compound
+      TopExp_Explorer anExp( aShape, TopAbs_FACE );
+      for ( ; anExp.More(); anExp.Next() ) {
+        TopoDS_Face aFace = TopoDS::Face( anExp.Current() );
+        if ( !aFace.IsNull() ) {
+          SplitData aSplitData( aFace, aGeomObj->GetName() );
+          anInputSplitDataList.append( aSplitData );
         }
-      } else {
-        SplitData aSplitData( aShape, aGeomObj->GetName() );
-        anInputSplitDataList.append( aSplitData );
       }
+    } else {
+      SplitData aSplitData( aShape, aGeomObj->GetName() );
+      anInputSplitDataList.append( aSplitData );
     }
   }
 
@@ -106,7 +109,7 @@ HYDROData_SplitToZonesTool::SplitToZones( const HYDROData_SequenceOfObjects& the
   // Step 2. Take into account the boundary polyline.
   if( !thePolyline.IsNull() )
   {
-    TopoDS_Wire aWire = TopoDS::Wire( thePolyline->GetTopShape() );
+    TopoDS_Wire aWire = TopoDS::Wire( thePolyline->GetShape() );
     if( !aWire.IsNull() )
     {
       BRepBuilderAPI_MakeFace aMakeFace( aWire, Standard_True );