HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ROP_Dop.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: ROP library (C++)
7  *
8  * COMMENTS: Base class for Dop output
9  *
10  */
11 
12 #ifndef __ROP_Dop_h__
13 #define __ROP_Dop_h__
14 
15 #include "ROP_API.h"
16 #include <DOP/DOP_Parent.h>
17 #include "ROP_Node.h"
18 
19 #define STR_PARM(name, vi, t) \
20  { evalString(str, name, vi, t); }
21 #define INT_PARM(name, vi, t) \
22  { return evalInt(name, vi, t); }
23 
24 class DOP_Node;
25 
26 enum {
40  // ROP_DOP_BACKGROUND,
53 
55 };
56 
57 class ROP_API ROP_Dop : public ROP_Node
58 {
59 public:
60  bool updateParmsFlags() override;
62  int thread) override;
63  bool evalVariableValue(fpreal &v, int index,
64  int thread) override;
65  void inputConnectChanged(int which) override;
66 
67  static CH_LocalVariable myVariableList[];
68  static PRM_Template *getTemplates();
69  static OP_Node *myConstructor(OP_Network *net,
70  const char *name,
71  OP_Operator *op);
72 
74  OP_NodeInfoParms &iparms) override;
76  const OP_NodeInfoTreeParms &parms) override;
77 
78  static void buildSaveMenu(
79  void *, PRM_Name *, int,
80  const PRM_SpareData *, const PRM_Parm *);
81  bool detectIfExistingOutputFiles() override;
82  void deleteExistingOutputFiles() override;
83 
84  DOP_Node *getSourceDOP(fpreal t) const;
85 protected:
86  ROP_Dop(OP_Network *net, const char *name, OP_Operator *entry);
87  ~ROP_Dop() override;
88 
89  int startRender(int nframes, fpreal s, fpreal e) override;
91  ROP_RENDER_CODE endRender() override;
92 
93  void getDescriptiveParmName(UT_String &name) const override
94  { name = "dopoutput"; }
95 
96 private:
97  void DOPPATH(UT_String &str, fpreal t) const
98  { STR_PARM("doppath", 0, t)}
99 
100  void OUTPUT(UT_String &str, fpreal t)
101  { getOutputOverrideEx(str, t, "dopoutput", "mkpath"); }
102 
103  int INITSIM() const
104  { INT_PARM("initsim", 0, 0) }
105 
106  void COMPRESSSIMS(UT_String &str, fpreal t) const
107  { STR_PARM("compresssims", 0, t) }
108 
109  bool SAVEBACKGROUND(fpreal t) const
110  {
111  return false;
112  //INT_PARM("savebackground", 0, t);
113  }
114  bool ALFPROGRESS() const
115  { INT_PARM("alfprogress", 0, 0) }
116 
117  bool USESIMFRAMES() const
118  { INT_PARM("usesimframes", 0, 0) }
119 
120  DOP_Node *myDop;
121  fpreal myEndTime;
122  fpreal myStartTime;
123  bool myModifiedPlayFlag;
124  bool myBackgroundRender;
125  int myLastSimFrame;
126 };
127 
128 
129 #undef INT_PARM
130 #undef STR_PARM
131 
132 #endif
GLdouble s
Definition: glew.h:1390
GLuint const GLchar * name
Definition: glew.h:1814
ROP_RENDER_CODE
Definition: ROP_Node.h:48
virtual ROP_RENDER_CODE endRender()
bool updateParmsFlags() override
GT_API const UT_StringHolder time
GLuint index
Definition: glew.h:1814
bool getOutputOverrideEx(UT_String &result, fpreal t, const char *output_parm_name, const char *mkdir_parm_name)
Parameters for OP_Node::getInfoText()/OP_Node::getNodeSpecificInfoText()
void inputConnectChanged(int which) override
bool evalVariableValue(UT_String &v, int index, int thread) override
Definition: ROP_Node.h:440
const GLdouble * v
Definition: glew.h:1391
#define ROP_API
Definition: ROP_API.h:10
#define INT_PARM(name, vi, t)
Definition: ROP_Dop.h:21
#define STR_PARM(name, vi, t)
Definition: ROP_Dop.h:19
void fillInfoTreeNodeSpecific(UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms) override
*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 ROP_RENDER_CODE renderFrame(fpreal time, UT_Interrupt *boss=0)
virtual void deleteExistingOutputFiles()
Parameters for OP_Node::fillInfoTree()/OP_Node::fillInfoTreeNodeSpecific()
fpreal64 fpreal
Definition: SYS_Types.h:277
This is the base class for all DOP nodes.
Definition: DOP_Node.h:77
void getDescriptiveParmName(UT_String &name) const override
Definition: ROP_Dop.h:93
void getNodeSpecificInfoText(OP_Context &context, OP_NodeInfoParms &iparms) override
virtual bool detectIfExistingOutputFiles()
GLdouble GLdouble t
Definition: glew.h:1398
virtual int startRender(int nframes, fpreal tstart, fpreal tend)