HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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  ~SOP_BlockEndCompile() override;
23 
24  static OP_Node *myConstructor(OP_Network *net,
25  const char *name,
26  OP_Operator *entry);
27  static PRM_Template *buildTemplates();
28 
29  // Should all inputs be treated as enclosed?
30  bool encloseInputs() const override { return true; }
31 
32  // Remove all of our cached data, including our compile graph.
33  bool unloadData() override;
34 
35 protected:
37 
38  const char *inputLabel(unsigned idx) const override;
39 
41  OP_NodeInfoParms &iparms) override;
42 
43  // Fill in tree with this node's details
45  const OP_NodeInfoTreeParms &parms) override;
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 PRIMARYPATH(UT_String &str, fpreal t) const override
54  { evalString(str, "primarypath", 0, t); }
55 
56  void forceCompile();
57  static int forceCompile(void *d, int i, fpreal t,
58  const PRM_Template *);
59 private:
60 
61  // These should all be bundled into a single structure to represent
62  // a compiled chunk of nodes.
63  SOP_Compiled *myCompiled;
64  SOP_Compiled::TaskStateArray myTaskStates;
65 };
66 
67 #endif
68 
69 
void PRIMARYPATH(UT_String &str, fpreal t) const override
int UNLOAD(fpreal t) const
GLuint const GLchar * name
Definition: glew.h:1814
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()
bool encloseInputs() const override
void evalString(UT_String &val, int pi, int vi, fpreal t) const
Parameters for OP_Node::fillInfoTree()/OP_Node::fillInfoTreeNodeSpecific()
fpreal64 fpreal
Definition: SYS_Types.h:277
#define SOP_API
Definition: SOP_API.h:10
exint evalInt(int pi, int vi, fpreal t) const
virtual OP_ERROR cookMySop(OP_Context &context)=0
void getNodeSpecificInfoText(OP_Context &context, OP_NodeInfoParms &iparms) override
GLdouble GLdouble t
Definition: glew.h:1398
void fillInfoTreeNodeSpecific(UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms) override
Fill in tree with this SOP's details.
bool unloadData() override