#ifndef TEXTURE3D_H #define TEXTURE3D_H #include "basics_global.h" namespace paysages { namespace basics { class BASICSSHARED_EXPORT Texture3D { public: Texture3D(int xsize, int ysize, int zsize); ~Texture3D(); void getSize(int *xsize, int *ysize, int *zsize) const; void setPixel(int x, int y, int z, Color col); Color getPixel(int x, int y, int z) const; Color getNearest(double dx, double dy, double dz) const; Color getLinear(double dx, double dy, double dz) const; Color getCubic(double dx, double dy, double dz) const; void fill(Color col); void add(Texture3D *other); void save(PackStream *stream) const; void load(PackStream *stream); void saveToFile(const std::string &filepath) const; private: int xsize; int ysize; int zsize; Color *data; }; } } #endif // TEXTURE3D_H