2 // Created : Wed Feb 20 18:04:42 CET 2002
3 // Author : Laurent CORNABE with the help of Nicolas REJNERI
6 // Copyright : PRINCIPIA RD
13 #include "SALOME_Actor.h"
18 #include <vtkPolyDataMapper.h>
19 #include <vtkPolyData.h>
20 #include <vtkPolyDataNormals.h>
21 #include <vtkProperty.h>
24 #define VTKOCC_EXPORT __declspec (dllexport)
29 #define VisuActorType_Mesh 1
30 #define VisuActorType_BoundingBox 2
31 #define VisuActorType_DeformedShape 3
32 #define VisuActorType_Vectors 4
33 #define VisuActorType_ScalarMap 5
34 #define VisuActorType_IsoSurfaces 6
35 #define VisuActorType_CutPlanes 7
36 #define VisuActorType_Plot2D 8
37 #define VisuActorType_StreamLines 9
45 class VISU_ScalarBarActor;
47 class VTKOCC_EXPORT VISU_Actor : public SALOME_Actor {
48 friend class VISU::Prs3d_i;
50 vtkTypeMacro(VISU_Actor,SALOME_Actor);
52 Standard_Boolean IsHighlighting;
54 static VISU_Actor* New();
56 void setActor(vtkActor *Actor);
58 void ShallowCopy(vtkProp *prop);
60 void highlight(Standard_Boolean highlight);
61 Standard_Boolean isHighlighted() { return true; };
63 void SetOpacity(float opa) {};
67 Standard_Boolean HasScalarBar()
68 { return myHasScalarBar; }
70 void setScalarBar(VISU_ScalarBarActor* theBar);
71 VISU_ScalarBarActor* getScalarBar()
72 { return myScalarBar; }
75 void setIO(const Handle(SALOME_InteractiveObject)& io)
76 { SALOME_Actor::setIO(io); myName = io->getName(); }
79 VISU::Prs3d_i* getPrs3d() { return Presentation; }
80 void setPrs3d(VISU::Prs3d_i* thePrs) { Presentation = thePrs; }
82 vtkDataSet *DataSource;
83 VISU_Actor* EdgeDevice;
85 Standard_Boolean IsShrinkable;
86 Standard_Boolean IsShrunk;
88 Standard_Boolean ResultAtNode;
92 Standard_Boolean IsDefined;
95 void setVABounds(const float bounds[6]);
96 void getVABounds(float bounds[6]);
102 Standard_Boolean myHasScalarBar;
103 VISU_ScalarBarActor* myScalarBar;
104 VISU::Prs3d_i* Presentation;
107 vtkProperty* HighlightProperty;
110 #endif //VISU_ACTOR_H