Salome HOME
lot 10 - warnings for DTM - untested
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_VTKPrsShape.cxx
index 5d152ea5de908ae1e658e085875f617948a40033..ce016a554b6431e2f86fe9023f88072a3810dc6d 100644 (file)
@@ -24,6 +24,7 @@
 #include <HYDROData_DummyObject3D.h>
 #include <HYDROData_Image.h>
 #include <HYDROData_ImmersibleZone.h>
+#include <HYDROData_BCPolygon.h>
 #include <HYDROData_Obstacle.h>
 #include <HYDROData_PolylineXY.h>
 #include <HYDROData_Polyline3D.h>
@@ -147,7 +148,7 @@ void HYDROGUI_VTKPrsShape::buildShape()
         }
       }
 
-      QColor aWireColor = aPolyline->GetWireColor();
+      //QColor aWireColor = aPolyline->GetWireColor();
       //setBorderColor( aWireColor, false, false );
     }
     else if ( anObject->IsKind( STANDARD_TYPE(HYDROData_Polyline3D) ) )
@@ -186,14 +187,13 @@ void HYDROGUI_VTKPrsShape::buildShape()
       else
       {
         // Generate the filling color for zone
-        QStringList aGeomObjectsNames;
+        QStringList anObjectsNames;
 
-        HYDROData_SequenceOfObjects aRefObjects = aZone->GetGeometryObjects();
+        HYDROData_SequenceOfObjects aRefObjects = aZone->GetObjects();
         HYDROData_SequenceOfObjects::Iterator anIter( aRefObjects );
         for ( ; anIter.More(); anIter.Next() )
         {
-          Handle(HYDROData_Object) aRefbject = 
-            Handle(HYDROData_Object)::DownCast( anIter.Value() );
+          Handle(HYDROData_Entity) aRefbject = anIter.Value();
           if ( aRefbject.IsNull() )
             continue;
 
@@ -201,7 +201,7 @@ void HYDROGUI_VTKPrsShape::buildShape()
           if ( aRefObjectName.isEmpty() )
             continue;
 
-          aGeomObjectsNames.append( aRefObjectName );
+          anObjectsNames.append( aRefObjectName );
         }
 
         //setFillingColor( HYDROGUI_Tool::GenerateFillingColor( aDocument, aGeomObjectsNames ) );
@@ -262,6 +262,29 @@ void HYDROGUI_VTKPrsShape::buildShape()
       //setFillingColor( aFillingColor, false, false );
       //setBorderColor( aBorderColor, false, false );
     }
+    else if ( anObject->IsKind( STANDARD_TYPE(HYDROData_BCPolygon) ) )
+    {
+      Handle(HYDROData_BCPolygon) aBCObj =
+        Handle(HYDROData_BCPolygon)::DownCast( anObject );
+
+      TopoDS_Shape aBCShape = aBCObj->GetTopShape();
+      if ( !aBCShape.IsNull() ) 
+      {
+        if ( aBCShape.ShapeType() == TopAbs_FACE )
+        {
+          TopoDS_Face aFace = TopoDS::Face( aBCShape );
+          setFace( aFace, false, false );
+        }
+        else 
+        {
+          myTopoShape = aBCShape;
+        }
+      }
+
+      QColor aFillingColor = aBCObj->GetFillingColor();
+      QColor aBorderColor = aBCObj->GetBorderColor();
+    }
   }
 }