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_ENVFOG_H__
11
#define __MayaDM_ENVFOG_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMLightFog.h"
17
class EnvFog : public LightFog
23
EnvFog(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
24
:LightFog(file, name, parent, "envFog", shared, create){}
27
void setDistanceClipPlanes(unsigned int dcp)
30
fprintf(mFile,"\tsetAttr \".dcp\" %i;\n", dcp);
32
void setUseLayer(bool ul)
34
if(ul == false) return;
35
fprintf(mFile,"\tsetAttr \".ul\" %i;\n", ul);
37
void setUseHeight(bool uh)
39
if(uh == false) return;
40
fprintf(mFile,"\tsetAttr \".uh\" %i;\n", uh);
42
void setBlendRange(float br)
45
fprintf(mFile,"\tsetAttr \".br\" %f;\n", br);
47
void setSaturationDistance(float sdt)
49
if(sdt == 100.0) return;
50
fprintf(mFile,"\tsetAttr \".sdt\" %f;\n", sdt);
52
void setFogNearDistance(float fnd)
54
if(fnd == 0.0) return;
55
fprintf(mFile,"\tsetAttr \".fnd\" %f;\n", fnd);
57
void setFogFarDistance(float ffd)
59
if(ffd == 200.0) return;
60
fprintf(mFile,"\tsetAttr \".ffd\" %f;\n", ffd);
62
void setLayer(float l)
65
fprintf(mFile,"\tsetAttr \".l\" %f;\n", l);
67
void setMinHeight(float mnh)
69
if(mnh == -1.0) return;
70
fprintf(mFile,"\tsetAttr \".mnh\" %f;\n", mnh);
72
void setMaxHeight(float mxh)
74
if(mxh == 1.0) return;
75
fprintf(mFile,"\tsetAttr \".mxh\" %f;\n", mxh);
77
void setUseDistance(bool ud)
79
if(ud == false) return;
80
fprintf(mFile,"\tsetAttr \".ud\" %i;\n", ud);
82
void setStartDistance(float sd)
85
fprintf(mFile,"\tsetAttr \".sd\" %f;\n", sd);
87
void setEndDistance(float ed)
89
if(ed == -1.0) return;
90
fprintf(mFile,"\tsetAttr \".ed\" %f;\n", ed);
92
void setPhysicalFog(bool sff)
94
if(sff == false) return;
95
fprintf(mFile,"\tsetAttr \".sff\" %i;\n", sff);
97
void setFogType(unsigned int ftp)
100
fprintf(mFile,"\tsetAttr \".ftp\" %i;\n", ftp);
102
void setFogDensity(double fdn)
104
if(fdn == 0.4) return;
105
fprintf(mFile,"\tsetAttr \".fdn\" %f;\n", fdn);
107
void setFogColor(const float3& fcl)
109
fprintf(mFile,"\tsetAttr \".fcl\" -type \"float3\" ");
111
fprintf(mFile,";\n");
113
void setFogColorR(float fcr)
115
if(fcr == 1.0) return;
116
fprintf(mFile,"\tsetAttr \".fcl.fcr\" %f;\n", fcr);
118
void setFogColorG(float fcg)
120
if(fcg == 1.0) return;
121
fprintf(mFile,"\tsetAttr \".fcl.fcg\" %f;\n", fcg);
123
void setFogColorB(float fcb)
125
if(fcb == 1.0) return;
126
fprintf(mFile,"\tsetAttr \".fcl.fcb\" %f;\n", fcb);
128
void setFogOpacity(const float3& fop)
130
fprintf(mFile,"\tsetAttr \".fop\" -type \"float3\" ");
132
fprintf(mFile,";\n");
134
void setFogOpacityR(float for_)
136
if(for_ == 0.5) return;
137
fprintf(mFile,"\tsetAttr \".fop.for\" %f;\n", for_);
139
void setFogOpacityG(float fog)
141
if(fog == 0.5) return;
142
fprintf(mFile,"\tsetAttr \".fop.fog\" %f;\n", fog);
144
void setFogOpacityB(float fob)
146
if(fob == 0.5) return;
147
fprintf(mFile,"\tsetAttr \".fop.fob\" %f;\n", fob);
149
void setFogMinHeight(double fmh)
151
if(fmh == 0.0) return;
152
fprintf(mFile,"\tsetAttr \".fmh\" %f;\n", fmh);
154
void setFogMaxHeight(double fxh)
156
if(fxh == 1.0) return;
157
fprintf(mFile,"\tsetAttr \".fxh\" %f;\n", fxh);
159
void setFogDecay(double fdc)
161
if(fdc == 0.2) return;
162
fprintf(mFile,"\tsetAttr \".fdc\" %f;\n", fdc);
164
void setFogLightScatter(double flc)
166
if(flc == 1.0) return;
167
fprintf(mFile,"\tsetAttr \".flc\" %f;\n", flc);
169
void setAirDensity(double adn)
171
if(adn == 0.0) return;
172
fprintf(mFile,"\tsetAttr \".adn\" %f;\n", adn);
174
void setAirColor(const float3& acl)
176
fprintf(mFile,"\tsetAttr \".acl\" -type \"float3\" ");
178
fprintf(mFile,";\n");
180
void setAirColorR(float acr)
182
if(acr == 0.6) return;
183
fprintf(mFile,"\tsetAttr \".acl.acr\" %f;\n", acr);
185
void setAirColorG(float acg)
187
if(acg == 0.8) return;
188
fprintf(mFile,"\tsetAttr \".acl.acg\" %f;\n", acg);
190
void setAirColorB(float acb)
192
if(acb == 1.0) return;
193
fprintf(mFile,"\tsetAttr \".acl.acb\" %f;\n", acb);
195
void setAirOpacity(const float3& aop)
197
fprintf(mFile,"\tsetAttr \".aop\" -type \"float3\" ");
199
fprintf(mFile,";\n");
201
void setAirOpacityR(float aor)
203
if(aor == 0.37) return;
204
fprintf(mFile,"\tsetAttr \".aop.aor\" %f;\n", aor);
206
void setAirOpacityG(float aog)
208
if(aog == 0.47) return;
209
fprintf(mFile,"\tsetAttr \".aop.aog\" %f;\n", aog);
211
void setAirOpacityB(float aob)
213
if(aob == 0.9) return;
214
fprintf(mFile,"\tsetAttr \".aop.aob\" %f;\n", aob);
216
void setAirMinHeight(double amh)
218
if(amh == 0.0) return;
219
fprintf(mFile,"\tsetAttr \".amh\" %f;\n", amh);
221
void setAirMaxHeight(double axh)
223
if(axh == 50.0) return;
224
fprintf(mFile,"\tsetAttr \".axh\" %f;\n", axh);
226
void setAirDecay(double adc)
228
if(adc == 0.1) return;
229
fprintf(mFile,"\tsetAttr \".adc\" %f;\n", adc);
231
void setAirLightScatter(double alc)
233
if(alc == 1.0) return;
234
fprintf(mFile,"\tsetAttr \".alc\" %f;\n", alc);
236
void setWaterDensity(double wdn)
238
if(wdn == 0.0) return;
239
fprintf(mFile,"\tsetAttr \".wdn\" %f;\n", wdn);
241
void setWaterColor(const float3& wcl)
243
fprintf(mFile,"\tsetAttr \".wcl\" -type \"float3\" ");
245
fprintf(mFile,";\n");
247
void setWaterColorR(float wcr)
249
if(wcr == 0.6) return;
250
fprintf(mFile,"\tsetAttr \".wcl.wcr\" %f;\n", wcr);
252
void setWaterColorG(float wcg)
254
if(wcg == 0.8) return;
255
fprintf(mFile,"\tsetAttr \".wcl.wcg\" %f;\n", wcg);
257
void setWaterColorB(float wcb)
259
if(wcb == 1.0) return;
260
fprintf(mFile,"\tsetAttr \".wcl.wcb\" %f;\n", wcb);
262
void setWaterOpacity(const float3& wop)
264
fprintf(mFile,"\tsetAttr \".wop\" -type \"float3\" ");
266
fprintf(mFile,";\n");
268
void setWaterOpacityR(float wor)
270
if(wor == 0.37) return;
271
fprintf(mFile,"\tsetAttr \".wop.wor\" %f;\n", wor);
273
void setWaterOpacityG(float wog)
275
if(wog == 0.47) return;
276
fprintf(mFile,"\tsetAttr \".wop.wog\" %f;\n", wog);
278
void setWaterOpacityB(float wob)
280
if(wob == 0.9) return;
281
fprintf(mFile,"\tsetAttr \".wop.wob\" %f;\n", wob);
283
void setWaterLevel(double wlv)
285
if(wlv == 0.0) return;
286
fprintf(mFile,"\tsetAttr \".wlv\" %f;\n", wlv);
288
void setWaterDepth(double wdp)
290
if(wdp == 50.0) return;
291
fprintf(mFile,"\tsetAttr \".wdp\" %f;\n", wdp);
293
void setWaterLightDecay(double wdc)
295
if(wdc == 2.0) return;
296
fprintf(mFile,"\tsetAttr \".wdc\" %f;\n", wdc);
298
void setWaterLightScatter(double wlc)
300
if(wlc == 1.0) return;
301
fprintf(mFile,"\tsetAttr \".wlc\" %f;\n", wlc);
303
void setPlanetRadius(double prd)
305
if(prd == 1000.0) return;
306
fprintf(mFile,"\tsetAttr \".prd\" %f;\n", prd);
308
void setFogAxis(unsigned int fax)
311
fprintf(mFile,"\tsetAttr \".fax\" %i;\n", fax);
313
void setSunIntensity(double sin)
315
if(sin == 1.0) return;
316
fprintf(mFile,"\tsetAttr \".sin\" %f;\n", sin);
318
void setSunAzimuth(double saz)
320
if(saz == 0.0) return;
321
fprintf(mFile,"\tsetAttr \".saz\" %f;\n", saz);
323
void setSunElevation(double sel)
325
if(sel == 45.0) return;
326
fprintf(mFile,"\tsetAttr \".sel\" %f;\n", sel);
328
void setSunColor(const float3& snc)
330
fprintf(mFile,"\tsetAttr \".snc\" -type \"float3\" ");
332
fprintf(mFile,";\n");
334
void setSunColorR(float snr)
336
if(snr == 1.0) return;
337
fprintf(mFile,"\tsetAttr \".snc.snr\" %f;\n", snr);
339
void setSunColorG(float sng)
341
if(sng == 1.0) return;
342
fprintf(mFile,"\tsetAttr \".snc.sng\" %f;\n", sng);
344
void setSunColorB(float snb)
346
if(snb == 1.0) return;
347
fprintf(mFile,"\tsetAttr \".snc.snb\" %f;\n", snb);
349
void getMatrixEyeToWorld()const
351
fprintf(mFile,"\"%s.e2w\"",mName.c_str());
353
void getPointCamera()const
355
fprintf(mFile,"\"%s.p\"",mName.c_str());
357
void getPointCameraX()const
359
fprintf(mFile,"\"%s.p.px\"",mName.c_str());
361
void getPointCameraY()const
363
fprintf(mFile,"\"%s.p.py\"",mName.c_str());
365
void getPointCameraZ()const
367
fprintf(mFile,"\"%s.p.pz\"",mName.c_str());
369
void getPointWorld()const
371
fprintf(mFile,"\"%s.pw\"",mName.c_str());
373
void getPointWorldX()const
375
fprintf(mFile,"\"%s.pw.pwx\"",mName.c_str());
377
void getPointWorldY()const
379
fprintf(mFile,"\"%s.pw.pwy\"",mName.c_str());
381
void getPointWorldZ()const
383
fprintf(mFile,"\"%s.pw.pwz\"",mName.c_str());
385
void getRayDirection()const
387
fprintf(mFile,"\"%s.r\"",mName.c_str());
389
void getRayDirectionX()const
391
fprintf(mFile,"\"%s.r.rx\"",mName.c_str());
393
void getRayDirectionY()const
395
fprintf(mFile,"\"%s.r.ry\"",mName.c_str());
397
void getRayDirectionZ()const
399
fprintf(mFile,"\"%s.r.rz\"",mName.c_str());
401
void getDistanceClipPlanes()const
403
fprintf(mFile,"\"%s.dcp\"",mName.c_str());
405
void getUseLayer()const
407
fprintf(mFile,"\"%s.ul\"",mName.c_str());
409
void getUseHeight()const
411
fprintf(mFile,"\"%s.uh\"",mName.c_str());
413
void getBlendRange()const
415
fprintf(mFile,"\"%s.br\"",mName.c_str());
417
void getSaturationDistance()const
419
fprintf(mFile,"\"%s.sdt\"",mName.c_str());
421
void getFogNearDistance()const
423
fprintf(mFile,"\"%s.fnd\"",mName.c_str());
425
void getFogFarDistance()const
427
fprintf(mFile,"\"%s.ffd\"",mName.c_str());
431
fprintf(mFile,"\"%s.l\"",mName.c_str());
433
void getMinHeight()const
435
fprintf(mFile,"\"%s.mnh\"",mName.c_str());
437
void getMaxHeight()const
439
fprintf(mFile,"\"%s.mxh\"",mName.c_str());
441
void getUseDistance()const
443
fprintf(mFile,"\"%s.ud\"",mName.c_str());
445
void getStartDistance()const
447
fprintf(mFile,"\"%s.sd\"",mName.c_str());
449
void getEndDistance()const
451
fprintf(mFile,"\"%s.ed\"",mName.c_str());
453
void getPhysicalFog()const
455
fprintf(mFile,"\"%s.sff\"",mName.c_str());
457
void getFogType()const
459
fprintf(mFile,"\"%s.ftp\"",mName.c_str());
461
void getFogDensity()const
463
fprintf(mFile,"\"%s.fdn\"",mName.c_str());
465
void getFogColor()const
467
fprintf(mFile,"\"%s.fcl\"",mName.c_str());
469
void getFogColorR()const
471
fprintf(mFile,"\"%s.fcl.fcr\"",mName.c_str());
473
void getFogColorG()const
475
fprintf(mFile,"\"%s.fcl.fcg\"",mName.c_str());
477
void getFogColorB()const
479
fprintf(mFile,"\"%s.fcl.fcb\"",mName.c_str());
481
void getFogOpacity()const
483
fprintf(mFile,"\"%s.fop\"",mName.c_str());
485
void getFogOpacityR()const
487
fprintf(mFile,"\"%s.fop.for\"",mName.c_str());
489
void getFogOpacityG()const
491
fprintf(mFile,"\"%s.fop.fog\"",mName.c_str());
493
void getFogOpacityB()const
495
fprintf(mFile,"\"%s.fop.fob\"",mName.c_str());
497
void getFogMinHeight()const
499
fprintf(mFile,"\"%s.fmh\"",mName.c_str());
501
void getFogMaxHeight()const
503
fprintf(mFile,"\"%s.fxh\"",mName.c_str());
505
void getFogDecay()const
507
fprintf(mFile,"\"%s.fdc\"",mName.c_str());
509
void getFogLightScatter()const
511
fprintf(mFile,"\"%s.flc\"",mName.c_str());
513
void getAirDensity()const
515
fprintf(mFile,"\"%s.adn\"",mName.c_str());
517
void getAirColor()const
519
fprintf(mFile,"\"%s.acl\"",mName.c_str());
521
void getAirColorR()const
523
fprintf(mFile,"\"%s.acl.acr\"",mName.c_str());
525
void getAirColorG()const
527
fprintf(mFile,"\"%s.acl.acg\"",mName.c_str());
529
void getAirColorB()const
531
fprintf(mFile,"\"%s.acl.acb\"",mName.c_str());
533
void getAirOpacity()const
535
fprintf(mFile,"\"%s.aop\"",mName.c_str());
537
void getAirOpacityR()const
539
fprintf(mFile,"\"%s.aop.aor\"",mName.c_str());
541
void getAirOpacityG()const
543
fprintf(mFile,"\"%s.aop.aog\"",mName.c_str());
545
void getAirOpacityB()const
547
fprintf(mFile,"\"%s.aop.aob\"",mName.c_str());
549
void getAirMinHeight()const
551
fprintf(mFile,"\"%s.amh\"",mName.c_str());
553
void getAirMaxHeight()const
555
fprintf(mFile,"\"%s.axh\"",mName.c_str());
557
void getAirDecay()const
559
fprintf(mFile,"\"%s.adc\"",mName.c_str());
561
void getAirLightScatter()const
563
fprintf(mFile,"\"%s.alc\"",mName.c_str());
565
void getWaterDensity()const
567
fprintf(mFile,"\"%s.wdn\"",mName.c_str());
569
void getWaterColor()const
571
fprintf(mFile,"\"%s.wcl\"",mName.c_str());
573
void getWaterColorR()const
575
fprintf(mFile,"\"%s.wcl.wcr\"",mName.c_str());
577
void getWaterColorG()const
579
fprintf(mFile,"\"%s.wcl.wcg\"",mName.c_str());
581
void getWaterColorB()const
583
fprintf(mFile,"\"%s.wcl.wcb\"",mName.c_str());
585
void getWaterOpacity()const
587
fprintf(mFile,"\"%s.wop\"",mName.c_str());
589
void getWaterOpacityR()const
591
fprintf(mFile,"\"%s.wop.wor\"",mName.c_str());
593
void getWaterOpacityG()const
595
fprintf(mFile,"\"%s.wop.wog\"",mName.c_str());
597
void getWaterOpacityB()const
599
fprintf(mFile,"\"%s.wop.wob\"",mName.c_str());
601
void getWaterLevel()const
603
fprintf(mFile,"\"%s.wlv\"",mName.c_str());
605
void getWaterDepth()const
607
fprintf(mFile,"\"%s.wdp\"",mName.c_str());
609
void getWaterLightDecay()const
611
fprintf(mFile,"\"%s.wdc\"",mName.c_str());
613
void getWaterLightScatter()const
615
fprintf(mFile,"\"%s.wlc\"",mName.c_str());
617
void getPlanetRadius()const
619
fprintf(mFile,"\"%s.prd\"",mName.c_str());
621
void getFogAxis()const
623
fprintf(mFile,"\"%s.fax\"",mName.c_str());
625
void getSunIntensity()const
627
fprintf(mFile,"\"%s.sin\"",mName.c_str());
629
void getSunAzimuth()const
631
fprintf(mFile,"\"%s.saz\"",mName.c_str());
633
void getSunElevation()const
635
fprintf(mFile,"\"%s.sel\"",mName.c_str());
637
void getSunColor()const
639
fprintf(mFile,"\"%s.snc\"",mName.c_str());
641
void getSunColorR()const
643
fprintf(mFile,"\"%s.snc.snr\"",mName.c_str());
645
void getSunColorG()const
647
fprintf(mFile,"\"%s.snc.sng\"",mName.c_str());
649
void getSunColorB()const
651
fprintf(mFile,"\"%s.snc.snb\"",mName.c_str());
654
EnvFog(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
655
:LightFog(file, name, parent, nodeType, shared, create) {}
659
#endif//__MayaDM_ENVFOG_H__