80 lines
1.5 KiB
C++
80 lines
1.5 KiB
C++
/*
|
|
ZNoise.hpp
|
|
Author : Chris Ertel
|
|
|
|
Purpose : Interface class to call noise generation functions.
|
|
|
|
Changelog
|
|
2/13/11 - Creation (crertel)
|
|
*/
|
|
|
|
#ifndef _ZNOISE_H
|
|
#define _ZNOISE_H
|
|
|
|
#include <ZUtil/ZUtilBuild.hpp>
|
|
|
|
class ZNoise
|
|
{
|
|
public:
|
|
virtual ~ZNoise() {}
|
|
|
|
/*
|
|
virtual public ZNoise::reseed
|
|
|
|
Function to set seed for the noise generator.
|
|
|
|
@param _seed - int to seed the noise with.
|
|
@return (void)
|
|
*/
|
|
virtual void reseed (const int _seed) = 0;
|
|
|
|
/*
|
|
virtual public ZNoise::noise1
|
|
|
|
Function for getting 1D noise.
|
|
|
|
@param _x - float x coord
|
|
@return (float) - value of noise at x
|
|
*/
|
|
virtual float noise1(const float _x) = 0;
|
|
|
|
/*
|
|
virtual public ZNoise::noise2
|
|
|
|
Function for getting 2D noise.
|
|
|
|
@param _x - float x coord
|
|
@param _y - float y coord
|
|
@return (float) - value of noise at (x,y)
|
|
*/
|
|
virtual float noise2(const float _x, const float _y) = 0;
|
|
|
|
/*
|
|
virtual public ZNoise::noise3
|
|
|
|
Function for getting 3D noise.
|
|
|
|
@param _x - float x coord
|
|
@param _y - float y coord
|
|
@param _z - float z coord
|
|
@return (float) - value of noise at (x,y,z)
|
|
*/
|
|
virtual float noise3(const float _x, const float _y, const float _z) = 0;
|
|
|
|
/*
|
|
virtual public ZNoise::noise4
|
|
|
|
Function for getting 4D noise.
|
|
|
|
@param _x - float x coord
|
|
@param _y - float y coord
|
|
@param _z - float z coord
|
|
@param _w - float w coord
|
|
@return (float) - value of noise at (x,y,z,w)
|
|
*/
|
|
virtual float noise4(const float _x, const float _y, const float _z, const float _w) = 0;
|
|
};
|
|
|
|
#endif
|
|
|