-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPerlinNoise.h
48 lines (39 loc) · 1 KB
/
PerlinNoise.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#ifndef PERLINNOISE_H
#define PERLINNOISE_H
class PerlinNoise
{
public:
static PerlinNoise& getInstance(void)
{
static PerlinNoise instance;
return instance;
}
~PerlinNoise(void);
void SetValues(double, double, double, int, int);
void SetPersistence(double);
void SetFrequency(double);
void SetAmplitude(double);
void SetOctaves(int);
void SetSeed(int);
double GetHeight(double, double);
double getPersistance(void);
double getFrequency(void);
double getAmplitude(void);
int getOctaves(void);
int getSeed(void);
private:
PerlinNoise(double persistenceIn = 0.0, double frequencyIn = 0.0, double amplitudeIn = 0.0, int octavesIn = 0, int seedIn = 0);
PerlinNoise(PerlinNoise const&);
PerlinNoise &operator=(PerlinNoise const&);
// help functions
double Total(double, double);
double GetValue(double, double);
double Interpolate(double, double, double);
double Noise(int, int);
double persistence;
double frequency;
double amplitude;
int octaves;
int seed;
};
#endif