]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/include/MaracasDll.h
08d1b23f359b94427bca44879cf2f33a2790f5b0
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / include / MaracasDll.h
1 #ifndef __CMARACASCONTROLLER_H_
2 #define __CMARACASCONTROLLER_H_
3
4 // The following ifdef block is the standard way of creating macros which make exporting 
5 // from a DLL simpler. All files within this DLL are compiled with the MaracasWin32Lib_EXPORTS
6 // symbol defined on the command line. this symbol should not be defined on any project
7 // that uses this DLL. This way any other project whose source files include this file see 
8 // MARACASDLL_API functions as being imported from a DLL, wheras this DLL sees symbols
9 // defined with this macro as being exported.
10 #ifdef MaracasWin32Lib_EXPORTS
11 #define MARACASDLL_API __declspec(dllexport)
12 #else
13 #define MARACASDLL_API __declspec(dllimport)
14 #endif
15 class wxMaracasApp;
16 // This class is exported from the MaracasWin32Lib.dll
17 class MARACASDLL_API CMaracasController {
18 public:
19         CMaracasController(void);
20         
21         ~CMaracasController();
22         
23         int RunMaracas(void);
24         
25         int ShowApp(int nCmdShow);
26         
27         int Reset();
28         
29         void GetSnapshot( unsigned int& rWidth,
30                      unsigned int& rHeight,
31                      unsigned char*& rpPixels ) /*const*/ ;
32
33         /*! \brief Notify the snapshot bitmap has been retrieved
34         */
35         int ReleaseSnapshot();
36         
37         /*! \brief Notify the resampled image has been retrieved
38         */
39         int OutputVolumeRetrieved();
40
41         void SetVolumeParams(int nX, int nY, int nSlices);
42
43         void SetSliceParams(float pixelSpacingColumn,
44                                                 float pixelSpacingRow,
45                                                 float pixelSpacingSlice,
46                                                 float RescaleSlope, 
47                                                 float RescaleIntercept);
48
49         void SetSlicePixels(int numSlice,unsigned short * pixels);
50
51 private :
52         wxMaracasApp    *m_pMarApp;
53         unsigned char   *_rpPixels; //Snapshot
54
55         unsigned short  *m_pSlicesPixels;
56         int                             m_nX;
57         int                             m_nY;
58         int                             m_nSlices;
59         float                   m_PixelSpacingColumn;
60         float                   m_PixelSpacingRow;
61         float                   m_PixelSpacingSlice;
62         float                   m_RescaleSlope;
63         float                   m_RescaleIntercept;
64 };
65
66
67 #endif // __CMARACASCONTROLLER_H_
68