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_LIGHTFOG_H__
11
#define __MayaDM_LIGHTFOG_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMDependNode.h"
17
class LightFog : public DependNode
22
LightFog():DependNode(){}
23
LightFog(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
24
:DependNode(file, name, parent, "lightFog", shared, create){}
27
void setColor(const float3& c)
29
if(c == float3(1.0f,1.0f,1.0f)) return;
30
fprintf(mFile,"\tsetAttr \".c\" -type \"float3\" ");
34
void setColorR(float cr)
37
fprintf(mFile,"\tsetAttr \".c.cr\" %f;\n", cr);
39
void setColorG(float cg)
42
fprintf(mFile,"\tsetAttr \".c.cg\" %f;\n", cg);
44
void setColorB(float cb)
47
fprintf(mFile,"\tsetAttr \".c.cb\" %f;\n", cb);
49
void setDensity(float d)
52
fprintf(mFile,"\tsetAttr \".d\" %f;\n", d);
54
void setFastDropOff(bool fd)
56
if(fd == false) return;
57
fprintf(mFile,"\tsetAttr \".fd\" %i;\n", fd);
59
void setColorBasedTransparency(bool cbt)
61
if(cbt == true) return;
62
fprintf(mFile,"\tsetAttr \".cbt\" %i;\n", cbt);
64
void setMatteOpacityMode(unsigned int mom)
67
fprintf(mFile,"\tsetAttr \".mom\" %i;\n", mom);
69
void setMatteOpacity(float mog)
71
if(mog == 1.0) return;
72
fprintf(mFile,"\tsetAttr \".mog\" %f;\n", mog);
74
void getFilterSize()const
76
fprintf(mFile,"\"%s.fs\"",mName.c_str());
78
void getFilterSizeX()const
80
fprintf(mFile,"\"%s.fs.fsx\"",mName.c_str());
82
void getFilterSizeY()const
84
fprintf(mFile,"\"%s.fs.fsy\"",mName.c_str());
86
void getFilterSizeZ()const
88
fprintf(mFile,"\"%s.fs.fsz\"",mName.c_str());
90
void getLightDataArray(size_t ltd_i)const
92
fprintf(mFile,"\"%s.ltd[%i]\"",mName.c_str(),ltd_i);
94
void getLightDataArray()const
97
fprintf(mFile,"\"%s.ltd\"",mName.c_str());
99
void getLightDirection(size_t ltd_i)const
101
fprintf(mFile,"\"%s.ltd[%i].ld\"",mName.c_str(),ltd_i);
103
void getLightDirection()const
106
fprintf(mFile,"\"%s.ltd.ld\"",mName.c_str());
108
void getLightDirectionX(size_t ltd_i)const
110
fprintf(mFile,"\"%s.ltd[%i].ld.ldx\"",mName.c_str(),ltd_i);
112
void getLightDirectionX()const
115
fprintf(mFile,"\"%s.ltd.ld.ldx\"",mName.c_str());
117
void getLightDirectionY(size_t ltd_i)const
119
fprintf(mFile,"\"%s.ltd[%i].ld.ldy\"",mName.c_str(),ltd_i);
121
void getLightDirectionY()const
124
fprintf(mFile,"\"%s.ltd.ld.ldy\"",mName.c_str());
126
void getLightDirectionZ(size_t ltd_i)const
128
fprintf(mFile,"\"%s.ltd[%i].ld.ldz\"",mName.c_str(),ltd_i);
130
void getLightDirectionZ()const
133
fprintf(mFile,"\"%s.ltd.ld.ldz\"",mName.c_str());
135
void getLightIntensity(size_t ltd_i)const
137
fprintf(mFile,"\"%s.ltd[%i].li\"",mName.c_str(),ltd_i);
139
void getLightIntensity()const
142
fprintf(mFile,"\"%s.ltd.li\"",mName.c_str());
144
void getLightIntensityR(size_t ltd_i)const
146
fprintf(mFile,"\"%s.ltd[%i].li.lir\"",mName.c_str(),ltd_i);
148
void getLightIntensityR()const
151
fprintf(mFile,"\"%s.ltd.li.lir\"",mName.c_str());
153
void getLightIntensityG(size_t ltd_i)const
155
fprintf(mFile,"\"%s.ltd[%i].li.lig\"",mName.c_str(),ltd_i);
157
void getLightIntensityG()const
160
fprintf(mFile,"\"%s.ltd.li.lig\"",mName.c_str());
162
void getLightIntensityB(size_t ltd_i)const
164
fprintf(mFile,"\"%s.ltd[%i].li.lib\"",mName.c_str(),ltd_i);
166
void getLightIntensityB()const
169
fprintf(mFile,"\"%s.ltd.li.lib\"",mName.c_str());
171
void getLightAmbient(size_t ltd_i)const
173
fprintf(mFile,"\"%s.ltd[%i].la\"",mName.c_str(),ltd_i);
175
void getLightAmbient()const
178
fprintf(mFile,"\"%s.ltd.la\"",mName.c_str());
180
void getLightDiffuse(size_t ltd_i)const
182
fprintf(mFile,"\"%s.ltd[%i].ldf\"",mName.c_str(),ltd_i);
184
void getLightDiffuse()const
187
fprintf(mFile,"\"%s.ltd.ldf\"",mName.c_str());
189
void getLightSpecular(size_t ltd_i)const
191
fprintf(mFile,"\"%s.ltd[%i].ls\"",mName.c_str(),ltd_i);
193
void getLightSpecular()const
196
fprintf(mFile,"\"%s.ltd.ls\"",mName.c_str());
198
void getLightShadowFraction(size_t ltd_i)const
200
fprintf(mFile,"\"%s.ltd[%i].lsf\"",mName.c_str(),ltd_i);
202
void getLightShadowFraction()const
205
fprintf(mFile,"\"%s.ltd.lsf\"",mName.c_str());
207
void getPreShadowIntensity(size_t ltd_i)const
209
fprintf(mFile,"\"%s.ltd[%i].psi\"",mName.c_str(),ltd_i);
211
void getPreShadowIntensity()const
214
fprintf(mFile,"\"%s.ltd.psi\"",mName.c_str());
216
void getLightBlindData(size_t ltd_i)const
218
fprintf(mFile,"\"%s.ltd[%i].lbd\"",mName.c_str(),ltd_i);
220
void getLightBlindData()const
223
fprintf(mFile,"\"%s.ltd.lbd\"",mName.c_str());
227
fprintf(mFile,"\"%s.c\"",mName.c_str());
229
void getColorR()const
231
fprintf(mFile,"\"%s.c.cr\"",mName.c_str());
233
void getColorG()const
235
fprintf(mFile,"\"%s.c.cg\"",mName.c_str());
237
void getColorB()const
239
fprintf(mFile,"\"%s.c.cb\"",mName.c_str());
241
void getDensity()const
243
fprintf(mFile,"\"%s.d\"",mName.c_str());
245
void getFastDropOff()const
247
fprintf(mFile,"\"%s.fd\"",mName.c_str());
249
void getColorBasedTransparency()const
251
fprintf(mFile,"\"%s.cbt\"",mName.c_str());
253
void getMatteOpacityMode()const
255
fprintf(mFile,"\"%s.mom\"",mName.c_str());
257
void getMatteOpacity()const
259
fprintf(mFile,"\"%s.mog\"",mName.c_str());
261
void getOutMatteOpacity()const
263
fprintf(mFile,"\"%s.omo\"",mName.c_str());
265
void getOutMatteOpacityR()const
267
fprintf(mFile,"\"%s.omo.omor\"",mName.c_str());
269
void getOutMatteOpacityG()const
271
fprintf(mFile,"\"%s.omo.omog\"",mName.c_str());
273
void getOutMatteOpacityB()const
275
fprintf(mFile,"\"%s.omo.omob\"",mName.c_str());
277
void getOutColor()const
279
fprintf(mFile,"\"%s.oc\"",mName.c_str());
281
void getOutColorR()const
283
fprintf(mFile,"\"%s.oc.ocr\"",mName.c_str());
285
void getOutColorG()const
287
fprintf(mFile,"\"%s.oc.ocg\"",mName.c_str());
289
void getOutColorB()const
291
fprintf(mFile,"\"%s.oc.ocb\"",mName.c_str());
293
void getOutTransparency()const
295
fprintf(mFile,"\"%s.ot\"",mName.c_str());
297
void getOutTransparencyR()const
299
fprintf(mFile,"\"%s.ot.otr\"",mName.c_str());
301
void getOutTransparencyG()const
303
fprintf(mFile,"\"%s.ot.otg\"",mName.c_str());
305
void getOutTransparencyB()const
307
fprintf(mFile,"\"%s.ot.otb\"",mName.c_str());
310
LightFog(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
311
:DependNode(file, name, parent, nodeType, shared, create) {}
315
#endif//__MayaDM_LIGHTFOG_H__