00001 /*========================================================================= 00002 00003 Program: wxMaracas 00004 Module: $RCSfile: wxMaracasIRMViewManager.h,v $ 00005 Language: C++ 00006 Date: $Date: 2009/05/14 13:54:35 $ 00007 Version: $Revision: 1.5 $ 00008 00009 Copyright: (c) 2002, 2003 00010 License: 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notice for more information. 00015 00016 =========================================================================*/ 00017 00018 00019 00020 00021 #ifndef __wxMaracasIRMViewManagerH__ 00022 #define __wxMaracasIRMViewManagerH__ 00023 00024 #include <iostream> 00025 #include <vector> 00026 00027 #include "wxMaracasIRMViewManagerData.h" 00028 00029 00030 class wxMaracasIRMViewManager { 00031 00032 public: 00033 wxMaracasIRMViewManager(); 00034 ~wxMaracasIRMViewManager(); 00035 00039 void setRenderer(vtkRenderer* renderer); 00043 int addProp3D(vtkProp3D* prop3D, std::string dataname) throw (char*); 00047 int addPropMHD(vtkImageData* imagedata, std::string dataname) throw(char*); 00051 void changeOpacity(int propid, int value)throw(char*); 00052 00056 void changeIsoValue(int propid, double value)throw(char*); 00057 00061 vtkProp3D* getProp3D(std::string filename); 00062 00066 vtkImageData* getImageData(std::string filename); 00067 00071 void addRemoveActor(int propid, bool addremove)throw(char*); 00075 void checkInvariant()throw(char*); 00076 00080 wxMaracasIRMViewManagerData* getViewData(int id)throw(char*); 00081 00085 int getMaxIsoValue(int propid)throw(char*); 00086 00087 00091 void changeColor(int propid, double red, double green, double blue) throw(char*); 00092 00093 void deleteActor(int propid)throw (char *); 00094 00095 private: 00096 std::vector<wxMaracasIRMViewManagerData*> prop3Dvect; 00097 00098 vtkRenderer* _renderer; 00099 00100 int _idCount; 00101 00102 00103 00104 00105 }; 00106 00107 #endif