00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef NOISE_MODEL_PLANE_H
00023 #define NOISE_MODEL_PLANE_H
00024
00025 #include <assert.h>
00026 #include "../module/modulebase.h"
00027
00028 namespace CS {
00029 namespace Math {
00030 namespace Noise {
00031 namespace Model {
00032
00035
00038
00053 class CS_CRYSTALSPACE_EXPORT Plane
00054 {
00055
00056 public:
00057
00059 Plane ();
00060
00065 Plane (const CS::Math::Noise::Module::Module& module);
00066
00073 const CS::Math::Noise::Module::Module& GetModule () const
00074 {
00075 assert (m_pModule != NULL);
00076 return *m_pModule;
00077 }
00078
00092 double GetValue (double x, double z) const;
00093
00101 void SetModule (const CS::Math::Noise::Module::Module& module)
00102 {
00103 m_pModule = &module;
00104 }
00105
00106 private:
00107
00109 const CS::Math::Noise::Module::Module* m_pModule;
00110
00111 };
00112
00114
00116
00117 }
00118 }
00119 }
00120 }
00121
00122 #endif