00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __SIM_MaskField_h__
00015 #define __SIM_MaskField_h__
00016
00017 #include "SIM_API.h"
00018 #include <UT/UT_Noise.h>
00019 #include "SIM_Noise.h"
00020
00021
00022 class SIM_API SIM_MaskField : public SIM_Noise
00023 {
00024 public:
00025 GETSET_DATA_FUNCS_B(SIM_NAME_TREATASSDF, TreatAsSDF);
00026 GETSET_DATA_FUNCS_B(SIM_NAME_INVERT, InvertSign);
00027 GETSET_DATA_FUNCS_F(SIM_NAME_OFFSET, Offset);
00028 GETSET_DATA_FUNCS_F(SIM_NAME_SCALE, Scale);
00029
00030 GETSET_DATA_FUNCS_F(SIM_NAME_MAXDISTANCE, MaxDistance);
00031
00032 protected:
00033 explicit SIM_MaskField(const SIM_DataFactory *factory);
00034 virtual ~SIM_MaskField();
00035
00036
00037 virtual void getNoiseLimitsSubclass(fpreal &min,
00038 fpreal &max) const;
00039
00040 virtual fpreal getNoiseSubclass(const UT_Vector3 &pos) const;
00041
00042 virtual void getNoiseSubclass(const UT_Vector3 &pos,
00043 UT_Vector3 &noise) const;
00044
00045 private:
00046 static const SIM_DopDescription *getMaskFieldDopDescription();
00047
00048 DECLARE_STANDARD_GETCASTTOTYPE();
00049 DECLARE_DATAFACTORY(SIM_MaskField,
00050 SIM_Noise,
00051 "Mask Field",
00052 getMaskFieldDopDescription());
00053 };
00054
00055 #endif