HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DOP_SubNet.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: DOP_SubNet.h ( SOP Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __DOP_SubNet_h__
12 #define __DOP_SubNet_h__
13 
14 #include "DOP_API.h"
15 #include "DOP_Node.h"
16 
17 class DOP_API DOP_SubNet : public DOP_Node
18 {
19 public:
20  DOP_SubNet(OP_Network *net, const char *name, OP_Operator *entry);
21  ~DOP_SubNet() override;
22 
23  const char *inputLabel(unsigned idx) const override;
24 
25  static OP_Node *myConstructor(OP_Network *net, const char *name,
26  OP_Operator *entry);
27  static PRM_Template myTemplateList[];
28 
29  void getNodeSpecificInfoText(OP_Context &context,
30  OP_NodeInfoParms &iparms) override;
31 
32  /// Our number of visible outputs is always equal to the number of
33  /// visible output on the display node inside us.
34  unsigned getNumVisibleOutputs() const override;
35 
36  /// To evaluate local variables, we defer to the node that is
37  /// currently being processed by the engine.
39  int thread) override;
41  int thread) override;
42 
43  void collectChildErrors();
44 
45  static const char *theChildTableName;
46 
47 protected:
48  /// Cooking a DOP_SubNet calls cook on the child display node.
49  OP_ERROR cookMe(OP_Context &) override;
50 
52  int foroutputidx,
53  UT_Array<DOP_Output> &outputs,
54  const DOP_Engine &engine) override;
55  void applyOutputDataSubclass(fpreal time, int outputidx,
56  SIM_RootData &rootdata,
57  const char *parentdataname,
58  DOP_Engine &engine,
59  UT_StringArray *datanames) override;
60  void getInputInfoSubclass(int inputidx,
61  DOP_InOutInfo &info) const override;
62  void getOutputInfoSubclass(int outputidx,
63  DOP_InOutInfo &info) const override;
64 };
65 
66 #endif
GT_API const UT_StringHolder time
UT_ErrorSeverity
Definition: UT_Error.h:25
Parameters for OP_Node::getInfoText()/OP_Node::getNodeSpecificInfoText()
virtual unsigned getNumVisibleOutputs() const
OP_ERROR cookMe(OP_Context &) override
Cooking a DOP_Node just performs some basic error checks.
const char * inputLabel(unsigned idx) const override
REturn text describing a particular input.
#define DOP_API
Definition: DOP_API.h:10
virtual void getOutputInfoSubclass(int outputidx, DOP_InOutInfo &info) const
This default implementation specifies the output sends out objects.
GLuint const GLchar * name
Definition: glcorearb.h:786
bool evalVariableValue(fpreal &v, int index, int thread) override
Handle the evaluation of standard local variables.
**Note that the tasks the is the thread number *for the or if it s being executed by a non pool thread(this *can happen in cases where the whole pool is occupied and the calling *thread contributes to running the work load).**Thread pool.Have fun
fpreal64 fpreal
Definition: SYS_Types.h:277
static const char * theChildTableName
Definition: DOP_SubNet.h:45
GLuint index
Definition: glcorearb.h:786
virtual void applyOutputDataSubclass(fpreal time, int outputidx, SIM_RootData &rootdata, const char *parentdataname, DOP_Engine &engine, UT_StringArray *datanames)
virtual void getInputInfoSubclass(int inputidx, DOP_InOutInfo &info) const
This default implementation specifies the input accepts objects.
This is the base class for all DOP nodes.
Definition: DOP_Node.h:77
Definition: core.h:1131
virtual void getRequiredOutputsSubclass(fpreal time, int foroutputidx, UT_Array< DOP_Output > &outputs, const DOP_Engine &engine)
This default implementation indicates that all inputs are required.
void getNodeSpecificInfoText(OP_Context &context, OP_NodeInfoParms &iparms) override
Get the MMB info text for this node.