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_SCALEPOINT_H
00024 #define NOISE_MODULE_SCALEPOINT_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_SCALE_POINT_X = 1.0;
00045
00048 const double DEFAULT_SCALE_POINT_Y = 1.0;
00049
00052 const double DEFAULT_SCALE_POINT_Z = 1.0;
00053
00067 class CS_CRYSTALSPACE_EXPORT ScalePoint: public Module
00068 {
00069
00070 public:
00071
00082 ScalePoint ();
00083
00084 virtual int GetSourceModuleCount () const
00085 {
00086 return 1;
00087 }
00088
00089 virtual double GetValue (double x, double y, double z) const;
00090
00095 double GetXScale () const
00096 {
00097 return m_xScale;
00098 }
00099
00104 double GetYScale () const
00105 {
00106 return m_yScale;
00107 }
00108
00113 double GetZScale () const
00114 {
00115 return m_zScale;
00116 }
00117
00125 void SetScale (double scale)
00126 {
00127 m_xScale = scale;
00128 m_yScale = scale;
00129 m_zScale = scale;
00130 }
00131
00142 void SetScale (double xScale, double yScale, double zScale)
00143 {
00144 m_xScale = xScale;
00145 m_yScale = yScale;
00146 m_zScale = zScale;
00147 }
00148
00157 void SetXScale (double xScale)
00158 {
00159 m_xScale = xScale;
00160 }
00161
00170 void SetYScale (double yScale)
00171 {
00172 m_yScale = yScale;
00173 }
00174
00183 void SetZScale (double zScale)
00184 {
00185 m_zScale = zScale;
00186 }
00187
00188 protected:
00189
00191 double m_xScale;
00192
00194 double m_yScale;
00195
00197 double m_zScale;
00198
00199 };
00200
00202
00204
00206
00207 }
00208 }
00209 }
00210 }
00211
00212 #endif