00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __OBJ_Fog_h__
00020 #define __OBJ_Fog_h__
00021
00022 #include "OBJ_API.h"
00023 #include "OBJ_Node.h"
00024
00025 class obj_Scene;
00026
00027 enum OBJ_FogIndex
00028 {
00029 I_FOG_MATERIAL = I_N_BASE_INDICES,
00030 I_FOG_MATERIAL_OPT,
00031 I_N_FOG_INDICES
00032 };
00033
00034 class OBJ_API OBJ_Fog : public OBJ_Node
00035 {
00036 public:
00037 OBJ_Fog(OP_Network *, const char *, OP_Operator *);
00038 virtual ~OBJ_Fog();
00039
00040 static PRM_Template *getObsolete();
00041 static PRM_Template *getTemplateList();
00042 static OP_Node *myConstructor(OP_Network *net,
00043 const char *name, OP_Operator *entry);
00044
00045 virtual void getIFDParms(IFD_ObjectParms &parms, float t,
00046 const char *rtype);
00047
00048
00049 virtual OBJ_OBJECT_TYPE getObjectType() const;
00050 virtual OBJ_Fog *castToOBJFog() { return this; }
00051
00052 virtual int collectPropertiesFromChannels(PI_EditScriptedParms &,
00053 UT_BitArray &selection,
00054 const CH_ChannelList &channels);
00055 virtual int collectPropertiesFromParms(PI_EditScriptedParms &,
00056 UT_StringArray &names,
00057 PRM_ParmNameMap &nmap);
00058
00059 void RISHADER(UT_String &str, fpreal t);
00060
00061 protected:
00062
00063
00064 virtual int *getIndirect() const
00065 { return fogIndirect; }
00066
00067 private:
00068
00069 static int *fogIndirect;
00070 };
00071
00072 #endif