Salome HOME
Copyright update 2022
[modules/geom.git] / src / OBJECT / GEOM_Actor.h
index 471d9f061d548d3bff615bf5e4004d7bb7c23825..b8c38bd9e0de3050c9332efa2d78fbd46f54a1a8 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022  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
@@ -51,6 +51,7 @@ class GEOM_ShadingFace;
 typedef GEOM_SmartPtr<GEOM_ShadingFace> PSFaceSource;
 
 class vtkRenderer;
+class vtkTextActor;
 
 class vtkAppendPolyData;
 typedef GEOM_SmartPtr<vtkAppendPolyData> PAppendFilter;
@@ -58,7 +59,7 @@ typedef GEOM_SmartPtr<vtkAppendPolyData> PAppendFilter;
 class GEOM_OBJECT_EXPORT GEOM_Actor: public SALOME_Actor
 {
 public:
-  vtkTypeMacro(GEOM_Actor,SALOME_Actor);
+  vtkTypeMacro(GEOM_Actor,SALOME_Actor)
   static GEOM_Actor* New();
 
   void SetShape(const TopoDS_Shape& theShape,
@@ -138,6 +139,8 @@ public:
   void SetEdgesInShadingColor(double r, double g, double b);
   // Color of iso-lines
   void SetIsosColor(double r, double g, double b);
+  // Color of labels
+  void SetLabelColor(double r, double g, double b);
 
 
   // Material
@@ -210,10 +213,25 @@ public:
   bool
   GetVerticesMode();
 
+  //! Name mode management
+  virtual
+  void
+  SetNameMode(const bool theMode);
+
+  virtual
+  bool
+  GetNameMode();
+
+  virtual 
+  void 
+  SetTransform(VTKViewer_Transform* theTransform);
+
+
 protected:
   void SetModified();
 
   void GetMatrix(vtkCamera* theCam, vtkMatrix4x4 *result);
+  void SetShapeName();
 
   GEOM_Actor();
   ~GEOM_Actor();
@@ -229,6 +247,7 @@ private:
   bool myIsSelected;
   bool myVectorMode;
   bool myVerticesMode;
+  bool myNameMode;
 
   PDeviceActor myVertexActor;
   PVertexSource myVertexSource;
@@ -252,6 +271,9 @@ private:
   PSFaceSource myShadingFaceSource;
 
   PDeviceActor myHighlightActor;
+
+  vtkTextActor* myTextActor;
+
   vtkSmartPointer<vtkProperty>  myHighlightProp;
   vtkSmartPointer<vtkProperty>  myPreHighlightProp;
   vtkSmartPointer<vtkProperty>  myShadingFaceProp;