]> SALOME platform Git repositories - modules/geom.git/blobdiff - src/OBJECT/GEOM_Actor.h
Salome HOME
0021672: [CEA 565] Dump Study from script
[modules/geom.git] / src / OBJECT / GEOM_Actor.h
index 6a8bd9c0c5df67163c0821e238443e941d313f18..28df32d67c0235c5ce4ba6a1ec996a1f75f2edc0 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012  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
@@ -72,7 +72,7 @@ public:
   void AddToRender(vtkRenderer* theRenderer);
   void RemoveFromRender(vtkRenderer* theRenderer);
 
-  enum EDisplayMode{ eWireframe, eShading};
+  enum EDisplayMode{ eWireframe, eShading, eShadingWithEdges = eShading + 2 };
 
 /*   void SetDisplayMode(EDisplayMode theMode);  */
 /*   EDisplayMode GetDisplayMode() const { return myDisplayMode;}  */
@@ -86,6 +86,9 @@ public:
   void SetWireframeProperty(vtkProperty* Prop);
   void SetShadingProperty(vtkProperty* Prop);
 
+  vtkProperty* GetWireframeProperty();
+  vtkProperty* GetShadingProperty();
+
   void setDeflection(double adef);
   virtual void setDisplayMode(int thenewmode);
 
@@ -122,6 +125,10 @@ public:
   void SetColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b);
   void GetColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b);
 
+  // Material
+  void SetMaterial(std::vector<vtkProperty*> theProps);
+  vtkProperty* GetMaterial();
+
   virtual bool IsInfinitive();
 
   // overloaded functions
@@ -161,6 +168,15 @@ public:
   void
   GetNbIsos(int &theNbU,int &theNbV);
   
+  virtual 
+  void SetIsosWidth(const int width);
+
+  int GetIsosWidth() const;
+
+  virtual void SetWidth(const int width);
+
+  int GetWidth() const;
+  
   //! Vector mode management
   virtual
   void
@@ -169,12 +185,27 @@ public:
   virtual
   bool
   GetVectorMode();
+  
+  //! Edges in shading color management
+  void SetEdgesInShadingColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b);
+
+  void
+  StoreIsoNumbers();
+
+  void
+  RestoreIsoNumbers();
+  
+  void
+  ResetIsoNumbers();
 
 protected:
   void SetModified();
 
   void GetMatrix(vtkCamera* theCam, vtkMatrix4x4 *result);
 
+  void StoreBoundaryColors();
+  void RestoreBoundaryColors();
+
   GEOM_Actor();
   ~GEOM_Actor();
 
@@ -214,12 +245,15 @@ private:
   vtkSmartPointer<vtkProperty>  myShadingFaceProp;
 
   PAppendFilter myAppendFilter;
-  PPolyDataMapper myPolyDataMapper;
+  PPolyGeomPainterDataMapper myPolyDataMapper;
 
   virtual void SetMapper(vtkMapper*);
 
   GEOM_Actor(const GEOM_Actor&);
   void operator=(const GEOM_Actor&);
+
+  vtkFloatingPointType myEdgesInWireframeColor[3];
+  vtkFloatingPointType myEdgesInShadingColor[3];
 };
 
 #endif //GEOM_ACTOR_H