MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00005 00010 //---------------------------------------------------------------------------------- 00011 00012 #ifndef __CSOProcessorData_H 00013 #define __CSOProcessorData_H 00014 00015 00016 #include "SoCSOSystem.h" 00017 #include "SoCSODefines.h" 00018 00019 00020 ML_START_NAMESPACE 00021 00022 00024 00025 // forward declaration 00026 class CSOProcessor; 00027 00029 00032 class SOCSO_EXPORT CSOProcessorData : public Base 00033 { 00034 00035 public: 00036 00038 CSOProcessorData(); 00040 ~CSOProcessorData(); 00041 00043 inline void setProcessor(CSOProcessor* processor) { _processor = processor; } 00044 00047 bool needsMemoryImage(); 00048 00050 void setMemoryImage(float* imageData, int sizex, int sizey, int voxelPosZ, 00051 const Matrix4& voxelToWorldMatrix, const Matrix4& worldToVoxelMatrix, 00052 View2DSliceList* slicelist); 00053 00055 bool isCurrentlyGenerating(); 00057 bool isCurrentlyEditing(); 00059 bool couldCloseCSO(); 00061 int getProcessorMode(); 00062 00065 bool process(CSOEvalEventView2DInfos view2DInfos, CSOEvalEventCSOInfos csoInfos); 00066 00069 void draw(CSODrawView2DInfos view2DInfos, CSODrawCSOInfos csoInfos); 00070 00073 void resetInteractionState(); 00075 std::string getProcessorType(); 00077 void triggerSetMouseCursor(SoView2D* view2d,bool shouldSetMouseCursor); 00079 int getPickingMode(); 00080 00081 private: 00082 00084 CSOProcessor* _processor; 00085 00086 ML_CLASS_HEADER(CSOProcessorData) 00087 }; 00088 00090 00091 00092 ML_END_NAMESPACE 00093 00094 00095 #endif // __CSOInterpolationData_H