2
Copyright (c) 2008-2009 NetAllied Systems GmbH
4
This file is part of MayaDataModel.
6
Licensed under the MIT Open Source License,
7
for details please see LICENSE file or the website
8
http://www.opensource.org/licenses/mit-license.php
10
#ifndef __MayaDM_CLIPLIBRARY_H__
11
#define __MayaDM_CLIPLIBRARY_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMDependNode.h"
17
class ClipLibrary : public DependNode
22
struct ClipEval_Inmap{
23
short clipEval_InmapTo;
24
short clipEval_InmapFrom;
25
void write(FILE* file) const
27
fprintf(file,"%i ", clipEval_InmapTo);
28
fprintf(file,"%i", clipEval_InmapFrom);
31
struct ClipEval_Outmap{
32
short clipEval_OutmapTo;
33
short clipEval_OutmapFrom;
34
void write(FILE* file) const
36
fprintf(file,"%i ", clipEval_OutmapTo);
37
fprintf(file,"%i", clipEval_OutmapFrom);
40
void write(FILE* file) const
42
size_t size = sizeof(clipEval_Inmap)/sizeof(ClipEval_Inmap);
43
for(size_t i=0; i<size; ++i)
45
clipEval_Inmap[i].write(file);
47
if(i+1<size) fprintf(file," ");
49
size = sizeof(clipEval_Outmap)/sizeof(ClipEval_Outmap);
50
for(size_t i=0; i<size; ++i)
52
clipEval_Outmap[i].write(file);
53
if(i+1<size) fprintf(file," ");
57
void write(FILE* file) const
59
size_t size = sizeof(clipEval)/sizeof(ClipEval);
60
for(size_t i=0; i<size; ++i)
62
clipEval[i].write(file);
63
if(i+1<size) fprintf(file," ");
68
intArray clipIndexMapping;
69
void write(FILE* file) const
71
clipIndexMapping.write(file);
76
ClipLibrary():DependNode(){}
77
ClipLibrary(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
78
:DependNode(file, name, parent, "clipLibrary", shared, create){}
79
virtual ~ClipLibrary(){}
81
void setClipEvalList(size_t cel_i,const ClipEvalList& cel)
83
fprintf(mFile,"\tsetAttr \".cel[%i]\" ",cel_i);
87
void setClipEvalList(size_t cel_start,size_t cel_end,ClipEvalList* cel)
89
fprintf(mFile,"\tsetAttr \".cel[%i:%i]\" ", cel_start,cel_end);
90
size_t size = (cel_end-cel_start)*1+1;
91
for(size_t i=0;i<size;++i)
98
void startClipEvalList(size_t cel_start,size_t cel_end)const
100
fprintf(mFile,"\tsetAttr \".cel[%i:%i]\"",cel_start,cel_end);
101
fprintf(mFile," -type \"ClipEvalList\" ");
103
void appendClipEvalList(const ClipEvalList& cel)const
108
void endClipEvalList()const
110
fprintf(mFile,";\n");
112
void setClipEval(size_t cel_i,size_t cev_i,const ClipEvalList::ClipEval& cev)
114
fprintf(mFile,"\tsetAttr \".cel[%i].cev[%i]\" ",cel_i,cev_i);
116
fprintf(mFile,";\n");
118
void setClipEval(size_t cel_i,size_t cev_start,size_t cev_end,ClipEvalList::ClipEval* cev)
120
fprintf(mFile,"\tsetAttr \".cel[%i].cev[%i:%i]\" ", cel_i,cev_start,cev_end);
121
size_t size = (cev_end-cev_start)*1+1;
122
for(size_t i=0;i<size;++i)
127
fprintf(mFile,";\n");
129
void startClipEval(size_t cel_i,size_t cev_start,size_t cev_end)const
131
fprintf(mFile,"\tsetAttr \".cel[%i].cev[%i:%i]\"",cel_i,cev_start,cev_end);
132
fprintf(mFile," -type \"ClipEvalList::ClipEval\" ");
134
void appendClipEval(const ClipEvalList::ClipEval& cev)const
139
void endClipEval()const
141
fprintf(mFile,";\n");
143
void setClipEval_Inmap(size_t cel_i,size_t cev_i,size_t cevi_i,const ClipEvalList::ClipEval::ClipEval_Inmap& cevi)
145
fprintf(mFile,"\tsetAttr \".cel[%i].cev[%i].cevi[%i]\" ",cel_i,cev_i,cevi_i);
147
fprintf(mFile,";\n");
149
void setClipEval_Inmap(size_t cel_i,size_t cev_i,size_t cevi_start,size_t cevi_end,ClipEvalList::ClipEval::ClipEval_Inmap* cevi)
151
fprintf(mFile,"\tsetAttr \".cel[%i].cev[%i].cevi[%i:%i]\" ", cel_i,cev_i,cevi_start,cevi_end);
152
size_t size = (cevi_end-cevi_start)*1+1;
153
for(size_t i=0;i<size;++i)
155
cevi[i].write(mFile);
158
fprintf(mFile,";\n");
160
void startClipEval_Inmap(size_t cel_i,size_t cev_i,size_t cevi_start,size_t cevi_end)const
162
fprintf(mFile,"\tsetAttr \".cel[%i].cev[%i].cevi[%i:%i]\"",cel_i,cev_i,cevi_start,cevi_end);
163
fprintf(mFile," -type \"ClipEvalList::ClipEval::ClipEval_Inmap\" ");
165
void appendClipEval_Inmap(const ClipEvalList::ClipEval::ClipEval_Inmap& cevi)const
170
void endClipEval_Inmap()const
172
fprintf(mFile,";\n");
174
void setClipEval_InmapTo(size_t cel_i,size_t cev_i,size_t cevi_i,short cevit)
176
if(cevit == 0) return;
177
fprintf(mFile,"\tsetAttr \".cel[%i].cev[%i].cevi[%i].cevit\" %i;\n", cel_i,cev_i,cevi_i,cevit);
179
void setClipEval_InmapFrom(size_t cel_i,size_t cev_i,size_t cevi_i,short cevif)
181
if(cevif == 0) return;
182
fprintf(mFile,"\tsetAttr \".cel[%i].cev[%i].cevi[%i].cevif\" %i;\n", cel_i,cev_i,cevi_i,cevif);
184
void setClipEval_Outmap(size_t cel_i,size_t cev_i,size_t cevo_i,const ClipEvalList::ClipEval::ClipEval_Outmap& cevo)
186
fprintf(mFile,"\tsetAttr \".cel[%i].cev[%i].cevo[%i]\" ",cel_i,cev_i,cevo_i);
188
fprintf(mFile,";\n");
190
void setClipEval_Outmap(size_t cel_i,size_t cev_i,size_t cevo_start,size_t cevo_end,ClipEvalList::ClipEval::ClipEval_Outmap* cevo)
192
fprintf(mFile,"\tsetAttr \".cel[%i].cev[%i].cevo[%i:%i]\" ", cel_i,cev_i,cevo_start,cevo_end);
193
size_t size = (cevo_end-cevo_start)*1+1;
194
for(size_t i=0;i<size;++i)
196
cevo[i].write(mFile);
199
fprintf(mFile,";\n");
201
void startClipEval_Outmap(size_t cel_i,size_t cev_i,size_t cevo_start,size_t cevo_end)const
203
fprintf(mFile,"\tsetAttr \".cel[%i].cev[%i].cevo[%i:%i]\"",cel_i,cev_i,cevo_start,cevo_end);
204
fprintf(mFile," -type \"ClipEvalList::ClipEval::ClipEval_Outmap\" ");
206
void appendClipEval_Outmap(const ClipEvalList::ClipEval::ClipEval_Outmap& cevo)const
211
void endClipEval_Outmap()const
213
fprintf(mFile,";\n");
215
void setClipEval_OutmapTo(size_t cel_i,size_t cev_i,size_t cevo_i,short cevot)
217
if(cevot == 0) return;
218
fprintf(mFile,"\tsetAttr \".cel[%i].cev[%i].cevo[%i].cevot\" %i;\n", cel_i,cev_i,cevo_i,cevot);
220
void setClipEval_OutmapFrom(size_t cel_i,size_t cev_i,size_t cevo_i,short cevof)
222
if(cevof == 0) return;
223
fprintf(mFile,"\tsetAttr \".cel[%i].cev[%i].cevo[%i].cevof\" %i;\n", cel_i,cev_i,cevo_i,cevof);
225
void setCharacterdata(size_t cd_i,const Characterdata& cd)
227
fprintf(mFile,"\tsetAttr \".cd[%i]\" ",cd_i);
229
fprintf(mFile,";\n");
231
void setCharacterdata(size_t cd_start,size_t cd_end,Characterdata* cd)
233
fprintf(mFile,"\tsetAttr \".cd[%i:%i]\" ", cd_start,cd_end);
234
size_t size = (cd_end-cd_start)*1+1;
235
for(size_t i=0;i<size;++i)
240
fprintf(mFile,";\n");
242
void startCharacterdata(size_t cd_start,size_t cd_end)const
244
fprintf(mFile,"\tsetAttr \".cd[%i:%i]\"",cd_start,cd_end);
245
fprintf(mFile," -type \"Characterdata\" ");
247
void appendCharacterdata(const Characterdata& cd)const
252
void endCharacterdata()const
254
fprintf(mFile,";\n");
256
void setClipIndexMapping(size_t cd_i,const intArray& cim)
258
if(cim.size == 0) return;
259
fprintf(mFile,"\tsetAttr \".cd[%i].cim\" -type \"intArray\" ",cd_i);
261
fprintf(mFile,";\n");
263
void setActiveClip(int act)
265
if(act == -1) return;
266
fprintf(mFile,"\tsetAttr \".act\" %i;\n", act);
268
void getClipEvalList(size_t cel_i)const
270
fprintf(mFile,"\"%s.cel[%i]\"",mName.c_str(),cel_i);
272
void getClipEvalList()const
275
fprintf(mFile,"\"%s.cel\"",mName.c_str());
277
void getClipEval(size_t cel_i,size_t cev_i)const
279
fprintf(mFile,"\"%s.cel[%i].cev[%i]\"",mName.c_str(),cel_i,cev_i);
281
void getClipEval(size_t cev_i)const
284
fprintf(mFile,"\"%s.cel.cev[%i]\"",mName.c_str(),cev_i);
286
void getClipEval_Raw(size_t cel_i,size_t cev_i)const
288
fprintf(mFile,"\"%s.cel[%i].cev[%i].cevr\"",mName.c_str(),cel_i,cev_i);
290
void getClipEval_Raw(size_t cev_i)const
293
fprintf(mFile,"\"%s.cel.cev[%i].cevr\"",mName.c_str(),cev_i);
295
void getClipEval_Inmap(size_t cel_i,size_t cev_i,size_t cevi_i)const
297
fprintf(mFile,"\"%s.cel[%i].cev[%i].cevi[%i]\"",mName.c_str(),cel_i,cev_i,cevi_i);
299
void getClipEval_Inmap(size_t cev_i,size_t cevi_i)const
302
fprintf(mFile,"\"%s.cel.cev[%i].cevi[%i]\"",mName.c_str(),cev_i,cevi_i);
304
void getClipEval_InmapTo(size_t cel_i,size_t cev_i,size_t cevi_i)const
306
fprintf(mFile,"\"%s.cel[%i].cev[%i].cevi[%i].cevit\"",mName.c_str(),cel_i,cev_i,cevi_i);
308
void getClipEval_InmapTo(size_t cev_i,size_t cevi_i)const
311
fprintf(mFile,"\"%s.cel.cev[%i].cevi[%i].cevit\"",mName.c_str(),cev_i,cevi_i);
313
void getClipEval_InmapFrom(size_t cel_i,size_t cev_i,size_t cevi_i)const
315
fprintf(mFile,"\"%s.cel[%i].cev[%i].cevi[%i].cevif\"",mName.c_str(),cel_i,cev_i,cevi_i);
317
void getClipEval_InmapFrom(size_t cev_i,size_t cevi_i)const
320
fprintf(mFile,"\"%s.cel.cev[%i].cevi[%i].cevif\"",mName.c_str(),cev_i,cevi_i);
322
void getClipEval_Outmap(size_t cel_i,size_t cev_i,size_t cevo_i)const
324
fprintf(mFile,"\"%s.cel[%i].cev[%i].cevo[%i]\"",mName.c_str(),cel_i,cev_i,cevo_i);
326
void getClipEval_Outmap(size_t cev_i,size_t cevo_i)const
329
fprintf(mFile,"\"%s.cel.cev[%i].cevo[%i]\"",mName.c_str(),cev_i,cevo_i);
331
void getClipEval_OutmapTo(size_t cel_i,size_t cev_i,size_t cevo_i)const
333
fprintf(mFile,"\"%s.cel[%i].cev[%i].cevo[%i].cevot\"",mName.c_str(),cel_i,cev_i,cevo_i);
335
void getClipEval_OutmapTo(size_t cev_i,size_t cevo_i)const
338
fprintf(mFile,"\"%s.cel.cev[%i].cevo[%i].cevot\"",mName.c_str(),cev_i,cevo_i);
340
void getClipEval_OutmapFrom(size_t cel_i,size_t cev_i,size_t cevo_i)const
342
fprintf(mFile,"\"%s.cel[%i].cev[%i].cevo[%i].cevof\"",mName.c_str(),cel_i,cev_i,cevo_i);
344
void getClipEval_OutmapFrom(size_t cev_i,size_t cevo_i)const
347
fprintf(mFile,"\"%s.cel.cev[%i].cevo[%i].cevof\"",mName.c_str(),cev_i,cevo_i);
349
void getClipFunction()const
351
fprintf(mFile,"\"%s.cf\"",mName.c_str());
353
void getCharacterdata(size_t cd_i)const
355
fprintf(mFile,"\"%s.cd[%i]\"",mName.c_str(),cd_i);
357
void getCharacterdata()const
360
fprintf(mFile,"\"%s.cd\"",mName.c_str());
362
void getCharacterMapping(size_t cd_i)const
364
fprintf(mFile,"\"%s.cd[%i].cm\"",mName.c_str(),cd_i);
366
void getCharacterMapping()const
369
fprintf(mFile,"\"%s.cd.cm\"",mName.c_str());
371
void getClipIndexMapping(size_t cd_i)const
373
fprintf(mFile,"\"%s.cd[%i].cim\"",mName.c_str(),cd_i);
375
void getClipIndexMapping()const
378
fprintf(mFile,"\"%s.cd.cim\"",mName.c_str());
380
void getClipName(size_t cn_i)const
382
fprintf(mFile,"\"%s.cn[%i]\"",mName.c_str(),cn_i);
384
void getClipName()const
387
fprintf(mFile,"\"%s.cn\"",mName.c_str());
389
void getStart(size_t st_i)const
391
fprintf(mFile,"\"%s.st[%i]\"",mName.c_str(),st_i);
396
fprintf(mFile,"\"%s.st\"",mName.c_str());
398
void getDuration(size_t du_i)const
400
fprintf(mFile,"\"%s.du[%i]\"",mName.c_str(),du_i);
402
void getDuration()const
405
fprintf(mFile,"\"%s.du\"",mName.c_str());
407
void getSourceClip(size_t sc_i)const
409
fprintf(mFile,"\"%s.sc[%i]\"",mName.c_str(),sc_i);
411
void getSourceClip()const
414
fprintf(mFile,"\"%s.sc\"",mName.c_str());
416
void getClip(size_t cl_i)const
418
fprintf(mFile,"\"%s.cl[%i]\"",mName.c_str(),cl_i);
423
fprintf(mFile,"\"%s.cl\"",mName.c_str());
426
ClipLibrary(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
427
:DependNode(file, name, parent, nodeType, shared, create) {}
431
#endif//__MayaDM_CLIPLIBRARY_H__