Initial commit
This commit is contained in:
185
Include/ZUtil/ZNoiseMap.hpp
Normal file
185
Include/ZUtil/ZNoiseMap.hpp
Normal file
@@ -0,0 +1,185 @@
|
||||
/*
|
||||
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 <ZUtil/ZSimplexNoise.hpp>
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user