HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SIM_NoiseStandard.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  */
7 
8 #ifndef __SIM_NoiseStandard_h__
9 #define __SIM_NoiseStandard_h__
10 
11 #include "SIM_API.h"
12 #include <UT/UT_Noise.h>
13 #include "SIM_Noise.h"
14 
15 class SIM_NoiseResolverStandard;
16 
17 /// This class defines the interface for noise generation functions.
19 {
20 public:
28 
29 protected:
30  explicit SIM_NoiseStandard(const SIM_DataFactory *factory);
31  virtual ~SIM_NoiseStandard();
32 
33  /// Respond to changes in the noise type.
34  virtual void optionChangedSubclass(const char *name);
35 
36  /// Override this function to return the correct noise extents.
37  virtual void getNoiseLimitsSubclass(fpreal &min,
38  fpreal &max) const;
39  /// Override this function to implement a new 1D noise function.
40  virtual fpreal getNoiseSubclass(const UT_Vector3 &pos) const;
41  /// Override this function to implement a new 3D noise function.
42  virtual void getNoiseSubclass(const UT_Vector3 &pos,
43  UT_Vector3 &noise) const;
44 
46 
47 private:
48  static const SIM_DopDescription *getNoiseStandardDopDescription();
49 
50  UT_Noise myNoise;
51 
54  SIM_Noise,
55  "Noise Field",
56  getNoiseStandardDopDescription());
57 
58  friend class SIM_NoiseResolverStandard;
59 };
60 
61 #endif
UT_NoiseType
Definition: UT_Noise.h:33
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:45
virtual SIM_PropertyResolver * getNoiseResolverSubclass() const
virtual void optionChangedSubclass(const char *name)
#define SIM_NAME_FRACTALDEPTH
Definition: SIM_Names.h:129
const hboost::disable_if_c< VecTraits< T >::IsVec, T >::type & min(const T &a, const T &b)
Definition: Composite.h:128
virtual void getNoiseLimitsSubclass(fpreal &min, fpreal &max) const =0
Override this function to return the actual bounds of the noise.
#define GETSET_DATA_FUNCS_F(DataName, FuncName)
const hboost::disable_if_c< VecTraits< T >::IsVec, T >::type & max(const T &a, const T &b)
Definition: Composite.h:132
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
Definition: SIM_DataUtils.h:58
This class defines the interface for noise generation functions.
Definition: SIM_Noise.h:20
#define SIM_NAME_ATTENUATION
Definition: SIM_Names.h:73
#define GETSET_DATA_FUNCS_I(DataName, FuncName)
#define GETSET_DATA_FUNCS_E(DataName, FuncName, EnumType)
#define SIM_NAME_ROUGHNESS
Definition: SIM_Names.h:179
GLuint const GLchar * name
Definition: glcorearb.h:785
double fpreal
Definition: SYS_Types.h:263
virtual fpreal getNoiseSubclass(const UT_Vector3 &pos) const
#define SIM_NAME_NOISETYPE
Definition: SIM_Names.h:151
#define SIM_API
Definition: SIM_API.h:10
#define SIM_NAME_SEED
Definition: SIM_Names.h:184
GETSET_DATA_FUNCS_V3(SIM_NAME_MINVALUE, MinValue)
#define SIM_NAME_OFFSET
Definition: SIM_Names.h:156
This class defines the interface for noise generation functions.
#define SIM_NAME_FREQUENCY
Definition: SIM_Names.h:130