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_LAYEREDTEXTURE_H__
11
#define __MayaDM_LAYEREDTEXTURE_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMDependNode.h"
17
class LayeredTexture : public DependNode
23
unsigned int blendMode;
25
void write(FILE* file) const
29
fprintf(file,"%f ", alpha);
30
fprintf(file,"%i ", blendMode);
31
fprintf(file,"%i", isVisible);
36
LayeredTexture():DependNode(){}
37
LayeredTexture(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
38
:DependNode(file, name, parent, "layeredTexture", shared, create){}
39
virtual ~LayeredTexture(){}
41
void setInputs(size_t cs_i,const Inputs& cs)
43
fprintf(mFile,"\tsetAttr \".cs[%i]\" ",cs_i);
47
void setInputs(size_t cs_start,size_t cs_end,Inputs* cs)
49
fprintf(mFile,"\tsetAttr \".cs[%i:%i]\" ", cs_start,cs_end);
50
size_t size = (cs_end-cs_start)*1+1;
51
for(size_t i=0;i<size;++i)
58
void startInputs(size_t cs_start,size_t cs_end)const
60
fprintf(mFile,"\tsetAttr \".cs[%i:%i]\"",cs_start,cs_end);
61
fprintf(mFile," -type \"Inputs\" ");
63
void appendInputs(const Inputs& cs)const
72
void setColor(size_t cs_i,const float3& c)
74
fprintf(mFile,"\tsetAttr \".cs[%i].c\" -type \"float3\" ",cs_i);
78
void setColorR(size_t cs_i,float cr)
81
fprintf(mFile,"\tsetAttr \".cs[%i].c.cr\" %f;\n", cs_i,cr);
83
void setColorG(size_t cs_i,float cg)
86
fprintf(mFile,"\tsetAttr \".cs[%i].c.cg\" %f;\n", cs_i,cg);
88
void setColorB(size_t cs_i,float cb)
91
fprintf(mFile,"\tsetAttr \".cs[%i].c.cb\" %f;\n", cs_i,cb);
93
void setAlpha(size_t cs_i,float a)
96
fprintf(mFile,"\tsetAttr \".cs[%i].a\" %f;\n", cs_i,a);
98
void setBlendMode(size_t cs_i,unsigned int bm)
101
fprintf(mFile,"\tsetAttr \".cs[%i].bm\" %i;\n", cs_i,bm);
103
void setIsVisible(size_t cs_i,bool iv)
105
if(iv == true) return;
106
fprintf(mFile,"\tsetAttr \".cs[%i].iv\" %i;\n", cs_i,iv);
108
void setHardwareColor(const float3& hc)
110
fprintf(mFile,"\tsetAttr \".hc\" -type \"float3\" ");
112
fprintf(mFile,";\n");
114
void setHardwareColorR(float hcr)
116
if(hcr == 0.5) return;
117
fprintf(mFile,"\tsetAttr \".hc.hcr\" %f;\n", hcr);
119
void setHardwareColorG(float hcg)
121
if(hcg == 0.5) return;
122
fprintf(mFile,"\tsetAttr \".hc.hcg\" %f;\n", hcg);
124
void setHardwareColorB(float hcb)
126
if(hcb == 0.5) return;
127
fprintf(mFile,"\tsetAttr \".hc.hcb\" %f;\n", hcb);
129
void setAlphaIsLuminance(bool ail)
131
if(ail == false) return;
132
fprintf(mFile,"\tsetAttr \".ail\" %i;\n", ail);
134
void getInputs(size_t cs_i)const
136
fprintf(mFile,"\"%s.cs[%i]\"",mName.c_str(),cs_i);
138
void getInputs()const
141
fprintf(mFile,"\"%s.cs\"",mName.c_str());
143
void getColor(size_t cs_i)const
145
fprintf(mFile,"\"%s.cs[%i].c\"",mName.c_str(),cs_i);
150
fprintf(mFile,"\"%s.cs.c\"",mName.c_str());
152
void getColorR(size_t cs_i)const
154
fprintf(mFile,"\"%s.cs[%i].c.cr\"",mName.c_str(),cs_i);
156
void getColorR()const
159
fprintf(mFile,"\"%s.cs.c.cr\"",mName.c_str());
161
void getColorG(size_t cs_i)const
163
fprintf(mFile,"\"%s.cs[%i].c.cg\"",mName.c_str(),cs_i);
165
void getColorG()const
168
fprintf(mFile,"\"%s.cs.c.cg\"",mName.c_str());
170
void getColorB(size_t cs_i)const
172
fprintf(mFile,"\"%s.cs[%i].c.cb\"",mName.c_str(),cs_i);
174
void getColorB()const
177
fprintf(mFile,"\"%s.cs.c.cb\"",mName.c_str());
179
void getAlpha(size_t cs_i)const
181
fprintf(mFile,"\"%s.cs[%i].a\"",mName.c_str(),cs_i);
186
fprintf(mFile,"\"%s.cs.a\"",mName.c_str());
188
void getBlendMode(size_t cs_i)const
190
fprintf(mFile,"\"%s.cs[%i].bm\"",mName.c_str(),cs_i);
192
void getBlendMode()const
195
fprintf(mFile,"\"%s.cs.bm\"",mName.c_str());
197
void getIsVisible(size_t cs_i)const
199
fprintf(mFile,"\"%s.cs[%i].iv\"",mName.c_str(),cs_i);
201
void getIsVisible()const
204
fprintf(mFile,"\"%s.cs.iv\"",mName.c_str());
206
void getOutColor()const
208
fprintf(mFile,"\"%s.oc\"",mName.c_str());
210
void getOutColorR()const
212
fprintf(mFile,"\"%s.oc.ocr\"",mName.c_str());
214
void getOutColorG()const
216
fprintf(mFile,"\"%s.oc.ocg\"",mName.c_str());
218
void getOutColorB()const
220
fprintf(mFile,"\"%s.oc.ocb\"",mName.c_str());
222
void getOutAlpha()const
224
fprintf(mFile,"\"%s.oa\"",mName.c_str());
226
void getAlphaIsLuminance()const
228
fprintf(mFile,"\"%s.ail\"",mName.c_str());
230
void getOutTransparency()const
232
fprintf(mFile,"\"%s.ot\"",mName.c_str());
234
void getOutTransparencyR()const
236
fprintf(mFile,"\"%s.ot.otr\"",mName.c_str());
238
void getOutTransparencyG()const
240
fprintf(mFile,"\"%s.ot.otg\"",mName.c_str());
242
void getOutTransparencyB()const
244
fprintf(mFile,"\"%s.ot.otb\"",mName.c_str());
247
LayeredTexture(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
248
:DependNode(file, name, parent, nodeType, shared, create) {}
252
#endif//__MayaDM_LAYEREDTEXTURE_H__