HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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  ~SIM_NoiseStandard() override;
32 
33  /// Respond to changes in the noise type.
34  void optionChangedSubclass(const char *name) override;
35 
36  /// Override this function to return the correct noise extents.
38  fpreal &max) const override;
39  /// Override this function to implement a new 1D noise function.
40  fpreal getNoiseSubclass(const UT_Vector3 &pos) const override;
41  /// Override this function to implement a new 3D noise function.
42  void getNoiseSubclass(const UT_Vector3 &pos,
43  UT_Vector3 &noise) const override;
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:50
virtual SIM_PropertyResolver * getNoiseResolverSubclass() const
virtual void optionChangedSubclass(const char *name)
#define SIM_NAME_FRACTALDEPTH
Definition: SIM_Names.h:130
ImageBuf OIIO_API min(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
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)
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
Definition: SIM_DataUtils.h:63
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)
GLuint const GLchar * name
Definition: glcorearb.h:786
#define SIM_NAME_ROUGHNESS
Definition: SIM_Names.h:180
ImageBuf OIIO_API noise(string_view noisetype, float A=0.0f, float B=0.1f, bool mono=false, int seed=0, ROI roi={}, int nthreads=0)
fpreal64 fpreal
Definition: SYS_Types.h:277
virtual fpreal getNoiseSubclass(const UT_Vector3 &pos) const
#define SIM_NAME_NOISETYPE
Definition: SIM_Names.h:152
#define SIM_API
Definition: SIM_API.h:12
#define SIM_NAME_SEED
Definition: SIM_Names.h:185
ImageBuf OIIO_API max(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
GETSET_DATA_FUNCS_V3(SIM_NAME_MINVALUE, MinValue)
#define SIM_NAME_OFFSET
Definition: SIM_Names.h:157
This class defines the interface for noise generation functions.
#define SIM_NAME_FREQUENCY
Definition: SIM_Names.h:131