00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __mitkCUDASegmentedVolumeLut_h
00011 #define __mitkCUDASegmentedVolumeLut_h
00012
00013 #include "mitkCUDAVolumeRenderingIncludes.h"
00014 #include "mitkVis2Vector4.h"
00015
00016 typedef enum
00017 {
00018 No,
00019 Phong,
00020 Illustrative,
00021 Emissive
00022 } ShadingMode;
00023
00024 class MITK_CUDA_VOLUME_RENDERING_API mitkSegmentedVolumeLut
00025 {
00026 public:
00027 int m_SampleNumber;
00028 float *m_min, *m_max;
00029 mitkVis2Vector4 *m_Data;
00030 ShadingMode *m_ShadingMode;
00031
00032 mitkSegmentedVolumeLut();
00033 ~mitkSegmentedVolumeLut();
00034
00035 void Allocate();
00036 void SetLine(int lineIndex, mitkVis2Vector4* data, float minV, float maxV);
00037 };
00038
00039 struct cudaArray;
00040 class mitkLut1D;
00041
00042 class MITK_CUDA_VOLUME_RENDERING_API mitkCUDASegmentedVolumeLut
00043 {
00044 public:
00045 int m_SampleNumber;
00046 float *m_min,*m_max;
00047 ShadingMode *m_ShadingMode;
00048 cudaArray* m_d_tfArray;
00049
00050 mitkCUDASegmentedVolumeLut();
00051 ~mitkCUDASegmentedVolumeLut();
00052
00053 void CopyToTexture(const mitkSegmentedVolumeLut* Lut);
00054
00055 };
00056
00057 #endif
00058