00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __SIM_ParticleFieldVisualization_H__
00022 #define __SIM_ParticleFieldVisualization_H__
00023
00024 #include "SIMZ_Utils.h"
00025
00026 #include <UT/UT_Vector2.h>
00027 #include <UT/UT_Vector3.h>
00028
00029 #include <SIM/SIM_OptionsUser.h>
00030 #include <SIM/SIM_DataUtils.h>
00031 #include <SIM/SIM_Data.h>
00032
00033 class SIM_Geometry;
00034
00035
00036 class SIMZ_API SIM_ParticleFieldVisualization : public SIM_Data,
00037 public SIM_OptionsUser
00038 {
00039 public:
00040 GET_GUIDE_FUNC_B(SIM_NAME_SHOWGUIDE, ShowGuide, true);
00041 GET_GUIDE_FUNC_V3(SIM_NAME_COLOR, Color, (1, 1, 1));
00042
00043 GET_GUIDE_FUNC_I("visprim", VisPrim, 0);
00044
00045 GET_GUIDE_FUNC_F("scale", Scale, 1.0);
00046 GET_GUIDE_FUNC_S("spriteshop", SpriteShop, "");
00047 GET_GUIDE_FUNC_S("grainsoppath", GrainSopPath, "");
00048
00049 protected:
00050 explicit SIM_ParticleFieldVisualization(const SIM_DataFactory *factory);
00051 virtual ~SIM_ParticleFieldVisualization();
00052
00053
00054 virtual void initializeSubclass();
00055
00056 virtual bool getIsAlternateRepresentationSubclass() const;
00057 virtual void initAlternateRepresentationSubclass(const SIM_Data &);
00058 virtual SIM_Guide *createGuideObjectSubclass() const;
00059 virtual void buildGuideGeometrySubclass(const SIM_RootData &root,
00060 const SIM_Options &options,
00061 const GU_DetailHandle &gdh,
00062 UT_DMatrix4 *xform,
00063 const SIM_Time &t) const;
00064
00065 private:
00066 static const SIM_DopDescription *getParticleFieldVisualizationDopDescription();
00067
00068 const SIM_Geometry *myGeometry;
00069
00070 DECLARE_STANDARD_GETCASTTOTYPE();
00071
00072 DECLARE_DATAFACTORY(SIM_ParticleFieldVisualization,
00073 SIM_Data,
00074 "ParticleFieldVisualization",
00075 getParticleFieldVisualizationDopDescription());
00076 };
00077
00078 #endif