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_QUADSHADINGSWITCH_H__
11
#define __MayaDM_QUADSHADINGSWITCH_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMBaseShadingSwitch.h"
17
class QuadShadingSwitch : public BaseShadingSwitch
24
void write(FILE* file) const
28
fprintf(file,"%f", inSingle);
31
void write(FILE* file) const
40
void write(FILE* file) const
42
defTriple.write(file);
44
fprintf(file,"%f", defSingle);
48
void write(FILE* file) const
54
QuadShadingSwitch():BaseShadingSwitch(){}
55
QuadShadingSwitch(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
56
:BaseShadingSwitch(file, name, parent, "quadShadingSwitch", shared, create){}
57
virtual ~QuadShadingSwitch(){}
59
void setInput(size_t i_i,const Input& i_)
61
fprintf(mFile,"\tsetAttr \".i[%i]\" ",i_i);
65
void setInput(size_t i_start,size_t i_end,Input* i_)
67
fprintf(mFile,"\tsetAttr \".i[%i:%i]\" ", i_start,i_end);
68
size_t size = (i_end-i_start)*1+1;
69
for(size_t i=0;i<size;++i)
76
void startInput(size_t i_start,size_t i_end)const
78
fprintf(mFile,"\tsetAttr \".i[%i:%i]\"",i_start,i_end);
79
fprintf(mFile," -type \"Input\" ");
81
void appendInput(const Input& i)const
90
void setInQuad(size_t i_i,const Input::InQuad& iq)
92
fprintf(mFile,"\tsetAttr \".i[%i].iq\" ",i_i);
96
void setInTriple(size_t i_i,const float3& itr)
98
fprintf(mFile,"\tsetAttr \".i[%i].iq.itr\" -type \"float3\" ",i_i);
100
fprintf(mFile,";\n");
102
void setInComp1(size_t i_i,float ic1)
104
if(ic1 == 0.0) return;
105
fprintf(mFile,"\tsetAttr \".i[%i].iq.itr.ic1\" %f;\n", i_i,ic1);
107
void setInComp2(size_t i_i,float ic2)
109
if(ic2 == 0.0) return;
110
fprintf(mFile,"\tsetAttr \".i[%i].iq.itr.ic2\" %f;\n", i_i,ic2);
112
void setInComp3(size_t i_i,float ic3)
114
if(ic3 == 0.0) return;
115
fprintf(mFile,"\tsetAttr \".i[%i].iq.itr.ic3\" %f;\n", i_i,ic3);
117
void setInSingle(size_t i_i,float isi)
119
if(isi == 0.0) return;
120
fprintf(mFile,"\tsetAttr \".i[%i].iq.isi\" %f;\n", i_i,isi);
122
void setDefault(const Default& def)
124
fprintf(mFile,"\tsetAttr \".def\" ");
126
fprintf(mFile,";\n");
128
void setDefTriple(const float3& dtr)
130
if(dtr == float3(0.8f,0.8f,0.8f)) return;
131
fprintf(mFile,"\tsetAttr \".def.dtr\" -type \"float3\" ");
133
fprintf(mFile,";\n");
135
void setDefComp1(float dc1)
137
if(dc1 == 0.0) return;
138
fprintf(mFile,"\tsetAttr \".def.dtr.dc1\" %f;\n", dc1);
140
void setDefComp2(float dc2)
142
if(dc2 == 0.0) return;
143
fprintf(mFile,"\tsetAttr \".def.dtr.dc2\" %f;\n", dc2);
145
void setDefComp3(float dc3)
147
if(dc3 == 0.0) return;
148
fprintf(mFile,"\tsetAttr \".def.dtr.dc3\" %f;\n", dc3);
150
void setDefSingle(float dsi)
152
if(dsi == 0.0) return;
153
fprintf(mFile,"\tsetAttr \".def.dsi\" %f;\n", dsi);
155
void getInput(size_t i_i)const
157
fprintf(mFile,"\"%s.i[%i]\"",mName.c_str(),i_i);
162
fprintf(mFile,"\"%s.i\"",mName.c_str());
164
void getInQuad(size_t i_i)const
166
fprintf(mFile,"\"%s.i[%i].iq\"",mName.c_str(),i_i);
168
void getInQuad()const
171
fprintf(mFile,"\"%s.i.iq\"",mName.c_str());
173
void getInTriple(size_t i_i)const
175
fprintf(mFile,"\"%s.i[%i].iq.itr\"",mName.c_str(),i_i);
177
void getInTriple()const
180
fprintf(mFile,"\"%s.i.iq.itr\"",mName.c_str());
182
void getInComp1(size_t i_i)const
184
fprintf(mFile,"\"%s.i[%i].iq.itr.ic1\"",mName.c_str(),i_i);
186
void getInComp1()const
189
fprintf(mFile,"\"%s.i.iq.itr.ic1\"",mName.c_str());
191
void getInComp2(size_t i_i)const
193
fprintf(mFile,"\"%s.i[%i].iq.itr.ic2\"",mName.c_str(),i_i);
195
void getInComp2()const
198
fprintf(mFile,"\"%s.i.iq.itr.ic2\"",mName.c_str());
200
void getInComp3(size_t i_i)const
202
fprintf(mFile,"\"%s.i[%i].iq.itr.ic3\"",mName.c_str(),i_i);
204
void getInComp3()const
207
fprintf(mFile,"\"%s.i.iq.itr.ic3\"",mName.c_str());
209
void getInSingle(size_t i_i)const
211
fprintf(mFile,"\"%s.i[%i].iq.isi\"",mName.c_str(),i_i);
213
void getInSingle()const
216
fprintf(mFile,"\"%s.i.iq.isi\"",mName.c_str());
218
void getInShape(size_t i_i)const
220
fprintf(mFile,"\"%s.i[%i].is\"",mName.c_str(),i_i);
222
void getInShape()const
225
fprintf(mFile,"\"%s.i.is\"",mName.c_str());
227
void getDefault()const
229
fprintf(mFile,"\"%s.def\"",mName.c_str());
231
void getDefTriple()const
233
fprintf(mFile,"\"%s.def.dtr\"",mName.c_str());
235
void getDefComp1()const
237
fprintf(mFile,"\"%s.def.dtr.dc1\"",mName.c_str());
239
void getDefComp2()const
241
fprintf(mFile,"\"%s.def.dtr.dc2\"",mName.c_str());
243
void getDefComp3()const
245
fprintf(mFile,"\"%s.def.dtr.dc3\"",mName.c_str());
247
void getDefSingle()const
249
fprintf(mFile,"\"%s.def.dsi\"",mName.c_str());
251
void getOutput()const
253
fprintf(mFile,"\"%s.out\"",mName.c_str());
255
void getOutTriple()const
257
fprintf(mFile,"\"%s.out.otr\"",mName.c_str());
259
void getOutComp1()const
261
fprintf(mFile,"\"%s.out.otr.oc1\"",mName.c_str());
263
void getOutComp2()const
265
fprintf(mFile,"\"%s.out.otr.oc2\"",mName.c_str());
267
void getOutComp3()const
269
fprintf(mFile,"\"%s.out.otr.oc3\"",mName.c_str());
271
void getOutSingle()const
273
fprintf(mFile,"\"%s.out.osi\"",mName.c_str());
276
QuadShadingSwitch(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
277
:BaseShadingSwitch(file, name, parent, nodeType, shared, create) {}
281
#endif//__MayaDM_QUADSHADINGSWITCH_H__