00001 #ifndef TRANSFUNC_H 00002 #define TRANSFUNC_H 00003 00004 #include "color.h" 00005 00006 #include <vector> 00007 00008 00009 struct INDICES { 00010 int m_sdBegin; 00011 int m_sdEnd; 00012 unsigned char m_ucAlpha; 00013 COLORREF m_scColor; 00014 }; 00015 00016 typedef std::vector<INDICES> INDEXLIST; 00017 00018 00019 00020 00021 class Transfunc { 00022 private: 00023 rgb *colormap; // each density will map a color 00024 float *opacitymap; // each density will map an opacity at a range of 0 to 1 00025 public: 00026 Transfunc(); 00027 Transfunc(const Transfunc &trans); 00028 00029 ~Transfunc(); 00030 bool SetDensityColor(int dens, rgb col); 00031 rgb GetDensityColor(int dens); 00032 bool SetOpacity(int dens, float opac); 00033 float GetOpacity(int dens); 00034 }; 00035 00036 00037 #endif