Salome HOME
SMH: 3.0.0 preparation - merged and adopted version (POLYWORK+HEAD)
[modules/visu.git] / src / OBJECT / VISU_Actor.h
index 88f4e26d28f5233933b79587c460823ec8902fe3..01cf5c67baa6aae216c1a3ccd49320731dfede90 100644 (file)
 
 #include "SALOME_Actor.h"
 
-#include <stdexcept>
 #include <string>
 
 class vtkProp;
 class vtkProperty;
+class vtkDataSetMapper;
+
+class VTKViewer_ShrinkFilter;
+class VISU_PipeLine;
 
 namespace VISU { 
   class Prs3d_i;
 }
-class VISU_PipeLine;
 
 #ifdef _WIN_32
 #define VTKOCC_EXPORT __declspec (dllexport)
@@ -53,7 +55,7 @@ class VTKOCC_EXPORT VISU_Actor : public SALOME_Actor {
   vtkTypeMacro(VISU_Actor,SALOME_Actor);
   void ShallowCopy(vtkProp *prop);
   static VISU_Actor* New();
-  ~VISU_Actor();
+  virtual ~VISU_Actor();
 
   virtual void setIO(const Handle(SALOME_InteractiveObject)& theIO);
 
@@ -61,37 +63,33 @@ class VTKOCC_EXPORT VISU_Actor : public SALOME_Actor {
   virtual void SetPrs3d(VISU::Prs3d_i* thePrs3d);
 
   virtual VISU_PipeLine* GetPipeLine() { return myPipeLine;}
-  virtual void SetPipeLine(VISU_PipeLine* thePipeLine) throw(std::runtime_error&);
+  virtual void SetPipeLine(VISU_PipeLine* thePipeLine) ;
 
   VISU_Actor* GetParent(){ return myParent;}
   virtual void SetParent(VISU_Actor* theParent);
 
-  void highlight(Standard_Boolean highlight);
-  Standard_Boolean isHighlighted() { return true; };
-
-  void  SetOpacity(float opa) {};
-  float GetOpacity() { return 0;};
-
-  virtual void SetShrinkable(bool theIsShrinkable);
-  virtual bool GetShrinkable() { return myIsShrinkable;}
+  virtual void SetOpacity(float theValue);
+  virtual float GetOpacity();
 
   virtual void SetRepresentation(int theMode);
 
+  virtual bool IsShrunkable() { return myIsShrinkable;}
   virtual bool IsShrunk() { return myIsShrunk;}
-  virtual void SetShrink(float theFactor = 0.8); 
+  virtual void SetShrink();
   virtual void UnShrink(); 
 
+  virtual void SetShrinkable(bool theIsShrinkable);
+  virtual void SetShrinkFactor(float theFactor = 0.8); 
+  virtual float GetShrinkFactor();
+
   virtual void SetVisibility(int theMode);
   virtual int GetVisibility();
 
-  virtual void SetProperty(vtkProperty* theProperty);
-  virtual vtkProperty* GetProperty();
-
   virtual void SetLineWidth(float theLineWidth);
   virtual float GetLineWidth();
-
-  bool IsHighlighting;
-  std::string myFieldName;
+  virtual int GetNodeObjId(int theVtkID);
+  virtual int GetElemObjId(int theVtkID);
 
  protected:
   VISU_Actor();
@@ -99,7 +97,9 @@ class VTKOCC_EXPORT VISU_Actor : public SALOME_Actor {
   VISU_Actor* myParent;
   VISU::Prs3d_i* myPrs3d;
   VISU_PipeLine* myPipeLine;
-  vtkProperty* HighlightProperty;
+  vtkDataSetMapper* myMapper;
+
+  VTKViewer_ShrinkFilter* myShrinkFilter;
   bool myIsShrinkable;
   bool myIsShrunk;
 };