/* ZNoiseMap.hpp Author : Chris Ertel Purpose : Interface to create a map for noise values. Changelog 2/13/11 - Creation (crertel) 2/20/11 - Changed interface to be useful. (crertel) */ #ifndef _ZNOISEMAP_H #define _ZNOISEMAP_H #include class ZNoiseMap { public: virtual ~ZNoiseMap() {} /* virtual public ZNoiseMap::GetDimensionality Gets dimension of noise map (1,2,etc.). @return (int) - dimension of noise map */ virtual int GetDimensionality() = 0; /* virtual public ZNoiseMap::GetLacunarity Get lacunarity (scaling of successive frequencies in noise series). @return (float) - lacunarity of noise map */ virtual float GetLacunarity() = 0; // scaling of successive frequencies in noise octaves /* virtual public ZNoiseMap::GetPersistence Get persistence (scaling of successive amplitudes in noise series). @return (float) */ virtual float GetPersistence() = 0; // scaling of successive amplitudes in noise octaves /* virtual public ZNoiseMap::GetNumberOfOctaves Get number of octaves in noise series. @return (int) - number of terms in noise series. */ virtual int GetNumberOfOctaves() = 0; /* virtual public ZNoiseMap::GetNumberSamplesInX Get number of samples in X dimensions of noise map. @return (int) - number of samples in X. */ virtual int GetNumberSamplesInX() = 0; /* virtual public ZNoiseMap::GetNumberSamplesInY Get number of samples in Y dimensions of noise map. @return (int) - number of samples in Y. */ virtual int GetNumberSamplesInY() = 0; /* virtual public ZNoiseMap::GetNumberSamplesInZ Get number of samples in Z dimensions of noise map. @return (int) - number of samples in Z. */ virtual int GetNumberSamplesInZ() = 0; /* virtual public ZNoiseMap::GetNumberSamplesInW Get number of samples in Z dimensions of noise map. @return (int) - number of samples in W. */ virtual int GetNumberSamplesInW() = 0; /* virtual public ZNoiseMap::SetLacunarity Sets the lacunarity (scaling of successive frequencies in noise series). @param _lac - lacunarity to use. @return (void) */ virtual void SetLacunarity(float _lac) = 0; // scaling of successive frequencies in noise octaves /* virtual public ZNoiseMap::SetPersistence Sets the persistence (scaling of successive amplitudes in noise series). @param _per - persistence to set noise map to. @return (void) */ virtual void SetPersistence(float _per) = 0; // scaling of successive amplitudes in noise octaves /* virtual public ZNoiseMap::SetNumberOfOctaves Set number of octave in noise series. @param _numOctaves - number of octaves to use. @return (void) */ virtual void SetNumberOfOctaves(int _numOctaves ) = 0; /* virtual public ZNoiseMap::SetNumberSamplesInX Sets number of samples in X direction. @param _numSamples - number of samples in X direction. @return (void) */ virtual void SetNumberSamplesInX(int _numSamples) = 0; /* virtual public ZNoiseMap::SetNumberSamplesInY Sets number of samples in Y direction. @param _numSamples - number of samples in Y direction. @return (void) */ virtual void SetNumberSamplesInY(int _numSamples) = 0; /* virtual public ZNoiseMap::SetNumberSamplesInZ Sets number of samples in Z direction. @param _numSamples - number of samples in Z direction. @return (void) */ virtual void SetNumberSamplesInZ(int _numSamples) = 0; /* virtual public ZNoiseMap::SetNumberSamplesInW Sets number of samples in W direction. @param _numSamples - number of samples in W direction. @return (void) */ virtual void SetNumberSamplesInW(int _numSamples) = 0; /* virtual public ZNoiseMap::Generate Generates noise map values. @return (bool) - True if successful, false otherwise. */ virtual bool Generate(int _seed) = 0; /* virtual public ZNoiseMap::Cleanup Cleans up resources for noise map. @return (void) */ virtual void Cleanup() = 0; }; #endif