HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MOT_CloneMessage.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: MOT_CloneMessage.h
7  *
8  * COMMENTS:
9  *
10  */
11 
12 #ifndef __MOT_CLONEMESSAGE_H__
13 #define __MOT_CLONEMESSAGE_H__
14 
15 #include <OP/OP_DataTypes.h>
16 #include <CH/CH_ExprLanguage.h>
17 #include <UT/UT_Options.h>
18 #include <UT/UT_Rect.h>
19 #include <UT/UT_StringHolder.h>
20 #include <UT/UT_StringMap.h>
22 #include <UT/UT_Vector2.h>
23 #include <UT/UT_WorkArgs.h>
24 #include <optional>
25 
26 class MOT_Director;
27 class LOP_Node;
28 class PXL_Raster;
29 
31 #define MOT_CLONE_MESSAGE_INVALID_ID -1
32 #define MOT_MAX_MESSAGE_LENGTH_HEADER "SetMaxMessageLength"
33 #define MOT_MAX_MESSAGE_LENGTH_DEFAULT (1024 * 1024 * 16)
34 
36 {
37 public:
39  MOT_CloneMessage(const UT_StringRef &msg);
40  virtual ~MOT_CloneMessage();
41 
42  static exint getNewMaxMessageLength(const char *msg);
44 
45  const UT_Options &options() const
46  { return myOptions; }
48  { return myOptions; }
49  const UT_StringHolder &extraData() const
50  { return myExtraData; }
52  { return myExtraData; }
54  { return myUniqueId; }
55  void fillWorkBuffer(UT_WorkBuffer &buf) const;
56 
57  static const UT_StringHolder &schemaKey();
58  static const UT_StringHolder &uniqueIdKey();
59 
60 protected:
64 };
65 
66 template<class SchemaClass>
68 {
69 public:
71  : myMsg(rmsg)
72  { }
74  { }
75 
76  bool isValid() const
77  {
78  UT_StringHolder schema =
81  return schema == SchemaClass::schemaName();
82  }
83 
84 protected:
85  static void createMessage(MOT_CloneMessage &rmsg)
86  {
87  rmsg.options().setOptionS(
89  SchemaClass::schemaName());
90  rmsg.options().setOptionI(
92  rmsg.uniqueId());
93  }
94 
96 };
97 
99  public MOT_SchemaMessage<MOT_ScriptMessage>
100 {
101 public:
103  : MOT_SchemaMessage(rmsg)
104  { }
105 
106  static const UT_StringHolder &schemaName();
107  static void createMessage(MOT_CloneMessage &rmsg,
108  const UT_StringRef &script,
109  CH_ScriptLanguage lang);
110 
111  bool runScript() const;
112 };
113 
115  public MOT_SchemaMessage<MOT_RemoteExecMessage>
116 {
117 public:
119  : MOT_SchemaMessage(rmsg)
120  { }
121 
122  static const UT_StringHolder &schemaName();
123  static void createMessage(MOT_CloneMessage &rmsg,
124  const UT_StringHolder &functionname,
125  const UT_Options &parameters);
126 
127  void execute() const;
128 };
129 
131  public MOT_SchemaMessage<MOT_ConfigureMessage>
132 {
133 public:
135  : MOT_SchemaMessage(rmsg)
136  { }
137 
138  static const UT_StringHolder &schemaName();
139  static void createMessage(MOT_CloneMessage &rmsg,
140  const UT_StringRef &lopnodepath,
141  const UT_StringRef &cameraprimpath,
142  const UT_StringRef &renderer,
143  const UT_StringRef &rendersettings,
144  const UT_StringRef &renderpass,
145  const UT_StringRef &displayaov,
146  fpreal resscale,
147  int width,
148  int height,
149  const UT_Vector4F &renderregion);
150 
151  LOP_Node *getLopNode() const;
157  fpreal getResScale() const;
158  int getWidth() const;
159  int getHeight() const;
161 };
162 
164  public MOT_SchemaMessage<MOT_FrameMessage>
165 {
166 public:
168  : MOT_SchemaMessage(rmsg)
169  { }
170 
171  static const UT_StringHolder &schemaName();
172  static void createMessage(MOT_CloneMessage &rmsg,
173  fpreal frame);
174 
175  fpreal getFrame() const;
176 };
177 
179  public MOT_SchemaMessage<MOT_ProcessUpdatesMessage>
180 {
181 public:
183  : MOT_SchemaMessage(rmsg)
184  { }
185 
186  static const UT_StringHolder &schemaName();
187  static void createMessage(MOT_CloneMessage &rmsg,
188  bool process_updates);
189 
190  bool getProcessUpdates() const;
191 };
192 
194  public MOT_SchemaMessage<MOT_HipFileMessage>
195 {
196 public:
198  : MOT_SchemaMessage(rmsg)
199  { }
200 
201  static const UT_StringHolder &schemaName();
202  static void createMessage(MOT_CloneMessage &rmsg);
203 
204  bool setEnvVars() const;
205  bool loadHipFile() const;
206 };
207 
209  public MOT_SchemaMessage<MOT_SaveItemsMessage>
210 {
211 public:
213  : MOT_SchemaMessage(rmsg)
214  { }
215 
216  static const UT_StringHolder &schemaName();
217  static void createMessage(MOT_CloneMessage &rmsg,
218  const OP_NetworkBoxItemList &items);
219  static void createMessage(MOT_CloneMessage &rmsg,
220  OP_NetworkBoxItem *item);
221 
222  bool load() const;
223 };
224 
226  public MOT_SchemaMessage<MOT_LogEntriesMessage>
227 {
228 public:
230  : MOT_SchemaMessage(rmsg)
231  { }
232 
233  static const UT_StringHolder &schemaName();
234  static void createMessage(MOT_CloneMessage &rmsg,
236  log_entries);
237 
239  log_entries) const;
240 };
241 
243  public MOT_SchemaMessage<MOT_SocketErrorMessage>
244 {
245 public:
247  : MOT_SchemaMessage(rmsg)
248  { }
249 
250  static const UT_StringHolder &schemaName();
251  static void createMessage(MOT_CloneMessage &rmsg,
252  const UT_StringRef &err);
253 
255 };
256 
258  public MOT_SchemaMessage<MOT_ImageMessage>
259 {
260 public:
262  : MOT_SchemaMessage(rmsg)
263  { }
264 
265  static const UT_StringHolder &schemaName();
266  static void createMessage(MOT_CloneMessage &rmsg,
267  const UT_StringMap<UT_UniquePtr<PXL_Raster>> &rasters,
268  const UT_StringArray &availableaovs,
269  const UT_Options &stats,
270  const UT_Vector2i &fullres,
271  const UT_DimRect &datawindow);
272 
275  UT_Options stats() const;
276  std::optional<UT_Vector2i> fullRes() const;
277  std::optional<UT_DimRect> dataWindow() const;
278  int skippedRasters() const;
279 };
280 
282  public MOT_SchemaMessage<MOT_AckMessage>
283 {
284 public:
286  : MOT_SchemaMessage(rmsg)
287  { }
288 
289  static const UT_StringHolder &schemaName();
290  static void createMessage(MOT_CloneMessage &rmsg,
291  MOT_CloneMessageId ackedid);
292 
294 };
295 
296 #endif // __MOT_CLONEMESSAGE_H__
297 
MOT_CloneMessageId uniqueId() const
UT_StringHolder getRenderPass() const
MOT_FrameMessage(const MOT_CloneMessage &rmsg)
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glcorearb.h:2540
static const UT_StringHolder & schemaName()
const UT_Options & options() const
bool loadLogEntries(UT_UniversalLogEntryArray &log_entries) const
UT_StringHolder myExtraData
static void createMessage(MOT_CloneMessage &rmsg, bool process_updates)
static void createMessage(MOT_CloneMessage &rmsg, const UT_StringHolder &functionname, const UT_Options &parameters)
static const UT_StringHolder & schemaName()
static void createMessage(MOT_CloneMessage &rmsg, const UT_UniversalLogEntryArray &log_entries)
MOT_ScriptMessage(const MOT_CloneMessage &rmsg)
MOT_RemoteExecMessage(const MOT_CloneMessage &rmsg)
int skippedRasters() const
const MOT_CloneMessage & myMsg
MOT_ConfigureMessage(const MOT_CloneMessage &rmsg)
MOT_SaveItemsMessage(const MOT_CloneMessage &rmsg)
int64 exint
Definition: SYS_Types.h:125
static void createMessage(MOT_CloneMessage &rmsg)
static const UT_StringHolder & schemaName()
UT_Options & options()
MOT_ProcessUpdatesMessage(const MOT_CloneMessage &rmsg)
int getWidth() const
MOT_LogEntriesMessage(const MOT_CloneMessage &rmsg)
static const UT_StringHolder & schemaName()
static exint getNewMaxMessageLength(const char *msg)
static const UT_StringHolder & uniqueIdKey()
UT_StringHolder getRenderer() const
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
Definition: UT_UniquePtr.h:39
bool load() const
static void createMessage(MOT_CloneMessage &rmsg, MOT_CloneMessageId ackedid)
fpreal getFrame() const
UT_StringHolder getDisplayAov() const
bool loadHipFile() const
GLint GLsizei GLsizei height
Definition: glcorearb.h:103
MOT_SocketErrorMessage(const MOT_CloneMessage &rmsg)
int64 MOT_CloneMessageId
UT_Options & setOptionI(const UT_StringHolder &name, int64 value)
std::optional< UT_DimRect > dataWindow() const
UT_StringHolder & extraData()
UT_StringArray availableAovs() const
MOT_CloneMessageId ackedUniqueId() const
MOT_CloneMessageId myUniqueId
MOT_SchemaMessage(const MOT_CloneMessage &rmsg)
LOP_Node * getLopNode() const
static const UT_StringHolder & schemaKey()
bool getProcessUpdates() const
MOT_ImageMessage(const MOT_CloneMessage &rmsg)
MOT_AckMessage(const MOT_CloneMessage &rmsg)
long long int64
Definition: SYS_Types.h:116
UT_Vector4F getRenderRegion() const
static const UT_StringHolder & schemaName()
static void createMessage(MOT_CloneMessage &rmsg, const OP_NetworkBoxItemList &items)
UT_StringHolder errorMessage() const
static UT_StringHolder createNewMaxLengthMessage(exint newlen)
static void createMessage(MOT_CloneMessage &rmsg, const UT_StringRef &script, CH_ScriptLanguage lang)
A map of string to various well defined value types.
Definition: UT_Options.h:87
static const UT_StringHolder & schemaName()
bool setEnvVars() const
fpreal64 fpreal
Definition: SYS_Types.h:278
static const UT_StringHolder & schemaName()
UT_Options & setOptionS(const UT_StringHolder &name, const UT_StringHolder &value)
virtual ~MOT_CloneMessage()
static const UT_StringHolder & schemaName()
const UT_StringHolder & extraData() const
GLint GLsizei width
Definition: glcorearb.h:103
UT_Options stats() const
static void createMessage(MOT_CloneMessage &rmsg)
std::optional< UT_Vector2i > fullRes() const
void execute() const
int getHeight() const
UT_StringHolder getCameraPrimPath() const
static const UT_StringHolder & schemaName()
static void createMessage(MOT_CloneMessage &rmsg, const UT_StringMap< UT_UniquePtr< PXL_Raster >> &rasters, const UT_StringArray &availableaovs, const UT_Options &stats, const UT_Vector2i &fullres, const UT_DimRect &datawindow)
fpreal getResScale() const
UT_StringMap< UT_UniquePtr< PXL_Raster > > createImages() const
static const UT_StringHolder & schemaName()
UT_StringHolder getRenderSettings() const
UT_Options myOptions
bool isValid() const
virtual ~MOT_SchemaMessage()
void fillWorkBuffer(UT_WorkBuffer &buf) const
MOT_HipFileMessage(const MOT_CloneMessage &rmsg)
static void createMessage(MOT_CloneMessage &rmsg, const UT_StringRef &lopnodepath, const UT_StringRef &cameraprimpath, const UT_StringRef &renderer, const UT_StringRef &rendersettings, const UT_StringRef &renderpass, const UT_StringRef &displayaov, fpreal resscale, int width, int height, const UT_Vector4F &renderregion)
bool runScript() const
static void createMessage(MOT_CloneMessage &rmsg, fpreal frame)
static void createMessage(MOT_CloneMessage &rmsg, const UT_StringRef &err)
CH_ScriptLanguage
static const UT_StringHolder & schemaName()
const UT_StringHolder & getOptionS(const UT_StringRef &name) const