Salome HOME
refs #550: fix crash when myObject is NULL
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Actor.cxx
index 9b27a1fdd5e52a66b21916cab6591a038b78c2ae..7d12be8a179ffcdf6d645b16f9ff471ba4d77798 100644 (file)
@@ -1,3 +1,20 @@
+// Copyright (C) 2014-2015  EDF-R&D
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
 #include <HYDROGUI_Actor.h>
 #include <GEOM_PainterPolyDataMapper.h>
@@ -17,6 +34,7 @@ HYDROGUI_Actor::HYDROGUI_Actor()
   myOneFaceEdgeActor->GetDeviceActor()->SetMapper( myOneFaceEdgeActor->GetDeviceActor()->GetMapper() );
   mySharedEdgeActor->GetDeviceActor()->SetMapper( mySharedEdgeActor->GetDeviceActor()->GetMapper() );
   myWireframeFaceActor->GetDeviceActor()->SetMapper( myWireframeFaceActor->GetDeviceActor()->GetMapper() );
+  myShadingFaceActor->SetInput(myShadingFaceSource->GetOutputPort(),false); 
   myShadingFaceActor->GetDeviceActor()->SetMapper( myShadingFaceActor->GetDeviceActor()->GetMapper() );
   GEOM_Actor::myHighlightActor->GetDeviceActor()->SetMapper( GEOM_Actor::myHighlightActor->GetDeviceActor()->GetMapper() );
 } 
@@ -69,5 +87,11 @@ void HYDROGUI_Actor::SetShape( const TopoDS_Shape& theShape,
     myWireframeFaceActor->GetDeviceActor()->SetInfinitive( true );
 
   if( myShadingFaceSource->IsEmpty() )
+  {
     myShadingFaceActor->GetDeviceActor()->SetInfinitive( true );
+  }
+  else
+  {
+    myShadingFaceSource->Update();
+  }
 }