MeVisLabToolboxReference
MeVisLab/Standard/Sources/Inventor/SoCSO/CSOProcessor/CSOProcessorData.h
Go to the documentation of this file.
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