All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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  *
9  */
11 #ifndef __DOP_SubNet_h__
12 #define __DOP_SubNet_h__
14 #include "DOP_API.h"
15 #include "DOP_Node.h"
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  virtual ~DOP_SubNet();
23  virtual const char *inputLabel(unsigned idx) const;
25  static OP_Node *myConstructor(OP_Network *net, const char *name,
26  OP_Operator *entry);
27  static PRM_Template myTemplateList[];
30  OP_NodeInfoParms &iparms);
32  /// Our number of visible outputs is always equal to the number of
33  /// visible output on the display node inside us.
34  virtual unsigned getNumVisibleOutputs() const;
36  /// To evaluate local variables, we defer to the node that is
37  /// currently being processed by the engine.
38  virtual bool evalVariableValue(
39  fpreal &value, int index, int thread);
40  virtual bool evalVariableValue(
41  UT_String &value, int index, int thread);
43  void collectChildErrors();
45  static const char *theChildTableName;
47 protected:
48  /// Cooking a DOP_SubNet calls cook on the child display node.
49  virtual OP_ERROR cookMe(OP_Context &);
52  int foroutputidx,
53  UT_Array<DOP_Output> &outputs,
54  const DOP_Engine &engine);
55  virtual void applyOutputDataSubclass(fpreal time, int outputidx,
56  SIM_RootData &rootdata,
57  const char *parentdataname,
58  DOP_Engine &engine,
59  UT_StringArray *datanames);
60  virtual void getInputInfoSubclass(int inputidx,
61  DOP_InOutInfo &info) const;
62  virtual void getOutputInfoSubclass(int outputidx,
63  DOP_InOutInfo &info) const;
64 };
66 #endif
virtual bool evalVariableValue(fpreal &v, int index, int thread)
Handle the evaluation of standard local variables.
GLuint const GLchar * name
Definition: glew.h:1814
GT_API const UT_StringHolder time
GLuint index
Definition: glew.h:1814
Definition: UT_Error.h:25
Parameters for OP_Node::getInfoText()/OP_Node::getNodeSpecificInfoText()
virtual unsigned getNumVisibleOutputs() const
virtual const char * inputLabel(unsigned idx) const
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.
*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
virtual void getNodeSpecificInfoText(OP_Context &context, OP_NodeInfoParms &iparms)
Get the MMB info text for this node.
double fpreal
Definition: SYS_Types.h:276
static const char * theChildTableName
Definition: DOP_SubNet.h:45
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
virtual OP_ERROR cookMe(OP_Context &)
Cooking a DOP_Node just performs some basic error checks.
GLsizei const GLfloat * value
Definition: glew.h:1849
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.