HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OBJ_Fog.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: OBJ library (C++)
7  *
8  * COMMENTS: Atmosphere object definition
9  */
10 
11 #ifndef __OBJ_Fog_h__
12 #define __OBJ_Fog_h__
13 
14 #include "OBJ_API.h"
15 #include "OBJ_Node.h"
16 
17 class obj_Scene;
18 
20 {
23  I_N_FOG_INDICES // should always be last in the list
24 };
25 
26 class OBJ_API OBJ_Fog : public OBJ_Node
27 {
28 public:
29  OBJ_Fog(OP_Network *, const char *, OP_Operator *);
30  ~OBJ_Fog() override;
31 
32  static PRM_Template *getObsolete();
33  static PRM_Template *getTemplateList();
34  static OP_Node *myConstructor(OP_Network *net,
35  const char *name, OP_Operator *entry);
36 
37  OBJ_OBJECT_TYPE getObjectType() const override;
38  OBJ_Fog *castToOBJFog() override { return this; }
39 
43  const CH_ChannelList &channels) override;
46  UT_StringArray &names,
47  PRM_ParmNameMap &nmap) override;
48 
49  void RISHADER(UT_String &str, fpreal t);
50 
51 protected:
52 
53  // Used to get pointer to indirection indices for each object type
54  int *getIndirect() const override
55  { return fogIndirect; }
56 
57 private:
58 
59  static int *fogIndirect;
60 };
61 
62 #endif
GT_API const UT_StringHolder selection
virtual int collectPropertiesFromParms(PI_EditScriptedParms &editparms, UT_StringArray &names, PRM_ParmNameMap &nmap)
virtual OBJ_OBJECT_TYPE getObjectType() const =0
int * getIndirect() const override
Definition: OBJ_Fog.h:54
OBJ_FogIndex
Definition: OBJ_Fog.h:19
virtual int collectPropertiesFromChannels(PI_EditScriptedParms &editparms, UT_BitArray &selection, const CH_ChannelList &channels)
OBJ_Fog * castToOBJFog() override
Definition: OBJ_Fog.h:38
GLuint const GLchar * name
Definition: glcorearb.h:786
GLdouble t
Definition: glad.h:2397
fpreal64 fpreal
Definition: SYS_Types.h:277
static PRM_Template * getObsolete()
#define OBJ_API
Definition: OBJ_API.h:10
OBJ_OBJECT_TYPE
Definition: OBJ_Node.h:73
ImageBuf OIIO_API channels(const ImageBuf &src, int nchannels, cspan< int > channelorder, cspan< float > channelvalues={}, cspan< std::string > newchannelnames={}, bool shuffle_channel_names=false, int nthreads=0)