HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GA_PrimitiveRun.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: GA_PrimitiveRun.h ( GA Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __GA_PrimitiveRun__
12 #define __GA_PrimitiveRun__
13 
14 #include "GA_API.h"
15 
16 #include <UT/UT_JSONValue.h>
17 #include <UT/UT_StringArray.h>
18 #include <SYS/SYS_Types.h>
19 
20 
21 class GA_Primitive;
22 class GA_SaveMap;
23 
24 class UT_JSONWriter;
25 
26 
28 {
29 public:
31  ~GA_PrimitiveRun();
32 
33  // Write a primitive
34  bool write(const GA_Primitive *prim);
35  bool flush();
36 
37 private:
38  bool match(const GA_Primitive *prim) const;
39  bool runPrimitive(const GA_Primitive *prim);
40  bool singlePrimitive(const GA_Primitive *prim);
41 
42  UT_JSONWriter &myW;
43  const GA_SaveMap &mySave;
44  const GA_Primitive **myQueue; // Queue of primitives in run
45  UT_JSONValue myUniform;
46  UT_StringArray myVarying;
47  int myQCapacity;
48  int myQEntries;
49  uint myRunFlags;
50  bool myDoRun;
51 };
52 
53 #endif
54 
Used to pass options and map offset values during saving.
Definition: GA_SaveMap.h:48
#define GA_API
Definition: GA_API.h:14
Class which writes ASCII or binary JSON streams.
Definition: UT_JSONWriter.h:37
Class to store JSON objects as C++ objects.
Definition: UT_JSONValue.h:99
GLubyte GLubyte GLubyte GLubyte w
Definition: glcorearb.h:857
void write(T &out, bool v)
Definition: ImfXdr.h:287
unsigned int uint
Definition: SYS_Types.h:45