Salome HOME
Migration to OCCT 7.0
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_VTKUtils.cxx
index 7ca3e9395fa1940af4733b1a930b37d7f3624821..b79e6955efc810b1e126e41ef76868eb4a446261 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 #include "SMESHGUI_VTKUtils.h"
 
 #include "SMESHGUI.h"
-#include "SMESHGUI_Utils.h"
 #include "SMESHGUI_Filter.h"
+#include "SMESHGUI_Utils.h"
+#include "SMDS_Mesh.hxx"
+#include "SMESH_Actor.h"
+#include "SMESH_ActorUtils.h"
+#include "SMESH_CellLabelActor.h"
 #include "SMESH_ControlsDef.hxx"
-
-#include <SMESH_Actor.h>
-#include <SMESH_ActorUtils.h>
 #include "SMESH_NodeLabelActor.h"
-#include "SMESH_CellLabelActor.h"
-#include <SMESH_ObjectDef.h>
-#include <SMDS_Mesh.hxx>
+#include "SMESH_ObjectDef.h"
 
 // SALOME GUI includes
 #include <SUIT_Desktop.h>
@@ -73,7 +72,6 @@
 #include <vtkUnstructuredGrid.h>
 
 // OCCT includes
-#include <TColStd_IndexedMapOfInteger.hxx>
 #include <Standard_ErrorHandler.hxx>
 
 namespace SMESH
@@ -774,6 +772,7 @@ namespace SMESH
               anActor->SetVisibility(false);
               aStudy->setVisibilityState(theEntry, Qtx::HiddenState);
               break;
+            default:;
           }
         } else {
           switch (theAction) {
@@ -800,6 +799,7 @@ namespace SMESH
               }
               break;
             }
+          default:;
           }
         }
       }
@@ -809,16 +809,20 @@ namespace SMESH
   }
 
 
-  bool UpdateView(EDisplaing theAction, const char* theEntry){
+  bool UpdateView(EDisplaing theAction, const char* theEntry) {
         //MESSAGE("UpdateView");
     SalomeApp_Study* aStudy = dynamic_cast< SalomeApp_Study* >( GetActiveStudy() );
     SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( aStudy->application() );
-    SUIT_ViewWindow *aWnd = app->activeViewManager()->getActiveView();
-    return UpdateView(aWnd,theAction,theEntry);
+    if ( SUIT_ViewManager* vm = app->activeViewManager() )
+    {
+      SUIT_ViewWindow *aWnd = vm->getActiveView();
+      return UpdateView(aWnd,theAction,theEntry);
+    }
+    return false;
   }
 
   void UpdateView(){
-    if(SVTK_ViewWindow* aWnd = SMESH::GetCurrentVtkView()){
+    if ( SVTK_ViewWindow* aWnd = SMESH::GetCurrentVtkView()) {
       LightApp_SelectionMgr* mgr = SMESHGUI::selectionMgr();
       SALOME_ListIO selected; mgr->selectedObjects( selected );
 
@@ -849,7 +853,7 @@ namespace SMESH
 
   bool Update(const Handle(SALOME_InteractiveObject)& theIO, bool theDisplay)
   {
-        MESSAGE("Update");
+    //MESSAGE("Update");
     _PTR(Study) aStudy = GetActiveStudyDocument();
     CORBA::Long anId = aStudy->StudyId();
     if ( TVisualObjPtr aVisualObj = SMESH::GetVisualObj(anId,theIO->getEntry())) {
@@ -862,7 +866,7 @@ namespace SMESH
 
   bool UpdateNulData(const Handle(SALOME_InteractiveObject)& theIO, bool theDisplay)
   {
-        MESSAGE("UpdateNulData");
+    //MESSAGE("UpdateNulData");
     _PTR(Study) aStudy = GetActiveStudyDocument();
     CORBA::Long anId = aStudy->StudyId();
     if ( TVisualObjPtr aVisualObj = SMESH::GetVisualObj(anId,theIO->getEntry(), true)) {
@@ -873,7 +877,8 @@ namespace SMESH
     return false;
   }
 
-  void UpdateSelectionProp( SMESHGUI* theModule ) {
+  void UpdateSelectionProp( SMESHGUI* theModule )
+  {
     if( !theModule )
       return;
 
@@ -900,25 +905,29 @@ namespace SMESH
       return;
     }
 
-    QColor aHiColor = mgr->colorValue( "SMESH", "selection_object_color", Qt::white ),
-           aSelColor = mgr->colorValue( "SMESH", "selection_element_color", Qt::yellow ),
-           aPreColor = mgr->colorValue( "SMESH", "highlight_color", Qt::cyan );
+    QColor
+      aHiColor = mgr->colorValue( "SMESH", "selection_object_color", Qt::white ),
+      aSelColor = mgr->colorValue( "SMESH", "selection_element_color", Qt::yellow ),
+      aPreColor = mgr->colorValue( "SMESH", "highlight_color", Qt::cyan );
 
     int aElem0DSize = mgr->integerValue("SMESH", "elem0d_size", 5);
-    int aBallSize   = mgr->integerValue("SMESH", "ball_elem_size", 5);
+    // int aBallSize   = mgr->integerValue("SMESH", "ball_elem_size", 5);
     int aLineWidth  = mgr->integerValue("SMESH", "element_width", 1);
     int maxSize = aElem0DSize;
     if (aElem0DSize > maxSize) maxSize = aElem0DSize;
     if (aLineWidth > maxSize) maxSize = aLineWidth;
-    if (aBallSize > maxSize) maxSize = aBallSize;
+    //  if (aBallSize > maxSize) maxSize = aBallSize;
 
-    double SP1 = mgr->doubleValue( "SMESH", "selection_precision_node", 0.025 ),
-           SP2 = mgr->doubleValue( "SMESH", "selection_precision_element", 0.001 ),
-           SP3 = mgr->doubleValue( "SMESH", "selection_precision_object", 0.025 );
+    double
+      SP1 = mgr->doubleValue( "SMESH", "selection_precision_node", 0.025 ),
+      SP2 = mgr->doubleValue( "SMESH", "selection_precision_element", 0.001 ),
+      SP3 = mgr->doubleValue( "SMESH", "selection_precision_object", 0.025 );
 
-    for ( int i=0, n=views.count(); i<n; i++ ){
+    for ( int i=0, n=views.count(); i<n; i++ )
+    {
       // update VTK viewer properties
-      if(SVTK_ViewWindow* aVtkView = GetVtkViewWindow( views[i] )){
+      if ( SVTK_ViewWindow* aVtkView = GetVtkViewWindow( views[i] ))
+      {
         // mesh element selection
         aVtkView->SetSelectionProp(aSelColor.red()/255.,
                                    aSelColor.green()/255.,
@@ -935,8 +944,8 @@ namespace SMESH
         VTK::ActorCollectionCopy aCopy(aRenderer->GetActors());
         vtkActorCollection *aCollection = aCopy.GetActors();
         aCollection->InitTraversal();
-        while(vtkActor *anAct = aCollection->GetNextActor()){
-          if(SMESH_Actor *anActor = dynamic_cast<SMESH_Actor*>(anAct)){
+        while ( vtkActor *anAct = aCollection->GetNextActor() ) {
+          if ( SMESH_Actor *anActor = dynamic_cast<SMESH_Actor*>(anAct) ) {
             anActor->SetHighlightColor(aHiColor.red()/255.,
                                        aHiColor.green()/255.,
                                        aHiColor.blue()/255.);
@@ -1071,8 +1080,9 @@ namespace SMESH
 
 
   //----------------------------------------------------------------------------
-  void SetPointRepresentation(bool theIsVisible){
-    if(SVTK_ViewWindow* aViewWindow = GetCurrentVtkView()){
+  void SetPointRepresentation(bool theIsVisible)
+  {
+    if ( SVTK_ViewWindow* aViewWindow = GetCurrentVtkView() ) {
       vtkRenderer *aRenderer = aViewWindow->getRenderer();
       VTK::ActorCollectionCopy aCopy(aRenderer->GetActors());
       vtkActorCollection *aCollection = aCopy.GetActors();
@@ -1089,8 +1099,9 @@ namespace SMESH
   }
 
 
-  void SetPickable(SMESH_Actor* theActor){
-    if(SVTK_ViewWindow* aWnd = GetCurrentVtkView()){
+  void SetPickable(SMESH_Actor* theActor)
+  {
+    if ( SVTK_ViewWindow* aWnd = GetCurrentVtkView() ) {
       int anIsAllPickable = (theActor == NULL);
       vtkRenderer *aRenderer = aWnd->getRenderer();
       VTK::ActorCollectionCopy aCopy(aRenderer->GetActors());
@@ -1111,9 +1122,9 @@ namespace SMESH
 
 
   //----------------------------------------------------------------------------
-  int GetNameOfSelectedNodes(SVTK_Selector* theSelector,
+  int GetNameOfSelectedNodes(SVTK_Selector*                          theSelector,
                              const Handle(SALOME_InteractiveObject)& theIO,
-                             QString& theName)
+                             QString&                                theName)
   {
     theName = "";
     TColStd_IndexedMapOfInteger aMapIndex;
@@ -1199,7 +1210,8 @@ namespace SMESH
     return -1;
   }
 
-  int GetNameOfSelectedNodes(LightApp_SelectionMgr *theMgr, QString& theName){
+  int GetNameOfSelectedNodes(LightApp_SelectionMgr *theMgr, QString& theName)
+  {
     theName = "";
     SALOME_ListIO selected; theMgr->selectedObjects( selected );
     if(selected.Extent() == 1){
@@ -1210,9 +1222,9 @@ namespace SMESH
   }
 
 
-  int GetNameOfSelectedElements(LightApp_SelectionMgr *theMgr,
+  int GetNameOfSelectedElements(LightApp_SelectionMgr *                 theMgr,
                                 const Handle(SALOME_InteractiveObject)& theIO,
-                                QString& theName)
+                                QString&                                theName)
   {
     theName = "";
     if(theIO->hasEntry()){
@@ -1337,13 +1349,13 @@ namespace SMESH
     }
 
     double aBoundPoints[8][3] = { {theBounds[0],theBounds[2],theBounds[4]},
-                                                {theBounds[1],theBounds[2],theBounds[4]},
-                                                {theBounds[0],theBounds[3],theBounds[4]},
-                                                {theBounds[1],theBounds[3],theBounds[4]},
-                                                {theBounds[0],theBounds[2],theBounds[5]},
-                                                {theBounds[1],theBounds[2],theBounds[5]}, 
-                                                {theBounds[0],theBounds[3],theBounds[5]}, 
-                                                {theBounds[1],theBounds[3],theBounds[5]}};
+                                  {theBounds[1],theBounds[2],theBounds[4]},
+                                  {theBounds[0],theBounds[3],theBounds[4]},
+                                  {theBounds[1],theBounds[3],theBounds[4]},
+                                  {theBounds[0],theBounds[2],theBounds[5]},
+                                  {theBounds[1],theBounds[2],theBounds[5]},
+                                  {theBounds[0],theBounds[3],theBounds[5]},
+                                  {theBounds[1],theBounds[3],theBounds[5]}};
 
     int aMaxId = 0;
     theMaxBoundPrj = vtkMath::Dot(theDirection,aBoundPoints[aMaxId]);
@@ -1440,8 +1452,9 @@ namespace SMESH
    */
   //================================================================================
 
-  void ClearPlot2Viewers( SUIT_ViewWindow* theWindow ) {
-    if(SVTK_ViewWindow* aViewWindow = GetVtkViewWindow(theWindow)){
+  void ClearPlot2Viewers( SUIT_ViewWindow* theWindow )
+  {
+    if ( SVTK_ViewWindow* aViewWindow = GetVtkViewWindow(theWindow) ) {
       vtkRenderer *aRenderer = aViewWindow->getRenderer();
       VTK::ActorCollectionCopy aCopy(aRenderer->GetActors());
       vtkActorCollection *aCollection = aCopy.GetActors();
@@ -1455,7 +1468,7 @@ namespace SMESH
       }
     }
   }
-  
+
 #endif
 
 } // end of namespace SMESH