Salome HOME
Following methods are added to have possibility specify display mode for preview
authorsln <sln@opencascade.com>
Wed, 11 Apr 2007 12:10:18 +0000 (12:10 +0000)
committersln <sln@opencascade.com>
Wed, 11 Apr 2007 12:10:18 +0000 (12:10 +0000)
 int           SetDisplayMode( const int );
 int           GetDisplayMode() const;
 int           UnsetDisplayMode();
(PAL13191: EDF160 GEOM: in Glue Faces, visualize faces existing twice)

src/GEOMGUI/GEOM_Displayer.cxx
src/GEOMGUI/GEOM_Displayer.h

index f57deb4c997bd7f92bb878ef3b098c9e23d0b687..60fbb31ecbedb0cfbed8b8e8a604f67039e42874 100644 (file)
@@ -1075,7 +1075,13 @@ void GEOM_Displayer::AfterDisplay( SALOME_View*, const SALOME_OCCViewType& )
 //=================================================================
 void GEOM_Displayer::SetColor( const int color )
 {
-  myColor = color;
+  if ( color == -1 )
+    UnsetColor();
+  else
+  {
+    myColor = color;
+    myShadingColor = Quantity_Color( (Quantity_NameOfColor)color );
+  }
 }
 
 int GEOM_Displayer::GetColor() const
@@ -1091,6 +1097,10 @@ bool GEOM_Displayer::HasColor() const
 void GEOM_Displayer::UnsetColor()
 {
   myColor = -1;
+  
+  SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
+  QColor col = resMgr->colorValue( "Geometry", "shading_color", QColor( 255, 0, 0 ) );
+  myShadingColor = SalomeApp_Tools::color( col );
 }
 
 //=================================================================
@@ -1183,3 +1193,27 @@ bool GEOM_Displayer::canBeDisplayed( const QString& /*entry*/, const QString& vi
 {
   return viewer_type==SOCC_Viewer::Type() || viewer_type==SVTK_Viewer::Type();
 }
+
+int GEOM_Displayer::SetDisplayMode( const int theMode )
+{
+  int aPrevMode = myDisplayMode;
+  if ( theMode != -1 )
+    myDisplayMode = theMode;
+  else
+  {
+    SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
+    myDisplayMode = resMgr->integerValue( "Geometry", "display_mode", 0 );
+  }
+  return aPrevMode;
+}
+
+int GEOM_Displayer::GetDisplayMode() const
+{
+  return myDisplayMode;
+}
+
+int GEOM_Displayer::UnsetDisplayMode()
+{
+  SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
+  myDisplayMode = resMgr->integerValue( "Geometry", "display_mode", 0 );
+}
index f477a37e20ba93c2903ba73ca7b29af6c0e25dcb..786028eb1de469789c3cfcbdf417c267f828989d 100644 (file)
@@ -128,6 +128,11 @@ public:
   void          UnsetWidth();
   double        GetWidth  () const;
   bool          HasWidth  () const;
+  
+  /* Set display mode shape displaying. If it is equal -1 then display mode is used. */
+  int           SetDisplayMode( const int );
+  int           GetDisplayMode() const;
+  int           UnsetDisplayMode();
 
 
   /* Sets name - for temporary objects only */