Salome HOME
[bos #40650][CEA 33012] Beta Law distribution: added a new type of distribution for...
[modules/smesh.git] / src / OBJECT / SMESH_Actor.h
index 5fc9a92b9abe99ed9f495ef7d316b0d04dfa71b1..15519a24cd4e1234a151c6d882d823df1170650b 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -38,6 +38,7 @@
 class vtkUnstructuredGrid;
 
 class SMESH_ScalarBarActor;
+class SMESH_DeviceActor;
 
 class vtkPlane;
 class vtkImplicitBoolean;
@@ -56,7 +57,7 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
   static SMESH_Actor* New() { return NULL;}
 
  public:
-  vtkTypeMacro(SMESH_Actor,SALOME_Actor);
+  vtkTypeMacro(SMESH_Actor,SALOME_Actor)
   static SMESH_Actor* New(TVisualObjPtr theVisualObj, 
                           const char* theEntry, 
                           const char* theName,
@@ -83,12 +84,8 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
   virtual void SetBallColor(double r,double g,double b) = 0;
   virtual void GetBallColor(double& r,double& g,double& 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(double r,double g,double b) = 0;
-  virtual void GetPreHighlightColor(double& r,double& g,double& b) = 0;
+  virtual void UpdateSelectionProps() = 0;
+  
   virtual double GetLineWidth() = 0;
   virtual void SetLineWidth(double theVal) = 0;
 
@@ -141,15 +138,18 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
   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,
+                eMinimumAngle, eWarping, eSkew, eAspectRatio3D, eWarping3D, eMultiConnection2D, eVolume3D, eScaledJacobian,
                 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 smIdType GetNumberControlEntities() = 0;
 
   virtual SMESH_ScalarBarActor* GetScalarBarActor() = 0;
 
@@ -167,6 +167,11 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
 
   virtual void UpdateScalarBar() = 0;
   virtual void UpdateDistribution() = 0;
+  virtual void ClipThreshold(bool isThresholdOn, double min = 0.0, double max = 0.0) = 0;
+  virtual SMESH_DeviceActor* GetActorForThreshold() = 0;
+  virtual bool IsClipThresholdOn() const = 0;
+  virtual void SetWireframeOff(bool isWireframeOff) = 0;
+  virtual bool IsWireframeOff() const = 0;
 
   virtual void SetPointsFontProperties( SMESH::LabelFont family, int size, 
                                         bool bold, bool italic, bool shadow,
@@ -175,6 +180,8 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
                                        bool bold, bool italic, bool shadow,
                                        double r, double g, double b ) = 0;
 
+  virtual void UpdateFilter() = 0;
+
 #ifndef DISABLE_PLOT2DVIEWER
   virtual SPlot2d_Histogram* GetPlot2Histogram() = 0;
   virtual SPlot2d_Histogram* UpdatePlot2Histogram() = 0;