HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SIM_MaskField.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_MaskField_h__
9 #define __SIM_MaskField_h__
10 
11 #include "SIM_API.h"
12 #include <UT/UT_Noise.h>
13 #include "SIM_Noise.h"
14 
15 /// This class defines the interface for field mask functions.
17 {
18 public:
23  /// The maximum distance we are allowed to search for a point.
25 
26 protected:
27  explicit SIM_MaskField(const SIM_DataFactory *factory);
28  ~SIM_MaskField() override;
29 
30  /// Override this function to return the actual bounds of the noise.
32  fpreal &max) const override;
33  /// Override this function to implement a new 1D noise function.
34  fpreal getNoiseSubclass(const UT_Vector3 &pos) const override;
35  /// Override this function to implement a new 3D noise function.
36  void getNoiseSubclass(const UT_Vector3 &pos,
37  UT_Vector3 &noise) const override;
38 
39 private:
40  static const SIM_DopDescription *getMaskFieldDopDescription();
41 
44  SIM_Noise,
45  "Mask Field",
46  getMaskFieldDopDescription());
47 };
48 
49 #endif
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:50
#define SIM_NAME_MAXDISTANCE
Definition: SIM_Names.h:145
#define SIM_NAME_TREATASSDF
Definition: SIM_Names.h:206
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_INVERT
Definition: SIM_Names.h:139
This class defines the interface for field mask functions.
Definition: SIM_MaskField.h:16
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_SCALE
Definition: SIM_Names.h:183
#define SIM_API
Definition: SIM_API.h:12
ImageBuf OIIO_API max(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
#define SIM_NAME_OFFSET
Definition: SIM_Names.h:157
GETSET_DATA_FUNCS_B(SIM_NAME_SCALARNOISE, ScalarNoise)