00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __SIM_SopScalarField_h__
00020 #define __SIM_SopScalarField_h__
00021
00022 #include "SIMZ_API.h"
00023 #include <OP/OP_Version.h>
00024 #include <SIM/SIM_ScalarField.h>
00025 #include <SIM/SIM_OptionsUser.h>
00026 #include "SIMZ_Utils.h"
00027
00028
00029 class SIMZ_API SIM_SopScalarField : public SIM_ScalarField
00030 {
00031 public:
00032
00033 GETSET_DATA_FUNCS_B("usesopdimensions", UseSopDimensions);
00034 GETSET_DATA_FUNCS_F(SIM_NAME_TIME, Time);
00035 GETSET_DATA_FUNCS_S(SIM_NAME_SOPPATH, SopPath);
00036 GETSET_DATA_FUNCS_I("primnum", PrimNumber);
00037 GETSET_DATA_FUNCS_B(SIM_NAME_USETRANSFORM, UseTransform);
00038 GETSET_DATA_FUNCS_B(SIM_NAME_LETSOPSINTERPOLATE, LetSopsInterpolate);
00039
00040 protected:
00041 explicit SIM_SopScalarField(const SIM_DataFactory *factory);
00042 virtual ~SIM_SopScalarField();
00043
00044
00045 virtual void handleModificationSubclass(int code);
00046 virtual void interpolateSubclass(const SIM_Data *source1,
00047 const SIM_Data *source2,
00048 fpreal interp);
00049
00050 private:
00051 void updateFieldFromOptions();
00052
00053 static const SIM_DopDescription *getSopScalarFieldDopDescription();
00054
00055 DECLARE_STANDARD_GETCASTTOTYPE();
00056 DECLARE_DATAFACTORY(SIM_SopScalarField,
00057 SIM_ScalarField,
00058 "SOP Scalar Field",
00059 getSopScalarFieldDopDescription());
00060 };
00061
00062 #endif
00063