Salome HOME
Update copyrights
[modules/smesh.git] / src / OBJECT / SMESH_Actor.h
index 3d60fe89929ca6cdad160e7da8562ab5fc77f771..18c0828a897be8ee44550107d1bc94a6be362395 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2019  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
@@ -83,12 +83,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;
 
@@ -101,6 +97,9 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
   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};
   
   enum EEntityMode { e0DElements = 0x01, eEdges = 0x02, eFaces = 0x04, eVolumes = 0x08, eBallElem = 0x10, eAllEntity = 0x1f};
@@ -138,15 +137,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,
                 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 +156,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;
 
@@ -170,6 +174,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;