SignMRMLModelNodeHelper.h

Go to the documentation of this file.
00001 /*
00002  *
00003  * Program:   Slicer Image-Guided Navigator (The SIGN)
00004  * Module:    $RCSfile: SignMRMLModelNodeHelper.h,v $
00005  */
00014 #ifndef _SIGNMRMLMODELNODEHELPER_H
00015 #define _SIGNMRMLMODELNODEHELPER_H
00016 #include <SignDLL.h>
00017 #include <SignMRMLNodeHelper.h>
00018 
00019 #include <string>
00020 #include <map>
00021 #include <vector>
00022 #include <SignSink.h>
00023 
00024 class vtkObject;
00025 class vtkActor;
00026 class vtkTransform;
00027 class SignContext;
00028 class vtkPolyDataAlgorithm;
00029 class vtkLookupTable;
00030 class vtkDataSetMapper;
00031 class vtkClipPolyData;
00032 class vtkRenderWindow;
00033 class vtkPlane;
00034 class vtkFloatArray;
00035 class vtkPolyData;
00036 class vtkTexture;
00037 class vtkMRMLModelTextureNode;
00038 
00039 typedef std::map<vtkDataSetMapper*,vtkActor*> Mappers;
00040 typedef std::vector<vtkClipPolyData*> Clippers;
00041 
00042 
00043 class SIGN_EXPORT SignMRMLModelNodeHelper : public SignMRMLNodeHelper
00044 {
00045  public:
00047   SignMRMLModelNodeHelper(SignMRMLScene* scene_);
00049   virtual ~SignMRMLModelNodeHelper();
00050 
00052   vtkActor* MakeActor();
00054   float GetOpacity();
00056   void SetOpacity(float opacity_);
00058   void InsertClipper();
00060   void SetClippersTransform(vtkTransform *trans);
00061 
00062   virtual void Setup(SignContext *context);
00063 
00065   void SetTexture(std::string texture);
00066   virtual void SetInputData(SignSink *sink);
00067   virtual void SetUserTransform(vtkTransform *transform);
00068 
00070         void ColourizePoint(double x, double y, double z, float value);
00072   void InsertPolyDataAlgorithm(vtkPolyDataAlgorithm* pda);
00074   void ScalarVisibilityOn();
00076   void SetScalarRange(float min, float max);
00078   void SetLookupTable(vtkLookupTable *lut);
00080   void SetTextureNode(vtkMRMLModelTextureNode *node);
00082   vtkTexture* GetTexture();
00084   vtkPolyData* GetOutput();
00086   void AddMapper(vtkDataSetMapper* pdm, vtkActor* actor);
00087 
00088  private:
00089   static void OnZeroConfidence(vtkObject* caller,unsigned long,void* data,void*);
00090   static void OnTrackerEvent(vtkObject* caller,unsigned long,void* data,void*);
00091 
00092   Mappers mappers;
00093   Clippers clippers;
00094   float opacity;
00095   vtkPlane *plane;
00096   ViewerVector viewersWithModel;
00097   vtkLookupTable *LUT;
00098   vtkFloatArray *scalars;
00099   vtkPolyData *output;
00100   vtkTexture *aText;
00101   long ozcoid;
00102 };
00103 
00104 #endif

Generated on Mon Feb 26 12:11:16 2007 for TheSIGN by  doxygen 1.4.6