HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SOP_BlockEndCompile.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: SOP_BlockEndCompile.h ( SOP Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __SOP_BlockEndCompile_h__
12 #define __SOP_BlockEndCompile_h__
13 
14 #include "SOP_API.h"
15 #include "SOP_BlockEnd.h"
16 #include "SOP_Compiled.h"
17 
19 {
20 public:
21  SOP_BlockEndCompile(OP_Network *net, const char *name, OP_Operator *entry);
22  virtual ~SOP_BlockEndCompile();
23 
24  static OP_Node *myConstructor(OP_Network *net,
25  const char *name,
26  OP_Operator *entry);
27  static PRM_Template myTemplateList[];
28 
29  // Should all inputs be treated as enclosed?
30  virtual bool encloseInputs() const { return true; }
31 
32  // Remove all of our cached data, including our compile graph.
33  virtual bool unloadData();
34 
35 protected:
36  virtual OP_ERROR cookMySop(OP_Context &context);
37 
38  virtual const char *inputLabel(unsigned idx) const;
39 
40  virtual void getNodeSpecificInfoText(OP_Context &context,
41  OP_NodeInfoParms &iparms);
42 
43  // Fill in tree with this node's details
44  virtual void fillInfoTreeNodeSpecific(UT_InfoTree &tree,
45  const OP_NodeInfoTreeParms &parms);
46 
47 
48  bool COMPILE(fpreal t) const
49  { return evalInt("docompile", 0, t); }
50  int UNLOAD(fpreal t) const
51  { return evalInt("unload", 0, t); }
52 
53  void forceCompile();
54  static int forceCompile(void *d, int i, fpreal t,
55  const PRM_Template *);
56 private:
57 
58  // These should all be bundled into a single structure to represent
59  // a compiled chunk of nodes.
60  SOP_Compiled *myCompiled;
61  SOP_Compiled::TaskStateArray myTaskStates;
62 };
63 
64 #endif
65 
66 
virtual bool unloadData() override
int UNLOAD(fpreal t) const
bool COMPILE(fpreal t) const
virtual const char * inputLabel(unsigned idx) const
UT_ErrorSeverity
Definition: UT_Error.h:25
Parameters for OP_Node::getInfoText()/OP_Node::getNodeSpecificInfoText()
png_uint_32 i
Definition: png.h:2877
GLuint const GLchar * name
Definition: glcorearb.h:785
double fpreal
Definition: SYS_Types.h:263
Parameters for OP_Node::fillInfoTree()/OP_Node::fillInfoTreeNodeSpecific()
virtual void getNodeSpecificInfoText(OP_Context &context, OP_NodeInfoParms &iparms) override
virtual bool encloseInputs() const
#define SOP_API
Definition: SOP_API.h:10
exint evalInt(int pi, int vi, fpreal t) const
virtual void fillInfoTreeNodeSpecific(UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms) override
Fill in tree with this SOP's details.
virtual OP_ERROR cookMySop(OP_Context &context)=0