glviewvol

annotate src/xfermap.h @ 6:f22be47a3572

moved to TransferFuncs completely
author John Tsiombikas <nuclear@member.fsf.org>
date Tue, 30 Dec 2014 06:22:54 +0200
parents
children 71b479ffb9f7
rev   line source
nuclear@6 1 #ifndef XFERMAP_H_
nuclear@6 2 #define XFERMAP_H_
nuclear@6 3
nuclear@6 4 class TransferFunc {
nuclear@6 5 public:
nuclear@6 6 virtual ~TransferFunc();
nuclear@6 7
nuclear@6 8 virtual float map(float x) const = 0;
nuclear@6 9 virtual void map(float x, float *rgba_value) const = 0;
nuclear@6 10 };
nuclear@6 11
nuclear@6 12 class TransferWindow : public TransferFunc {
nuclear@6 13 private:
nuclear@6 14 float soft_rad;
nuclear@6 15 float low[4], high[4]; // rgb
nuclear@6 16
nuclear@6 17 public:
nuclear@6 18 TransferWindow();
nuclear@6 19
nuclear@6 20 void set_interval(float a, float b);
nuclear@6 21 void set_interval(float *rgba_low, float *rgba_high);
nuclear@6 22 void set_interval_rgba(int channel, float a, float b);
nuclear@6 23
nuclear@6 24 void get_interval(float *aptr, float *bptr) const;
nuclear@6 25 void get_interval_rgba(float *rgba_low, float *rgba_high) const;
nuclear@6 26 void get_interval_rgba(int channel, float *aptr, float *bptr) const;
nuclear@6 27
nuclear@6 28 void set_soft_radius(float s);
nuclear@6 29 float get_soft_radius() const;
nuclear@6 30
nuclear@6 31 float map(float x) const;
nuclear@6 32 void map(float x, float *rgba_value) const;
nuclear@6 33 };
nuclear@6 34
nuclear@6 35 #endif // XFERMAP_H_