+
+ QColor aWireColor = aProfile->GetBorderColor();
+ setBorderColor( aWireColor, false, false );
+ }
+ else if ( myObject->IsKind( STANDARD_TYPE(HYDROData_Stream) ) ||
+ myObject->IsKind( STANDARD_TYPE(HYDROData_Channel) ) ||
+ myObject->IsKind( STANDARD_TYPE(HYDROData_Obstacle) ) )
+ {
+ Handle(HYDROData_Object) aGeomObject =
+ Handle(HYDROData_Object)::DownCast( myObject );
+
+ TopoDS_Shape anObjShape = aGeomObject->GetTopShape();
+
+ setShape( anObjShape, false, false );
+
+ QColor aFillingColor = aGeomObject->GetFillingColor();
+ QColor aBorderColor = aGeomObject->GetBorderColor();
+
+ setFillingColor( aFillingColor, false, false );
+ setBorderColor( aBorderColor, false, false );
+ }
+ else if ( myObject->IsKind( STANDARD_TYPE(HYDROData_DummyObject3D) ) )
+ {
+ Handle(HYDROData_DummyObject3D) anObject3D =
+ Handle(HYDROData_DummyObject3D)::DownCast( myObject );
+ TopoDS_Shape aShape3D = anObject3D->GetShape();
+
+ setShape( aShape3D, false, false );
+
+ QColor aFillingColor = anObject3D->GetFillingColor();
+ QColor aBorderColor = anObject3D->GetBorderColor();
+
+ setFillingColor( aFillingColor, false, false );
+ setBorderColor( aBorderColor, false, false );
+ }
+ else if ( myObject->IsKind( STANDARD_TYPE(HYDROData_ShapesGroup) ) )
+ {
+ Handle(HYDROData_ShapesGroup) aShapesGroup =
+ Handle(HYDROData_ShapesGroup)::DownCast( myObject );
+
+ TopTools_SequenceOfShape aShapes;
+ aShapesGroup->GetShapes( aShapes );
+
+ BRepBuilderAPI_MakeWire aMakeWire;
+
+ for ( int i = 1, n = aShapes.Length(); i <= n; ++i )
+ {
+ TopoDS_Edge anEdge = TopoDS::Edge( aShapes.Value( i ) );
+ aMakeWire.Add( anEdge );
+ }
+
+ aMakeWire.Build();
+ TopoDS_Wire aResWire = aMakeWire.Wire();
+
+ setWire( aResWire, false, false );
+ setBorderColor( Qt::red, false, false );