Files
libsst/Include/ZUtil/ZNoiseMap.hpp
2026-04-03 00:22:39 -05:00

186 lines
3.9 KiB
C++

/*
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