00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef NOISE_MODULE_CLAMP_H
00024 #define NOISE_MODULE_CLAMP_H
00025
00026 #include "modulebase.h"
00027
00028 namespace CS {
00029 namespace Math {
00030 namespace Noise {
00031 namespace Module {
00032
00035
00038
00041
00044 const double DEFAULT_CLAMP_LOWER_BOUND = -1.0;
00045
00048 const double DEFAULT_CLAMP_UPPER_BOUND = 1.0;
00049
00068 class CS_CRYSTALSPACE_EXPORT Clamp: public Module
00069 {
00070
00071 public:
00072
00080 Clamp ();
00081
00089 double GetLowerBound () const
00090 {
00091 return m_lowerBound;
00092 }
00093
00094 virtual int GetSourceModuleCount () const
00095 {
00096 return 1;
00097 }
00098
00106 double GetUpperBound () const
00107 {
00108 return m_upperBound;
00109 }
00110
00111 virtual double GetValue (double x, double y, double z) const;
00112
00129 void SetBounds (double lowerBound, double upperBound);
00130
00131 protected:
00132
00134 double m_lowerBound;
00135
00137 double m_upperBound;
00138
00139 };
00140
00142
00144
00146
00147 }
00148 }
00149 }
00150 }
00151
00152 #endif