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_FILE_H__
11
#define __MayaDM_FILE_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMTexture2d.h"
17
class File : public Texture2d
23
File(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
24
:Texture2d(file, name, parent, "file", shared, create){}
27
void setFileTextureName(const string& ftn)
29
if(ftn == "NULL") return;
30
fprintf(mFile,"\tsetAttr \".ftn\" -type \"string\" ");
34
void setDisableFileLoad(bool dfl)
36
if(dfl == false) return;
37
fprintf(mFile,"\tsetAttr \".dfl\" %i;\n", dfl);
39
void setUseFrameExtension(bool ufe)
41
if(ufe == false) return;
42
fprintf(mFile,"\tsetAttr \".ufe\" %i;\n", ufe);
44
void setFrameExtension(int fe)
47
fprintf(mFile,"\tsetAttr \".fe\" %i;\n", fe);
49
void setFrameOffset(int io)
52
fprintf(mFile,"\tsetAttr \".io\" %i;\n", io);
54
void setUseHardwareTextureCycling(bool uhc)
56
if(uhc == false) return;
57
fprintf(mFile,"\tsetAttr \".uhc\" %i;\n", uhc);
59
void setStartCycleExtension(int sce)
62
fprintf(mFile,"\tsetAttr \".sce\" %i;\n", sce);
64
void setEndCycleExtension(int ece)
67
fprintf(mFile,"\tsetAttr \".ece\" %i;\n", ece);
69
void setByCycleIncrement(int bci)
72
fprintf(mFile,"\tsetAttr \".bci\" %i;\n", bci);
74
void setFilterType(unsigned int ft)
77
fprintf(mFile,"\tsetAttr \".ft\" %i;\n", ft);
79
void setFilterWidth(float fw)
81
if(fw == 0.707) return;
82
fprintf(mFile,"\tsetAttr \".fw\" %f;\n", fw);
84
void setUseCache(bool uca)
86
if(uca == false) return;
87
fprintf(mFile,"\tsetAttr \".uca\" %i;\n", uca);
89
void setUseMaximumRes(bool umr)
91
if(umr == false) return;
92
fprintf(mFile,"\tsetAttr \".umr\" %i;\n", umr);
94
void setCoverage(const float2& c)
96
if(c == float2(1.0f,1.0f)) return;
97
fprintf(mFile,"\tsetAttr \".c\" -type \"float2\" ");
101
void setCoverageU(float cu)
103
if(cu == 0.0) return;
104
fprintf(mFile,"\tsetAttr \".c.cu\" %f;\n", cu);
106
void setCoverageV(float cv)
108
if(cv == 0.0) return;
109
fprintf(mFile,"\tsetAttr \".c.cv\" %f;\n", cv);
111
void setTranslateFrame(const float2& tf)
113
if(tf == float2(0.0f,0.0f)) return;
114
fprintf(mFile,"\tsetAttr \".tf\" -type \"float2\" ");
116
fprintf(mFile,";\n");
118
void setTranslateFrameU(float tfu)
120
if(tfu == 0.0) return;
121
fprintf(mFile,"\tsetAttr \".tf.tfu\" %f;\n", tfu);
123
void setTranslateFrameV(float tfv)
125
if(tfv == 0.0) return;
126
fprintf(mFile,"\tsetAttr \".tf.tfv\" %f;\n", tfv);
128
void setRotateFrame(double rf)
131
fprintf(mFile,"\tsetAttr \".rf\" %f;\n", rf);
133
void setDoTransform(bool dtf)
135
if(dtf == true) return;
136
fprintf(mFile,"\tsetAttr \".dtf\" %i;\n", dtf);
138
void setMirrorU(bool mu)
140
if(mu == false) return;
141
fprintf(mFile,"\tsetAttr \".mu\" %i;\n", mu);
143
void setMirrorV(bool mv)
145
if(mv == false) return;
146
fprintf(mFile,"\tsetAttr \".mv\" %i;\n", mv);
148
void setStagger(bool s)
150
if(s == false) return;
151
fprintf(mFile,"\tsetAttr \".s\" %i;\n", s);
153
void setWrapU(bool wu)
155
if(wu == true) return;
156
fprintf(mFile,"\tsetAttr \".wu\" %i;\n", wu);
158
void setWrapV(bool wv)
160
if(wv == true) return;
161
fprintf(mFile,"\tsetAttr \".wv\" %i;\n", wv);
163
void setRepeatUV(const float2& re)
165
if(re == float2(1.0f,1.0f)) return;
166
fprintf(mFile,"\tsetAttr \".re\" -type \"float2\" ");
168
fprintf(mFile,";\n");
170
void setRepeatU(float reu)
172
if(reu == 0.0) return;
173
fprintf(mFile,"\tsetAttr \".re.reu\" %f;\n", reu);
175
void setRepeatV(float rev)
177
if(rev == 0.0) return;
178
fprintf(mFile,"\tsetAttr \".re.rev\" %f;\n", rev);
180
void setOffset(const float2& of)
182
if(of == float2(0.0f,0.0f)) return;
183
fprintf(mFile,"\tsetAttr \".of\" -type \"float2\" ");
185
fprintf(mFile,";\n");
187
void setOffsetU(float ofu)
189
if(ofu == 0.0) return;
190
fprintf(mFile,"\tsetAttr \".of.ofu\" %f;\n", ofu);
192
void setOffsetV(float ofv)
194
if(ofv == 0.0) return;
195
fprintf(mFile,"\tsetAttr \".of.ofv\" %f;\n", ofv);
197
void setRotateUV(double ro)
200
fprintf(mFile,"\tsetAttr \".ro\" %f;\n", ro);
202
void setNoiseUV(const float2& n)
204
if(n == float2(0.0f,0.0f)) return;
205
fprintf(mFile,"\tsetAttr \".n\" -type \"float2\" ");
207
fprintf(mFile,";\n");
209
void setNoiseU(float nu)
211
if(nu == 0.0) return;
212
fprintf(mFile,"\tsetAttr \".n.nu\" %f;\n", nu);
214
void setNoiseV(float nv)
216
if(nv == 0.0) return;
217
fprintf(mFile,"\tsetAttr \".n.nv\" %f;\n", nv);
219
void setBlurPixelation(bool blp)
221
if(blp == true) return;
222
fprintf(mFile,"\tsetAttr \".blp\" %i;\n", blp);
224
void setVertexCameraOne(const float3& vc1)
226
fprintf(mFile,"\tsetAttr \".vc1\" -type \"float3\" ");
228
fprintf(mFile,";\n");
230
void setVertexCameraOneX(float c1x)
232
if(c1x == 0.0) return;
233
fprintf(mFile,"\tsetAttr \".vc1.c1x\" %f;\n", c1x);
235
void setVertexCameraOneY(float c1y)
237
if(c1y == 0.0) return;
238
fprintf(mFile,"\tsetAttr \".vc1.c1y\" %f;\n", c1y);
240
void setVertexCameraOneZ(float c1z)
242
if(c1z == 0.0) return;
243
fprintf(mFile,"\tsetAttr \".vc1.c1z\" %f;\n", c1z);
245
void setVertexCameraTwo(const float3& vc2)
247
fprintf(mFile,"\tsetAttr \".vc2\" -type \"float3\" ");
249
fprintf(mFile,";\n");
251
void setVertexCameraTwoX(float c2x)
253
if(c2x == 0.0) return;
254
fprintf(mFile,"\tsetAttr \".vc2.c2x\" %f;\n", c2x);
256
void setVertexCameraTwoY(float c2y)
258
if(c2y == 0.0) return;
259
fprintf(mFile,"\tsetAttr \".vc2.c2y\" %f;\n", c2y);
261
void setVertexCameraTwoZ(float c2z)
263
if(c2z == 0.0) return;
264
fprintf(mFile,"\tsetAttr \".vc2.c2z\" %f;\n", c2z);
266
void setVertexCameraThree(const float3& vc3)
268
fprintf(mFile,"\tsetAttr \".vc3\" -type \"float3\" ");
270
fprintf(mFile,";\n");
272
void setVertexCameraThreeX(float c3x)
274
if(c3x == 0.0) return;
275
fprintf(mFile,"\tsetAttr \".vc3.c3x\" %f;\n", c3x);
277
void setVertexCameraThreeY(float c3y)
279
if(c3y == 0.0) return;
280
fprintf(mFile,"\tsetAttr \".vc3.c3y\" %f;\n", c3y);
282
void setVertexCameraThreeZ(float c3z)
284
if(c3z == 0.0) return;
285
fprintf(mFile,"\tsetAttr \".vc3.c3z\" %f;\n", c3z);
287
void setVertexUvOne(const float2& vt1)
289
fprintf(mFile,"\tsetAttr \".vt1\" -type \"float2\" ");
291
fprintf(mFile,";\n");
293
void setVertexUvOneU(float t1u)
295
if(t1u == 0.0) return;
296
fprintf(mFile,"\tsetAttr \".vt1.t1u\" %f;\n", t1u);
298
void setVertexUvOneV(float t1v)
300
if(t1v == 0.0) return;
301
fprintf(mFile,"\tsetAttr \".vt1.t1v\" %f;\n", t1v);
303
void setVertexUvTwo(const float2& vt2)
305
fprintf(mFile,"\tsetAttr \".vt2\" -type \"float2\" ");
307
fprintf(mFile,";\n");
309
void setVertexUvTwoU(float t2u)
311
if(t2u == 0.0) return;
312
fprintf(mFile,"\tsetAttr \".vt2.t2u\" %f;\n", t2u);
314
void setVertexUvTwoV(float t2v)
316
if(t2v == 0.0) return;
317
fprintf(mFile,"\tsetAttr \".vt2.t2v\" %f;\n", t2v);
319
void setVertexUvThree(const float2& vt3)
321
fprintf(mFile,"\tsetAttr \".vt3\" -type \"float2\" ");
323
fprintf(mFile,";\n");
325
void setVertexUvThreeU(float t3u)
327
if(t3u == 0.0) return;
328
fprintf(mFile,"\tsetAttr \".vt3.t3u\" %f;\n", t3u);
330
void setVertexUvThreeV(float t3v)
332
if(t3v == 0.0) return;
333
fprintf(mFile,"\tsetAttr \".vt3.t3v\" %f;\n", t3v);
335
void setObjectType(char otp)
338
fprintf(mFile,"\tsetAttr \".otp\" %;\n", otp);
340
void setRayDepth(int rdp)
343
fprintf(mFile,"\tsetAttr \".rdp\" %i;\n", rdp);
345
void setPixelCenter(const float2& pct)
347
fprintf(mFile,"\tsetAttr \".pct\" -type \"float2\" ");
349
fprintf(mFile,";\n");
351
void setPixelCenterX(float pcx)
353
if(pcx == 0.0) return;
354
fprintf(mFile,"\tsetAttr \".pct.pcx\" %f;\n", pcx);
356
void setPixelCenterY(float pcy)
358
if(pcy == 0.0) return;
359
fprintf(mFile,"\tsetAttr \".pct.pcy\" %f;\n", pcy);
361
void setHdrMapping(unsigned int hm)
364
fprintf(mFile,"\tsetAttr \".hm\" %i;\n", hm);
366
void setHdrExposure(float he)
368
if(he == 0.0) return;
369
fprintf(mFile,"\tsetAttr \".he\" %f;\n", he);
371
void setPreFilter(bool pf)
373
if(pf == false) return;
374
fprintf(mFile,"\tsetAttr \".pf\" %i;\n", pf);
376
void setPreFilterRadius(float pfr)
378
if(pfr == 2.0f) return;
379
fprintf(mFile,"\tsetAttr \".pfr\" %f;\n", pfr);
381
void getFileTextureName()const
383
fprintf(mFile,"\"%s.ftn\"",mName.c_str());
385
void getDisableFileLoad()const
387
fprintf(mFile,"\"%s.dfl\"",mName.c_str());
389
void getUseFrameExtension()const
391
fprintf(mFile,"\"%s.ufe\"",mName.c_str());
393
void getFrameExtension()const
395
fprintf(mFile,"\"%s.fe\"",mName.c_str());
397
void getFrameOffset()const
399
fprintf(mFile,"\"%s.io\"",mName.c_str());
401
void getUseHardwareTextureCycling()const
403
fprintf(mFile,"\"%s.uhc\"",mName.c_str());
405
void getStartCycleExtension()const
407
fprintf(mFile,"\"%s.sce\"",mName.c_str());
409
void getEndCycleExtension()const
411
fprintf(mFile,"\"%s.ece\"",mName.c_str());
413
void getByCycleIncrement()const
415
fprintf(mFile,"\"%s.bci\"",mName.c_str());
417
void getForceSwatchGen()const
419
fprintf(mFile,"\"%s.fsg\"",mName.c_str());
421
void getCoverage()const
423
fprintf(mFile,"\"%s.c\"",mName.c_str());
425
void getCoverageU()const
427
fprintf(mFile,"\"%s.c.cu\"",mName.c_str());
429
void getCoverageV()const
431
fprintf(mFile,"\"%s.c.cv\"",mName.c_str());
433
void getTranslateFrame()const
435
fprintf(mFile,"\"%s.tf\"",mName.c_str());
437
void getTranslateFrameU()const
439
fprintf(mFile,"\"%s.tf.tfu\"",mName.c_str());
441
void getTranslateFrameV()const
443
fprintf(mFile,"\"%s.tf.tfv\"",mName.c_str());
445
void getRotateFrame()const
447
fprintf(mFile,"\"%s.rf\"",mName.c_str());
449
void getDoTransform()const
451
fprintf(mFile,"\"%s.dtf\"",mName.c_str());
453
void getMirrorU()const
455
fprintf(mFile,"\"%s.mu\"",mName.c_str());
457
void getMirrorV()const
459
fprintf(mFile,"\"%s.mv\"",mName.c_str());
461
void getStagger()const
463
fprintf(mFile,"\"%s.s\"",mName.c_str());
467
fprintf(mFile,"\"%s.wu\"",mName.c_str());
471
fprintf(mFile,"\"%s.wv\"",mName.c_str());
473
void getRepeatUV()const
475
fprintf(mFile,"\"%s.re\"",mName.c_str());
477
void getRepeatU()const
479
fprintf(mFile,"\"%s.re.reu\"",mName.c_str());
481
void getRepeatV()const
483
fprintf(mFile,"\"%s.re.rev\"",mName.c_str());
485
void getOffset()const
487
fprintf(mFile,"\"%s.of\"",mName.c_str());
489
void getOffsetU()const
491
fprintf(mFile,"\"%s.of.ofu\"",mName.c_str());
493
void getOffsetV()const
495
fprintf(mFile,"\"%s.of.ofv\"",mName.c_str());
497
void getRotateUV()const
499
fprintf(mFile,"\"%s.ro\"",mName.c_str());
501
void getNoiseUV()const
503
fprintf(mFile,"\"%s.n\"",mName.c_str());
505
void getNoiseU()const
507
fprintf(mFile,"\"%s.n.nu\"",mName.c_str());
509
void getNoiseV()const
511
fprintf(mFile,"\"%s.n.nv\"",mName.c_str());
513
void getBlurPixelation()const
515
fprintf(mFile,"\"%s.blp\"",mName.c_str());
517
void getVertexCameraOne()const
519
fprintf(mFile,"\"%s.vc1\"",mName.c_str());
521
void getVertexCameraOneX()const
523
fprintf(mFile,"\"%s.vc1.c1x\"",mName.c_str());
525
void getVertexCameraOneY()const
527
fprintf(mFile,"\"%s.vc1.c1y\"",mName.c_str());
529
void getVertexCameraOneZ()const
531
fprintf(mFile,"\"%s.vc1.c1z\"",mName.c_str());
533
void getVertexCameraTwo()const
535
fprintf(mFile,"\"%s.vc2\"",mName.c_str());
537
void getVertexCameraTwoX()const
539
fprintf(mFile,"\"%s.vc2.c2x\"",mName.c_str());
541
void getVertexCameraTwoY()const
543
fprintf(mFile,"\"%s.vc2.c2y\"",mName.c_str());
545
void getVertexCameraTwoZ()const
547
fprintf(mFile,"\"%s.vc2.c2z\"",mName.c_str());
549
void getVertexCameraThree()const
551
fprintf(mFile,"\"%s.vc3\"",mName.c_str());
553
void getVertexCameraThreeX()const
555
fprintf(mFile,"\"%s.vc3.c3x\"",mName.c_str());
557
void getVertexCameraThreeY()const
559
fprintf(mFile,"\"%s.vc3.c3y\"",mName.c_str());
561
void getVertexCameraThreeZ()const
563
fprintf(mFile,"\"%s.vc3.c3z\"",mName.c_str());
565
void getVertexUvOne()const
567
fprintf(mFile,"\"%s.vt1\"",mName.c_str());
569
void getVertexUvOneU()const
571
fprintf(mFile,"\"%s.vt1.t1u\"",mName.c_str());
573
void getVertexUvOneV()const
575
fprintf(mFile,"\"%s.vt1.t1v\"",mName.c_str());
577
void getVertexUvTwo()const
579
fprintf(mFile,"\"%s.vt2\"",mName.c_str());
581
void getVertexUvTwoU()const
583
fprintf(mFile,"\"%s.vt2.t2u\"",mName.c_str());
585
void getVertexUvTwoV()const
587
fprintf(mFile,"\"%s.vt2.t2v\"",mName.c_str());
589
void getVertexUvThree()const
591
fprintf(mFile,"\"%s.vt3\"",mName.c_str());
593
void getVertexUvThreeU()const
595
fprintf(mFile,"\"%s.vt3.t3u\"",mName.c_str());
597
void getVertexUvThreeV()const
599
fprintf(mFile,"\"%s.vt3.t3v\"",mName.c_str());
601
void getObjectType()const
603
fprintf(mFile,"\"%s.otp\"",mName.c_str());
605
void getRayDepth()const
607
fprintf(mFile,"\"%s.rdp\"",mName.c_str());
609
void getPrimitiveId()const
611
fprintf(mFile,"\"%s.pi\"",mName.c_str());
613
void getPixelCenter()const
615
fprintf(mFile,"\"%s.pct\"",mName.c_str());
617
void getPixelCenterX()const
619
fprintf(mFile,"\"%s.pct.pcx\"",mName.c_str());
621
void getPixelCenterY()const
623
fprintf(mFile,"\"%s.pct.pcy\"",mName.c_str());
625
void getOutSize()const
627
fprintf(mFile,"\"%s.os\"",mName.c_str());
629
void getOutSizeX()const
631
fprintf(mFile,"\"%s.os.osx\"",mName.c_str());
633
void getOutSizeY()const
635
fprintf(mFile,"\"%s.os.osy\"",mName.c_str());
637
void getFileHasAlpha()const
639
fprintf(mFile,"\"%s.fha\"",mName.c_str());
641
void getOutTransparency()const
643
fprintf(mFile,"\"%s.ot\"",mName.c_str());
645
void getOutTransparencyR()const
647
fprintf(mFile,"\"%s.ot.otr\"",mName.c_str());
649
void getOutTransparencyG()const
651
fprintf(mFile,"\"%s.ot.otg\"",mName.c_str());
653
void getOutTransparencyB()const
655
fprintf(mFile,"\"%s.ot.otb\"",mName.c_str());
657
void getPreFilter()const
659
fprintf(mFile,"\"%s.pf\"",mName.c_str());
661
void getPreFilterRadius()const
663
fprintf(mFile,"\"%s.pfr\"",mName.c_str());
665
void getInfoBits()const
667
fprintf(mFile,"\"%s.ib\"",mName.c_str());
670
File(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
671
:Texture2d(file, name, parent, nodeType, shared, create) {}
675
#endif//__MayaDM_FILE_H__