Salome HOME
Fix of the following issues:
[modules/visu.git] / src / VISUGUI / VisuGUI_Selection.cxx
index 398f17441edadd5f26df079b4ea1e29c438f8b6c..3828a0ca0dceb862bf6b56ac4f53d7b457c2f3b1 100644 (file)
@@ -34,6 +34,7 @@
 
 #include "VISU_Actor.h"
 #include "VISU_ScalarMapAct.h"
+#include "VISU_GaussPtsAct.h"
 
 #include "SalomeApp_Study.h"
 #include "LightApp_Study.h"
@@ -64,6 +65,7 @@ QVariant VisuGUI_Selection::parameter( const int ind, const QString& p ) const
     else if ( p == "hasActor"       ) val = QVariant( hasActor( ind ) );
     else if ( p == "isShading"      ) val = QVariant( isShading( ind ) );
     else if ( p == "isScalarMapAct" ) val = QVariant( isScalarMapAct( ind ) );
+    else if ( p == "isGaussPtsAct" ) val = QVariant( isGaussPtsAct( ind ) );
     else if ( p == "isVisuComponent") val = QVariant( isVisuComponent( ind ) );
     else if ( p == "fullResolution"   ) val = QVariant( fullResolution( ind ) );
     else if ( p == "mediumResolution"   ) val = QVariant( mediumResolution( ind ) );
@@ -75,6 +77,7 @@ QVariant VisuGUI_Selection::parameter( const int ind, const QString& p ) const
     else if ( p == "isPlot2dViewer"      ) val = QVariant( Plot2dViewerType( ind ) );
     else if ( p == "isValuesLabeled"  ) val = QVariant( isValuesLabeled( ind ) );
     else if ( p == "isScalarBarVisible" ) val = QVariant( isScalarBarVisible( ind ) );
+    else if ( p == "quadratic2DMode" ) val = QVariant( quadratic2DMode(ind) );
   }
 
   return val;
@@ -607,6 +610,25 @@ QString VisuGUI_Selection::isScalarMapAct( const int ind ) const
   return TPopupDispatcher<TIsScalarMapActFunctor>()(myModule, entry(ind));
 }
 
+//----------------------------------------------------------------------------
+struct TIsGaussPtsActFunctor: TViewFunctor
+{
+  QString
+  virtual
+  get(VISU::Prs3d_i* thePrs3d,
+      SVTK_ViewWindow* theViewWindow,
+      VISU_Actor* theActor)
+  {
+    return dynamic_cast<VISU_GaussPtsAct*>(theActor)? "1" : "0";
+  }
+};
+
+
+//---------------------------------------------------------------
+QString VisuGUI_Selection::isGaussPtsAct( const int ind ) const
+{
+  return TPopupDispatcher<TIsGaussPtsActFunctor>()(myModule, entry(ind));
+}
 
 //----------------------------------------------------------------------------
 bool VisuGUI_Selection::isVisuComponent( const int ind ) const
@@ -734,6 +756,8 @@ struct TIsScalarBarVisibleFunctor: TViewFunctor
   {
     if(VISU_ScalarMapAct* anActor = dynamic_cast<VISU_ScalarMapAct*>(theActor))
       return anActor->GetBarVisibility() ? "true" : "false";
+    else if ( VISU_GaussPtsAct* anActor = dynamic_cast<VISU_GaussPtsAct*>(theActor))
+      return anActor->GetBarVisibility() ? "true" : "false";
     return QString();
   }
 };
@@ -742,3 +766,24 @@ bool VisuGUI_Selection::isScalarBarVisible( const int ind ) const
 {
   return TPopupDispatcher<TIsScalarBarVisibleFunctor>()(myModule, entry(ind)) == "true";
 }
+
+struct TGetQuadratic2DRepresentation: TViewFunctor
+{
+  QString virtual get (VISU::Prs3d_i* thePrs3d,
+                       SVTK_ViewWindow* theViewWindow,
+                       VISU_Actor* theActor)
+  {
+    if(theActor->GetQuadratic2DRepresentation() == VISU_Actor::eLines)
+      return "VISU::LINES";
+    else if (theActor->GetQuadratic2DRepresentation() == VISU_Actor::eArcs)
+      return "VISU::ARCS";
+    
+    return QString();
+  }
+};
+
+
+QString VisuGUI_Selection::quadratic2DMode( const int ind) const
+{
+  return TPopupDispatcher<TGetQuadratic2DRepresentation>()(myModule, entry(ind));
+}