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_VOLUMEFOG_H__
11
#define __MayaDM_VOLUMEFOG_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMDependNode.h"
17
class VolumeFog : public DependNode
21
float colorRamp_Position;
22
float3 colorRamp_Color;
23
unsigned int colorRamp_Interp;
24
void write(FILE* file) const
26
fprintf(file,"%f ", colorRamp_Position);
27
colorRamp_Color.write(file);
29
fprintf(file,"%i", colorRamp_Interp);
34
VolumeFog():DependNode(){}
35
VolumeFog(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
36
:DependNode(file, name, parent, "volumeFog", shared, create){}
37
virtual ~VolumeFog(){}
39
void setColor(const float3& cl)
41
fprintf(mFile,"\tsetAttr \".cl\" -type \"float3\" ");
45
void setColorR(float cr)
48
fprintf(mFile,"\tsetAttr \".cl.cr\" %f;\n", cr);
50
void setColorG(float cg)
53
fprintf(mFile,"\tsetAttr \".cl.cg\" %f;\n", cg);
55
void setColorB(float cb)
58
fprintf(mFile,"\tsetAttr \".cl.cb\" %f;\n", cb);
60
void setColorRampInput(unsigned int cri)
63
fprintf(mFile,"\tsetAttr \".cri\" %i;\n", cri);
65
void setColorRamp(size_t crm_i,const ColorRamp& crm)
67
fprintf(mFile,"\tsetAttr \".crm[%i]\" ",crm_i);
71
void setColorRamp(size_t crm_start,size_t crm_end,ColorRamp* crm)
73
fprintf(mFile,"\tsetAttr \".crm[%i:%i]\" ", crm_start,crm_end);
74
size_t size = (crm_end-crm_start)*1+1;
75
for(size_t i=0;i<size;++i)
82
void startColorRamp(size_t crm_start,size_t crm_end)const
84
fprintf(mFile,"\tsetAttr \".crm[%i:%i]\"",crm_start,crm_end);
85
fprintf(mFile," -type \"ColorRamp\" ");
87
void appendColorRamp(const ColorRamp& crm)const
92
void endColorRamp()const
96
void setColorRamp_Position(size_t crm_i,float crmp)
98
if(crmp == 0.0) return;
99
fprintf(mFile,"\tsetAttr \".crm[%i].crmp\" %f;\n", crm_i,crmp);
101
void setColorRamp_Color(size_t crm_i,const float3& crmc)
103
fprintf(mFile,"\tsetAttr \".crm[%i].crmc\" -type \"float3\" ",crm_i);
105
fprintf(mFile,";\n");
107
void setColorRamp_ColorR(size_t crm_i,float crmcr)
109
if(crmcr == 0.0) return;
110
fprintf(mFile,"\tsetAttr \".crm[%i].crmc.crmcr\" %f;\n", crm_i,crmcr);
112
void setColorRamp_ColorG(size_t crm_i,float crmcg)
114
if(crmcg == 0.0) return;
115
fprintf(mFile,"\tsetAttr \".crm[%i].crmc.crmcg\" %f;\n", crm_i,crmcg);
117
void setColorRamp_ColorB(size_t crm_i,float crmcb)
119
if(crmcb == 0.0) return;
120
fprintf(mFile,"\tsetAttr \".crm[%i].crmc.crmcb\" %f;\n", crm_i,crmcb);
122
void setColorRamp_Interp(size_t crm_i,unsigned int crmi)
124
if(crmi == 0) return;
125
fprintf(mFile,"\tsetAttr \".crm[%i].crmi\" %i;\n", crm_i,crmi);
127
void setTransparency(const float3& t)
129
fprintf(mFile,"\tsetAttr \".t\" -type \"float3\" ");
131
fprintf(mFile,";\n");
133
void setTransparencyR(float tr)
135
if(tr == 0.5) return;
136
fprintf(mFile,"\tsetAttr \".t.tr\" %f;\n", tr);
138
void setTransparencyG(float tg)
140
if(tg == 0.5) return;
141
fprintf(mFile,"\tsetAttr \".t.tg\" %f;\n", tg);
143
void setTransparencyB(float tb)
145
if(tb == 0.5) return;
146
fprintf(mFile,"\tsetAttr \".t.tb\" %f;\n", tb);
148
void setIncandescence(const float3& ic)
150
fprintf(mFile,"\tsetAttr \".ic\" -type \"float3\" ");
152
fprintf(mFile,";\n");
154
void setIncandescenceR(float ir)
156
if(ir == 0.0) return;
157
fprintf(mFile,"\tsetAttr \".ic.ir\" %f;\n", ir);
159
void setIncandescenceG(float ig)
161
if(ig == 0.0) return;
162
fprintf(mFile,"\tsetAttr \".ic.ig\" %f;\n", ig);
164
void setIncandescenceB(float ib)
166
if(ib == 0.0) return;
167
fprintf(mFile,"\tsetAttr \".ic.ib\" %f;\n", ib);
169
void setGlowIntensity(float gi)
171
if(gi == 0.0) return;
172
fprintf(mFile,"\tsetAttr \".gi\" %f;\n", gi);
174
void setDensity(float dns)
177
fprintf(mFile,"\tsetAttr \".dns\" %f;\n", dns);
179
void setDensityMode(unsigned int dmd)
182
fprintf(mFile,"\tsetAttr \".dmd\" %i;\n", dmd);
184
void setDropoffShape(unsigned int dos)
187
fprintf(mFile,"\tsetAttr \".dos\" %i;\n", dos);
189
void setEdgeDropoff(float edr)
191
if(edr == .5) return;
192
fprintf(mFile,"\tsetAttr \".edr\" %f;\n", edr);
194
void setAxialDropoff(float axd)
196
if(axd == 0.3) return;
197
fprintf(mFile,"\tsetAttr \".axd\" %f;\n", axd);
199
void setDropoffMethod(unsigned int drm)
202
fprintf(mFile,"\tsetAttr \".drm\" %i;\n", drm);
204
void setDropoffSubtract(float drs)
206
if(drs == 1.0) return;
207
fprintf(mFile,"\tsetAttr \".drs\" %f;\n", drs);
209
void setIlluminated(bool il)
211
if(il == false) return;
212
fprintf(mFile,"\tsetAttr \".il\" %i;\n", il);
214
void setLightScatter(float lsc)
216
if(lsc == 1.0) return;
217
fprintf(mFile,"\tsetAttr \".lsc\" %f;\n", lsc);
219
void setMatteOpacityMode(unsigned int mom)
222
fprintf(mFile,"\tsetAttr \".mom\" %i;\n", mom);
224
void setMatteOpacity(float mog)
226
if(mog == 1.0) return;
227
fprintf(mFile,"\tsetAttr \".mog\" %f;\n", mog);
229
void getRayDirection()const
231
fprintf(mFile,"\"%s.rad\"",mName.c_str());
233
void getRayDirectionX()const
235
fprintf(mFile,"\"%s.rad.rdx\"",mName.c_str());
237
void getRayDirectionY()const
239
fprintf(mFile,"\"%s.rad.rdy\"",mName.c_str());
241
void getRayDirectionZ()const
243
fprintf(mFile,"\"%s.rad.rdz\"",mName.c_str());
245
void getPointWorld()const
247
fprintf(mFile,"\"%s.pw\"",mName.c_str());
249
void getPointWorldX()const
251
fprintf(mFile,"\"%s.pw.pwx\"",mName.c_str());
253
void getPointWorldY()const
255
fprintf(mFile,"\"%s.pw.pwy\"",mName.c_str());
257
void getPointWorldZ()const
259
fprintf(mFile,"\"%s.pw.pwz\"",mName.c_str());
261
void getFarPointWorld()const
263
fprintf(mFile,"\"%s.fw\"",mName.c_str());
265
void getFarPointWorldX()const
267
fprintf(mFile,"\"%s.fw.fwx\"",mName.c_str());
269
void getFarPointWorldY()const
271
fprintf(mFile,"\"%s.fw.fwy\"",mName.c_str());
273
void getFarPointWorldZ()const
275
fprintf(mFile,"\"%s.fw.fwz\"",mName.c_str());
277
void getPointObj()const
279
fprintf(mFile,"\"%s.po\"",mName.c_str());
281
void getPointObjX()const
283
fprintf(mFile,"\"%s.po.pox\"",mName.c_str());
285
void getPointObjY()const
287
fprintf(mFile,"\"%s.po.poy\"",mName.c_str());
289
void getPointObjZ()const
291
fprintf(mFile,"\"%s.po.poz\"",mName.c_str());
293
void getFarPointObj()const
295
fprintf(mFile,"\"%s.fo\"",mName.c_str());
297
void getFarPointObjectX()const
299
fprintf(mFile,"\"%s.fo.fox\"",mName.c_str());
301
void getFarPointObjectY()const
303
fprintf(mFile,"\"%s.fo.foy\"",mName.c_str());
305
void getFarPointObjectZ()const
307
fprintf(mFile,"\"%s.fo.foz\"",mName.c_str());
309
void getMatrixWorldToEye()const
311
fprintf(mFile,"\"%s.wte\"",mName.c_str());
313
void getLightDataArray(size_t ltd_i)const
315
fprintf(mFile,"\"%s.ltd[%i]\"",mName.c_str(),ltd_i);
317
void getLightDataArray()const
320
fprintf(mFile,"\"%s.ltd\"",mName.c_str());
322
void getLightDirection(size_t ltd_i)const
324
fprintf(mFile,"\"%s.ltd[%i].ld\"",mName.c_str(),ltd_i);
326
void getLightDirection()const
329
fprintf(mFile,"\"%s.ltd.ld\"",mName.c_str());
331
void getLightDirectionX(size_t ltd_i)const
333
fprintf(mFile,"\"%s.ltd[%i].ld.ldx\"",mName.c_str(),ltd_i);
335
void getLightDirectionX()const
338
fprintf(mFile,"\"%s.ltd.ld.ldx\"",mName.c_str());
340
void getLightDirectionY(size_t ltd_i)const
342
fprintf(mFile,"\"%s.ltd[%i].ld.ldy\"",mName.c_str(),ltd_i);
344
void getLightDirectionY()const
347
fprintf(mFile,"\"%s.ltd.ld.ldy\"",mName.c_str());
349
void getLightDirectionZ(size_t ltd_i)const
351
fprintf(mFile,"\"%s.ltd[%i].ld.ldz\"",mName.c_str(),ltd_i);
353
void getLightDirectionZ()const
356
fprintf(mFile,"\"%s.ltd.ld.ldz\"",mName.c_str());
358
void getLightIntensity(size_t ltd_i)const
360
fprintf(mFile,"\"%s.ltd[%i].li\"",mName.c_str(),ltd_i);
362
void getLightIntensity()const
365
fprintf(mFile,"\"%s.ltd.li\"",mName.c_str());
367
void getLightIntensityR(size_t ltd_i)const
369
fprintf(mFile,"\"%s.ltd[%i].li.lir\"",mName.c_str(),ltd_i);
371
void getLightIntensityR()const
374
fprintf(mFile,"\"%s.ltd.li.lir\"",mName.c_str());
376
void getLightIntensityG(size_t ltd_i)const
378
fprintf(mFile,"\"%s.ltd[%i].li.lig\"",mName.c_str(),ltd_i);
380
void getLightIntensityG()const
383
fprintf(mFile,"\"%s.ltd.li.lig\"",mName.c_str());
385
void getLightIntensityB(size_t ltd_i)const
387
fprintf(mFile,"\"%s.ltd[%i].li.lib\"",mName.c_str(),ltd_i);
389
void getLightIntensityB()const
392
fprintf(mFile,"\"%s.ltd.li.lib\"",mName.c_str());
394
void getLightAmbient(size_t ltd_i)const
396
fprintf(mFile,"\"%s.ltd[%i].la\"",mName.c_str(),ltd_i);
398
void getLightAmbient()const
401
fprintf(mFile,"\"%s.ltd.la\"",mName.c_str());
403
void getLightDiffuse(size_t ltd_i)const
405
fprintf(mFile,"\"%s.ltd[%i].ldf\"",mName.c_str(),ltd_i);
407
void getLightDiffuse()const
410
fprintf(mFile,"\"%s.ltd.ldf\"",mName.c_str());
412
void getLightSpecular(size_t ltd_i)const
414
fprintf(mFile,"\"%s.ltd[%i].ls\"",mName.c_str(),ltd_i);
416
void getLightSpecular()const
419
fprintf(mFile,"\"%s.ltd.ls\"",mName.c_str());
421
void getLightShadowFraction(size_t ltd_i)const
423
fprintf(mFile,"\"%s.ltd[%i].lsf\"",mName.c_str(),ltd_i);
425
void getLightShadowFraction()const
428
fprintf(mFile,"\"%s.ltd.lsf\"",mName.c_str());
430
void getPreShadowIntensity(size_t ltd_i)const
432
fprintf(mFile,"\"%s.ltd[%i].psi\"",mName.c_str(),ltd_i);
434
void getPreShadowIntensity()const
437
fprintf(mFile,"\"%s.ltd.psi\"",mName.c_str());
439
void getLightBlindData(size_t ltd_i)const
441
fprintf(mFile,"\"%s.ltd[%i].lbd\"",mName.c_str(),ltd_i);
443
void getLightBlindData()const
446
fprintf(mFile,"\"%s.ltd.lbd\"",mName.c_str());
450
fprintf(mFile,"\"%s.cl\"",mName.c_str());
452
void getColorR()const
454
fprintf(mFile,"\"%s.cl.cr\"",mName.c_str());
456
void getColorG()const
458
fprintf(mFile,"\"%s.cl.cg\"",mName.c_str());
460
void getColorB()const
462
fprintf(mFile,"\"%s.cl.cb\"",mName.c_str());
464
void getColorRampInput()const
466
fprintf(mFile,"\"%s.cri\"",mName.c_str());
468
void getColorRamp(size_t crm_i)const
470
fprintf(mFile,"\"%s.crm[%i]\"",mName.c_str(),crm_i);
472
void getColorRamp()const
475
fprintf(mFile,"\"%s.crm\"",mName.c_str());
477
void getColorRamp_Position(size_t crm_i)const
479
fprintf(mFile,"\"%s.crm[%i].crmp\"",mName.c_str(),crm_i);
481
void getColorRamp_Position()const
484
fprintf(mFile,"\"%s.crm.crmp\"",mName.c_str());
486
void getColorRamp_Color(size_t crm_i)const
488
fprintf(mFile,"\"%s.crm[%i].crmc\"",mName.c_str(),crm_i);
490
void getColorRamp_Color()const
493
fprintf(mFile,"\"%s.crm.crmc\"",mName.c_str());
495
void getColorRamp_ColorR(size_t crm_i)const
497
fprintf(mFile,"\"%s.crm[%i].crmc.crmcr\"",mName.c_str(),crm_i);
499
void getColorRamp_ColorR()const
502
fprintf(mFile,"\"%s.crm.crmc.crmcr\"",mName.c_str());
504
void getColorRamp_ColorG(size_t crm_i)const
506
fprintf(mFile,"\"%s.crm[%i].crmc.crmcg\"",mName.c_str(),crm_i);
508
void getColorRamp_ColorG()const
511
fprintf(mFile,"\"%s.crm.crmc.crmcg\"",mName.c_str());
513
void getColorRamp_ColorB(size_t crm_i)const
515
fprintf(mFile,"\"%s.crm[%i].crmc.crmcb\"",mName.c_str(),crm_i);
517
void getColorRamp_ColorB()const
520
fprintf(mFile,"\"%s.crm.crmc.crmcb\"",mName.c_str());
522
void getColorRamp_Interp(size_t crm_i)const
524
fprintf(mFile,"\"%s.crm[%i].crmi\"",mName.c_str(),crm_i);
526
void getColorRamp_Interp()const
529
fprintf(mFile,"\"%s.crm.crmi\"",mName.c_str());
531
void getTransparency()const
533
fprintf(mFile,"\"%s.t\"",mName.c_str());
535
void getTransparencyR()const
537
fprintf(mFile,"\"%s.t.tr\"",mName.c_str());
539
void getTransparencyG()const
541
fprintf(mFile,"\"%s.t.tg\"",mName.c_str());
543
void getTransparencyB()const
545
fprintf(mFile,"\"%s.t.tb\"",mName.c_str());
547
void getIncandescence()const
549
fprintf(mFile,"\"%s.ic\"",mName.c_str());
551
void getIncandescenceR()const
553
fprintf(mFile,"\"%s.ic.ir\"",mName.c_str());
555
void getIncandescenceG()const
557
fprintf(mFile,"\"%s.ic.ig\"",mName.c_str());
559
void getIncandescenceB()const
561
fprintf(mFile,"\"%s.ic.ib\"",mName.c_str());
563
void getGlowIntensity()const
565
fprintf(mFile,"\"%s.gi\"",mName.c_str());
567
void getOutGlowColor()const
569
fprintf(mFile,"\"%s.ogc\"",mName.c_str());
571
void getOutGlowColorR()const
573
fprintf(mFile,"\"%s.ogc.ogr\"",mName.c_str());
575
void getOutGlowColorG()const
577
fprintf(mFile,"\"%s.ogc.ogg\"",mName.c_str());
579
void getOutGlowColorB()const
581
fprintf(mFile,"\"%s.ogc.ogb\"",mName.c_str());
583
void getDensity()const
585
fprintf(mFile,"\"%s.dns\"",mName.c_str());
587
void getDensityMode()const
589
fprintf(mFile,"\"%s.dmd\"",mName.c_str());
591
void getDropoffShape()const
593
fprintf(mFile,"\"%s.dos\"",mName.c_str());
595
void getEdgeDropoff()const
597
fprintf(mFile,"\"%s.edr\"",mName.c_str());
599
void getAxialDropoff()const
601
fprintf(mFile,"\"%s.axd\"",mName.c_str());
603
void getDropoffMethod()const
605
fprintf(mFile,"\"%s.drm\"",mName.c_str());
607
void getDropoffSubtract()const
609
fprintf(mFile,"\"%s.drs\"",mName.c_str());
611
void getIlluminated()const
613
fprintf(mFile,"\"%s.il\"",mName.c_str());
615
void getLightScatter()const
617
fprintf(mFile,"\"%s.lsc\"",mName.c_str());
619
void getMatteOpacityMode()const
621
fprintf(mFile,"\"%s.mom\"",mName.c_str());
623
void getMatteOpacity()const
625
fprintf(mFile,"\"%s.mog\"",mName.c_str());
627
void getOutColor()const
629
fprintf(mFile,"\"%s.oc\"",mName.c_str());
631
void getOutColorR()const
633
fprintf(mFile,"\"%s.oc.ocr\"",mName.c_str());
635
void getOutColorG()const
637
fprintf(mFile,"\"%s.oc.ocg\"",mName.c_str());
639
void getOutColorB()const
641
fprintf(mFile,"\"%s.oc.ocb\"",mName.c_str());
643
void getOutTransparency()const
645
fprintf(mFile,"\"%s.ot\"",mName.c_str());
647
void getOutTransparencyR()const
649
fprintf(mFile,"\"%s.ot.otr\"",mName.c_str());
651
void getOutTransparencyG()const
653
fprintf(mFile,"\"%s.ot.otg\"",mName.c_str());
655
void getOutTransparencyB()const
657
fprintf(mFile,"\"%s.ot.otb\"",mName.c_str());
659
void getOutMatteOpacity()const
661
fprintf(mFile,"\"%s.omo\"",mName.c_str());
663
void getOutMatteOpacityR()const
665
fprintf(mFile,"\"%s.omo.omor\"",mName.c_str());
667
void getOutMatteOpacityG()const
669
fprintf(mFile,"\"%s.omo.omog\"",mName.c_str());
671
void getOutMatteOpacityB()const
673
fprintf(mFile,"\"%s.omo.omob\"",mName.c_str());
676
VolumeFog(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
677
:DependNode(file, name, parent, nodeType, shared, create) {}
681
#endif//__MayaDM_VOLUMEFOG_H__