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_RenderParmsVolatile_h__ 00015 #define __SIM_RenderParmsVolatile_h__ 00016 00017 #include "SIMZ_API.h" 00018 00019 #include <SIM/SIM_RenderParms.h> 00020 00021 /// This class holds rendering options much like object rendering parameters. 00022 /// To use this data type, attach it as subdata to a SIM_Geometry that is 00023 /// being rendered. 00024 /// This is a volatile version that reloads its value directly from 00025 /// the opnode rather than using the data. 00026 class SIMZ_API SIM_RenderParmsVolatile : SIM_RenderParms 00027 { 00028 public: 00029 /// These methods check the creatorNode to query its current 00030 /// parm value and will pass down to the actual options only 00031 /// if the creator node can't be found. 00032 virtual void getMaterialShop(const SIM_Object *obj, UT_String &str) const; 00033 virtual bool getForDisplay(const SIM_Object *obj) const; 00034 virtual bool getForRender(const SIM_Object *obj) const; 00035 00036 00037 protected: 00038 explicit SIM_RenderParmsVolatile(const SIM_DataFactory *factory); 00039 virtual ~SIM_RenderParmsVolatile(); 00040 00041 private: 00042 static const SIM_DopDescription *getRenderParmsVolatileDopDescription(); 00043 00044 DECLARE_STANDARD_GETCASTTOTYPE(); 00045 DECLARE_DATAFACTORY(SIM_RenderParmsVolatile, 00046 SIM_RenderParms, 00047 "Rendering Parameters", 00048 getRenderParmsVolatileDopDescription()); 00049 }; 00050 00051 #endif 00052
1.5.9