Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef VISU_ACTOR_BASE_H
00027 #define VISU_ACTOR_BASE_H
00028
00029 #include "VISU_OBJECT.h"
00030 #include "SALOME_Actor.h"
00031 #include "VISU_BoostSignals.h"
00032 #include <boost/bind.hpp>
00033
00034 class VTKViewer_ShrinkFilter;
00035
00036
00037 namespace VISU
00038 {
00039 struct TActorFactory;
00040 }
00041
00042
00044 class VISU_OBJECT_EXPORT VISU_ActorBase: public SALOME_Actor,
00045 public boost::signalslib::trackable
00046 {
00047 public:
00048 vtkTypeMacro(VISU_ActorBase, SALOME_Actor);
00049
00050
00051 VISU::TActorFactory* GetFactory();
00052 virtual void SetFactory(VISU::TActorFactory* theActorFactory);
00053
00054
00055 virtual void UpdateFromFactory();
00056
00057
00058 virtual void SetTransform(VTKViewer_Transform* theTransform);
00059
00060 virtual void SetLineWidth(vtkFloatingPointType theLineWidth);
00061 virtual vtkFloatingPointType GetLineWidth();
00062
00063 virtual void SetShrink();
00064 virtual void UnShrink();
00065 virtual bool IsShrunkable();
00066 virtual bool IsShrunk();
00067 virtual void SetShrinkable(bool theIsShrinkable);
00068
00069 virtual void SetShrinkFactor(vtkFloatingPointType theFactor = 0.8);
00070 virtual vtkFloatingPointType GetShrinkFactor();
00071
00072 virtual void SetRepresentation(int theMode);
00073
00074 virtual void RemoveFromRender(vtkRenderer* theRenderer);
00075 virtual void RemoveFromRender();
00076
00077 virtual void ConnectToFactory(boost::signal0<void>& , boost::signal0<void>&);
00078
00079
00082 virtual vtkDataSet* GetHighlightedDataSet();
00083
00084
00085 protected:
00086 VISU_ActorBase();
00087 virtual ~VISU_ActorBase();
00088
00089 VISU::TActorFactory* myActorFactory;
00090 vtkTimeStamp myUpdateFromFactoryTime;
00091 boost::signal1<void,VISU_ActorBase*> myDestroySignal;
00092
00093 boost::signalslib::connection myUpdateActorsConnection;
00094 boost::signalslib::connection myRemoveFromRendererConnection;
00095
00096 vtkSmartPointer<VTKViewer_ShrinkFilter> myShrinkFilter;
00097
00098 bool myIsShrinkable;
00099 bool myIsShrunk;
00100 };
00101
00102 #endif //VISU_ACTOR_BASE_H