Salome HOME
Merge from BR_OPENCV
[modules/geom.git] / src / DisplayGUI / DisplayGUI.cxx
index 53c04c20430eb272baf87eb6ff3c1264258409cb..a0d6812cec3deb7bc9e9a8687401a73e398e5e88 100644 (file)
@@ -128,6 +128,9 @@ bool DisplayGUI::OnGUIEvent(int theCommandID, SUIT_Desktop* parent)
   case GEOMOp::OpShading:        // POPUP MENU - DISPLAY MODE - SHADING
     ChangeDisplayMode( 1 );
     break;
+  case GEOMOp::OpTexture:        // POPUP MENU - DISPLAY MODE - TEXTURE
+    ChangeDisplayMode( 3 );
+    break;
   case GEOMOp::OpVectors:        // POPUP MENU - DISPLAY MODE - SHOW EDGE DIRECTION
     ChangeDisplayMode( 2 );
     break;
@@ -509,15 +512,16 @@ void DisplayGUI::ChangeDisplayMode( const int mode, SUIT_ViewWindow* viewWindow
           anActors->InitTraversal();
           while (vtkActor* anAct = anActors->GetNextActor()) {
             GEOM_Actor* aGeomActor = GEOM_Actor::SafeDownCast(anAct);
-           vectorMode = !aGeomActor->GetVectorMode();
-           aGeomActor->SetVectorMode(vectorMode);
+            vectorMode = !aGeomActor->GetVectorMode();
+            aGeomActor->SetVectorMode(vectorMode);
           }
         }
-       if(mode == 0 || mode == 1) {
-         aStudy->setObjectProperty(mgrId,It.Value()->getEntry(),DISPLAY_MODE_PROP, mode);
-       } else if (mode == 3) {
-         aStudy->setObjectProperty(mgrId, It.Value()->getEntry(),VECTOR_MODE_PROP , vectorMode);
-       }
+        if(mode == 0 || mode == 1) {
+          aStudy->setObjectProperty(mgrId,It.Value()->getEntry(),DISPLAY_MODE_PROP, mode);
+        } 
+        else if (mode == 3) {
+          aStudy->setObjectProperty(mgrId, It.Value()->getEntry(),VECTOR_MODE_PROP , vectorMode);
+        }
       }
     }
     aView->Repaint();
@@ -543,20 +547,22 @@ void DisplayGUI::ChangeDisplayMode( const int mode, SUIT_ViewWindow* viewWindow
             ic->SetDisplayMode( interIter.Value(), AIS_WireFrame, false );
           else if ( mode == 1 )
             ic->SetDisplayMode( interIter.Value(), AIS_Shaded, false );
-          if (mode == 2 ) {
+          else if ( mode == 3 )
+            ic->SetDisplayMode( interIter.Value(), AIS_ExactHLR, false );
+          else if (mode == 2 ) {
             Handle(GEOM_AISShape) aSh = Handle(GEOM_AISShape)::DownCast( interIter.Value() );
             if ( !aSh.IsNull() ) {
-             vectorMode = !aSh->isShowVectors();      
+              vectorMode = !aSh->isShowVectors();      
               aSh->SetDisplayVectors(vectorMode);
               ic->RecomputePrsOnly(interIter.Value());
             }
           }
         }
-       if(mode == 0 || mode == 1) {
-         aStudy->setObjectProperty(mgrId, It.Value()->getEntry(),DISPLAY_MODE_PROP, mode);
-       } else if (mode == 2) {
-         aStudy->setObjectProperty(mgrId, It.Value()->getEntry(),VECTOR_MODE_PROP, vectorMode);
-       }
+        if(mode == 0 || mode == 1) {
+          aStudy->setObjectProperty(mgrId, It.Value()->getEntry(),DISPLAY_MODE_PROP, mode);
+        } else if (mode == 2) {
+          aStudy->setObjectProperty(mgrId, It.Value()->getEntry(),VECTOR_MODE_PROP, vectorMode);
+        }
       }
     }
     ic->UpdateCurrentViewer();