volmetrics

annotate src/volume.h @ 8:928954bfefd7

added mesh (draw: immediate mode - todo: displ. list)
author Eleni Maria Stea <elene.mst@gmail.com>
date Sat, 25 Jan 2014 19:25:32 +0200
parents e6485ef45e6e
children 40febfed6cff
rev   line source
eleni@0 1 #ifndef VOLUME_H_
eleni@0 2 #define VOLUME_H_
eleni@0 3
elene@3 4 #include <vector>
elene@3 5 #include "image.h"
elene@3 6
eleni@1 7 class Volume {
eleni@1 8 private:
elene@3 9 std::vector<Image> slices;
elene@6 10
elene@4 11 int width;
elene@4 12 int height;
elene@5 13 float zaspect;
eleni@1 14
elene@6 15 unsigned int vol_tex;
elene@6 16 mutable bool vol_tex_valid;
elene@6 17
elene@6 18 void create_vol_tex() const;
elene@6 19
elene@3 20 public:
elene@3 21 Volume();
elene@6 22 ~Volume();
elene@3 23
elene@6 24 bool load(const char *fname);
elene@6 25
elene@4 26 bool push_slice(Image &&slice);
elene@6 27 const Image *get_slice(int num_slice) const;
elene@6 28 const Image *get_slice_by_z(float z) const;
elene@6 29 int get_slice_count() const;
elene@6 30
elene@6 31 int get_slice_idx_by_z(float z) const;
elene@6 32
elene@6 33 unsigned int get_texture() const;
elene@3 34
elene@8 35 void draw() const;
eleni@1 36 };
eleni@1 37
eleni@0 38 #endif // VOLUME_H_