#ifndef NOISESTATE_H #define NOISESTATE_H #include "basics_global.h" namespace paysages { namespace basics { /*! * Fractal noise state, that can be saved to a file. * * This state contains the noise offsets for noise layers. */ class BASICSSHARED_EXPORT NoiseState { public: typedef struct { double x; double y; double z; } NoiseOffset; public: NoiseState(); void save(PackStream* stream) const; void load(PackStream* stream); void copy(NoiseState* destination) const; void randomizeOffsets(); private: std::vector level_offsets; friend class NoiseGenerator; }; } } #endif // NOISESTATE_H