00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Side Effects Software Inc. 00008 * 477 Richmond Street West, Suite 1001 00009 * Toronto, Ontario 00010 * Canada M5V 3E7 00011 * 416-504-9876 00012 */ 00013 00014 #ifndef __SIM_PopGeometry_h__ 00015 #define __SIM_PopGeometry_h__ 00016 00017 #include "SIMZ_API.h" 00018 #include <POP/POP_ContextData.h> 00019 #include <SIM/SIM_GeometryCopy.h> 00020 #include "SIMZ_Utils.h" 00021 00022 class UT_IStream; 00023 class SIM_Object; 00024 00025 // This SIM_Geometry implementation gets geometry from a SOP. 00026 class SIMZ_API SIM_PopGeometry : public SIM_GeometryCopy 00027 { 00028 public: 00029 GETSET_DATA_FUNCS_B(SIM_NAME_NEEDSRESET, NeedsReset); 00030 00031 POP_ContextData &getContextData(); 00032 const POP_ContextData &getContextData() const; 00033 00034 protected: 00035 explicit SIM_PopGeometry(const SIM_DataFactory *factory); 00036 virtual ~SIM_PopGeometry(); 00037 00038 virtual void initializeSubclass(); 00039 virtual bool loadSubclass(UT_IStream &is); 00040 virtual int64 getMemorySizeSubclass() const; 00041 virtual void makeEqualSubclass(const SIM_Data *source); 00042 00043 private: 00044 POP_ContextData myContextData; 00045 00046 DECLARE_STANDARD_GETCASTTOTYPE(); 00047 DECLARE_DATAFACTORY(SIM_PopGeometry, 00048 SIM_GeometryCopy, 00049 "POP Geometry", 00050 getEmptyDopDescription()); 00051 }; 00052 00053 #endif 00054
1.5.9