00001
00002
00003
00004
00005
00006
00007 #include "Volumizer.h"
00008
00009 #ifndef __HISTOGRAMWND_H__
00010 #define __HISTOGRAMWND_H__
00011
00012 struct histo_handle
00013 {
00014 histo_handle *prev, *next;
00015
00016 float in_val;
00017
00018 float out_alpha;
00019 float gradient;
00020
00021 float col_ambient[3];
00022 float col_diffuse[3];
00023 float col_specular[3];
00024 float spec_exponent;
00025 };
00026
00027 ATOM RegisterHistogramClass(HINSTANCE);
00028 LRESULT CALLBACK HistogramProc(HWND, UINT, WPARAM, LPARAM);
00029 void CalcHistogram();
00030 void DrawHistogram(HWND);
00031 void CreateDefaultTransferFunction();
00032 void CreateDefaultHandle(histo_handle &handle);
00033 void CreateInterpolatedHandle(histo_handle &handle, float new_pos);
00034
00035 #define HISTOGRAM_HEIGHT 200
00036 #define HISTOGRAM_SIZE 512
00037 #define HISTOGRAM_MULT (4096 / HISTOGRAM_SIZE)
00038 #define HANDLE_SIZE 0.03f
00039
00040 extern histo_handle *tf;
00041
00042 #endif //__HISTOGRAMWND_H__