vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PerlinNoiseProperties.h
Go to the documentation of this file.
1 
10 #ifndef VRECKO_NATURE_TERRAIN_PERLINNOISEPROPERTIES_H
11 #define VRECKO_NATURE_TERRAIN_PERLINNOISEPROPERTIES_H
12 
13 #include <vrecko/ReaderWriter.h>
14 #include <osg/Vec2>
15 
17 
18 namespace APNature
19 {
20  static class PerlinNoiseProperties : public GeneratedTerrainProperties
21  {
22  private:
23 
24  // Perlin noise algorithm
25  static float _persistence;
26  static int _octaveCount;
27  static InterpolationType _interpolation;
28 
29  public:
30 
31  // Perlin noise specific methods
32  // #############################
33 
37  static inline float Persistence() { return _persistence; }
38  static inline void Persistence(float persistence) { _persistence = persistence; }
39 
43  static inline int OctaveCount() { return _octaveCount; }
44  static inline void OctaveCount(int octaveCount) { _octaveCount = (octaveCount >= 1 ? octaveCount : 1); }
45 
49  static inline InterpolationType Interpolation() { return _interpolation; }
50  static inline void Interpolation(InterpolationType interpolation) { _interpolation = interpolation; }
51 
57  static void LoadDataSourceNodeParameters(XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parameters);
58 
59  protected:
60 
65  static void ParseInterpolationString(const std::string& input);
66 
67  } PerlinNoiseProperties;
68 
69 }
70 
71 #endif