Salome HOME
GPUSPHGUI: show a custom control by setting a functor
[modules/smesh.git] / src / OBJECT / SMESH_Actor.h
index bbd7ac9655e5ea7d49f94fb8750222722cfc3401..7ad9d2f886909e799fde5ab6e3644be8aa24457a 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  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
@@ -6,7 +6,7 @@
 // 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.
+// 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
@@ -62,44 +62,47 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
                           const char* theName,
                           int theIsClear);
   
-  virtual void SetSufaceColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b, int delta ) = 0;
-  virtual void GetSufaceColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b, int& delta ) = 0;
+  virtual void SetSufaceColor(double r,double g,double b, int delta ) = 0;
+  virtual void GetSufaceColor(double& r,double& g,double& b, int& delta ) = 0;
     
-  virtual void SetVolumeColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b, int delta ) = 0;
-  virtual void GetVolumeColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b, int& delta) = 0;
+  virtual void SetVolumeColor(double r,double g,double b, int delta ) = 0;
+  virtual void GetVolumeColor(double& r,double& g,double& b, int& delta) = 0;
 
-  virtual void SetEdgeColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0;
-  virtual void GetEdgeColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0;
+  virtual void SetEdgeColor(double r,double g,double b) = 0;
+  virtual void GetEdgeColor(double& r,double& g,double& b) = 0;
 
-  virtual void SetNodeColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0;
-  virtual void GetNodeColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0;
+  virtual void SetNodeColor(double r,double g,double b) = 0;
+  virtual void GetNodeColor(double& r,double& g,double& b) = 0;
   
-  virtual void SetOutlineColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0;
-  virtual void GetOutlineColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0;  
+  virtual void SetOutlineColor(double r,double g,double b) = 0;
+  virtual void GetOutlineColor(double& r,double& g,double& b) = 0;  
 
-  virtual void Set0DColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0;
-  virtual void Get0DColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0;
+  virtual void Set0DColor(double r,double g,double b) = 0;
+  virtual void Get0DColor(double& r,double& g,double& b) = 0;
 
-  virtual void SetBallColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0;
-  virtual void GetBallColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0;
+  virtual void SetBallColor(double r,double g,double b) = 0;
+  virtual void GetBallColor(double& r,double& g,double& b) = 0;
 
-  virtual void SetHighlightColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0;
-  virtual void GetHighlightColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0;
+  virtual void SetHighlightColor(double r,double g,double b) = 0;
+  virtual void GetHighlightColor(double& r,double& g,double& b) = 0;
 
-  virtual void SetPreHighlightColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0;
-  virtual void GetPreHighlightColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0;
+  virtual void SetPreHighlightColor(double r,double g,double b) = 0;
+  virtual void GetPreHighlightColor(double& r,double& g,double& b) = 0;
  
-  virtual vtkFloatingPointType GetLineWidth() = 0;
-  virtual void SetLineWidth(vtkFloatingPointType theVal) = 0;
+  virtual double GetLineWidth() = 0;
+  virtual void SetLineWidth(double theVal) = 0;
 
-  virtual vtkFloatingPointType GetOutlineWidth() = 0;
-  virtual void SetOutlineWidth(vtkFloatingPointType theVal) = 0;
+  virtual double GetOutlineWidth() = 0;
+  virtual void SetOutlineWidth(double theVal) = 0;
 
-  virtual void Set0DSize(vtkFloatingPointType size) = 0;
-  virtual vtkFloatingPointType Get0DSize() = 0;
+  virtual void Set0DSize(double size) = 0;
+  virtual double Get0DSize() = 0;
 
-  virtual void SetBallSize(vtkFloatingPointType size) = 0;
-  virtual vtkFloatingPointType GetBallSize() = 0;
+  virtual void SetBallSize(double size) = 0;
+  virtual double GetBallSize() = 0;
+
+  virtual void SetBallScale(double size) = 0;
+  virtual double GetBallScale() = 0;
 
   enum EReperesent { ePoint, eEdge, eSurface};
   
@@ -118,7 +121,7 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
 
   virtual vtkUnstructuredGrid* GetUnstructuredGrid() = 0;
 
-  virtual void SetShrinkFactor(vtkFloatingPointType theValue) = 0;
+  virtual void SetShrinkFactor(double theValue) = 0;
 
   virtual void SetPointsLabeled(bool theIsPointsLabeled) = 0;
   virtual bool GetPointsLabeled() = 0;
@@ -129,24 +132,27 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
   virtual void SetFacesOriented(bool theIsFacesOriented) = 0;
   virtual bool GetFacesOriented() = 0;
 
-  virtual void SetFacesOrientationColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0;
-  virtual void GetFacesOrientationColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0;
+  virtual void SetFacesOrientationColor(double r,double g,double b) = 0;
+  virtual void GetFacesOrientationColor(double& r,double& g,double& b) = 0;
 
-  virtual void SetFacesOrientationScale(vtkFloatingPointType theScale) = 0;
-  virtual vtkFloatingPointType GetFacesOrientationScale() = 0;
+  virtual void SetFacesOrientationScale(double theScale) = 0;
+  virtual double GetFacesOrientationScale() = 0;
 
   virtual void SetFacesOrientation3DVectors(bool theState) = 0;
   virtual bool GetFacesOrientation3DVectors() = 0;
 
-  enum eControl{eNone, eLength, eLength2D, eFreeBorders, eFreeEdges, eFreeNodes,
+  enum eControl{eNone, eLength, eLength2D, eDeflection2D, eFreeBorders, eFreeEdges, eFreeNodes,
                 eFreeFaces, eMultiConnection, eArea, eTaper, eAspectRatio,
                 eMinimumAngle, eWarping, eSkew, eAspectRatio3D, eMultiConnection2D, eVolume3D,
                 eMaxElementLength2D, eMaxElementLength3D, eBareBorderFace, eBareBorderVolume,
                 eOverConstrainedFace, eOverConstrainedVolume, eCoincidentNodes,
-                eCoincidentElems1D, eCoincidentElems2D, eCoincidentElems3D };
+                eCoincidentElems1D, eCoincidentElems2D, eCoincidentElems3D, eNodeConnectivityNb,
+                eCustomControl };
   virtual void SetControlMode(eControl theMode) = 0;
+  virtual void SetControl(SMESH::Controls::FunctorPtr) = 0;
   virtual eControl GetControlMode() = 0;
   virtual SMESH::Controls::FunctorPtr GetFunctor() = 0;
+  virtual int GetNumberControlEntities() = 0;
 
   virtual SMESH_ScalarBarActor* GetScalarBarActor() = 0;
 
@@ -154,6 +160,8 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
   virtual vtkIdType GetNumberOfClippingPlanes() = 0; 
   virtual vtkPlane* GetClippingPlane(vtkIdType theID) = 0; 
   virtual vtkIdType AddClippingPlane(vtkPlane* thePlane) = 0; 
+  virtual void AddOpenGLClippingPlane(vtkPlane* thePlane) = 0;
+  virtual void SetOpenGLClippingPlane() = 0;
 
   virtual TVisualObjPtr GetObject() = 0;
 
@@ -165,10 +173,10 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
 
   virtual void SetPointsFontProperties( SMESH::LabelFont family, int size, 
                                         bool bold, bool italic, bool shadow,
-                                        vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b ) = 0;
+                                        double r, double g, double b ) = 0;
   virtual void SetCellsFontProperties( SMESH::LabelFont family, int size, 
                                        bool bold, bool italic, bool shadow,
-                                       vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b ) = 0;
+                                       double r, double g, double b ) = 0;
 
 #ifndef DISABLE_PLOT2DVIEWER
   virtual SPlot2d_Histogram* GetPlot2Histogram() = 0;