Salome HOME
IMPs 21044, 21057, 21067
[modules/geom.git] / src / OBJECT / GEOM_Actor.h
index 600bd678126d69c4d7aba4c5273f5a762e5a91ef..20b08b4c928b9f4ec8b3d361296554d590f3554c 100644 (file)
@@ -1,4 +1,4 @@
-//  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
+//  Copyright (C) 2007-2010  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
@@ -19,6 +19,7 @@
 //
 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
+
 //  GEOM OBJECT : interactive object for Geometry entities visualization
 //  File   : GEOM_Actor.h
 //  Author : Christophe ATTANASIO
@@ -50,7 +51,6 @@ typedef GEOM_SmartPtr<GEOM_WireframeFace> PWFaceSource;
 class GEOM_ShadingFace;
 typedef GEOM_SmartPtr<GEOM_ShadingFace> PSFaceSource;
 
-#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
 class vtkRenderer;
 
 class vtkAppendPolyData;
@@ -63,13 +63,11 @@ public:
   static GEOM_Actor* New();
 
   void SetShape(const TopoDS_Shape& theShape,
-                float theDeflection,
-                bool theIsRelative,
-                bool theIsVector = false);
+               float theDeflection,
+               bool theIsVector = false);
 
-  void SetDeflection(float theDeflection, bool theIsRelative);
+  void SetDeflection(float theDeflection);
   float GetDeflection() const{ return myDeflection;}
-  bool GetIsRelative() const{ return myIsRelative;}
 
   void AddToRender(vtkRenderer* theRenderer);
   void RemoveFromRender(vtkRenderer* theRenderer);
@@ -102,7 +100,7 @@ public:
   void ReleaseGraphicsResources(vtkWindow *);
   const TopoDS_Shape& getTopo();
   void setInputShape(const TopoDS_Shape& ashape, double adef1,
-                    int imode, bool isVector = false);
+                     int imode, bool isVector = false);
   double getDeflection();
   double isVector();
 
@@ -137,15 +135,15 @@ public:
   virtual
   bool
   PreHighlight(vtkInteractorStyle* theInteractorStyle,
-              SVTK_SelectionEvent* theSelectionEvent,
-              bool theIsHighlight);
+               SVTK_SelectionEvent* theSelectionEvent,
+               bool theIsHighlight);
 
   //! To process highlight (called from #SVTK_InteractorStyle)
   virtual
   bool
   Highlight(vtkInteractorStyle* theInteractorStyle,
-           SVTK_SelectionEvent* theSelectionEvent,
-           bool theIsHighlight);
+            SVTK_SelectionEvent* theSelectionEvent,
+            bool theIsHighlight);
 
   //! Visibility management
   virtual
@@ -162,12 +160,17 @@ public:
   virtual
   void
   GetNbIsos(int &theNbU,int &theNbV);
+  
+  //! Vector mode management
+  virtual
+  void
+  SetVectorMode(const bool theMode);
 
-protected:
-  void SetShape(const TopoDS_Shape& theShape,
-                const TopTools_IndexedDataMapOfShapeListOfShape& theEdgeMap,
-                bool theIsVector = false);
+  virtual
+  bool
+  GetVectorMode();
 
+protected:
   void SetModified();
 
   void GetMatrix(vtkCamera* theCam, vtkMatrix4x4 *result);
@@ -181,11 +184,11 @@ private:
   bool isOnlyVertex;
 
   float myDeflection;
-  bool myIsRelative;
   bool myIsForced;
 
   //  EDisplayMode myDisplayMode;
   bool myIsSelected;
+  bool myVectorMode;
 
   PDeviceActor myVertexActor;
   PVertexSource myVertexSource;
@@ -220,3 +223,5 @@ private:
 };
 
 #endif //GEOM_ACTOR_H
+
+