~ubuntu-branches/ubuntu/wily/opencollada/wily-proposed

« back to all changes in this revision

Viewing changes to Externals/MayaDataModel/include/MayaDMQuadShadingSwitch.h

  • Committer: Package Import Robot
  • Author(s): Matteo F. Vescovi
  • Date: 2015-05-14 17:23:27 UTC
  • Revision ID: package-import@ubuntu.com-20150514172327-f862u8envms01fra
Tags: upstream-0.1.0~20140703.ddf8f47+dfsg1
ImportĀ upstreamĀ versionĀ 0.1.0~20140703.ddf8f47+dfsg1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
    Copyright (c) 2008-2009 NetAllied Systems GmbH
 
3
 
 
4
    This file is part of MayaDataModel.
 
5
 
 
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
 
9
*/
 
10
#ifndef __MayaDM_QUADSHADINGSWITCH_H__
 
11
#define __MayaDM_QUADSHADINGSWITCH_H__
 
12
#include "MayaDMTypes.h"
 
13
#include "MayaDMConnectables.h"
 
14
#include "MayaDMBaseShadingSwitch.h"
 
15
namespace MayaDM
 
16
{
 
17
class QuadShadingSwitch : public BaseShadingSwitch
 
18
{
 
19
public:
 
20
        struct Input{
 
21
                struct InQuad{
 
22
                        float3 inTriple;
 
23
                        float inSingle;
 
24
                        void write(FILE* file) const
 
25
                        {
 
26
                                inTriple.write(file);
 
27
                                fprintf(file, " ");
 
28
                                fprintf(file,"%f", inSingle);
 
29
                        }
 
30
                } inQuad;
 
31
                void write(FILE* file) const
 
32
                {
 
33
                        inQuad.write(file);
 
34
                        fprintf(file, " ");
 
35
                }
 
36
        };
 
37
        struct Default{
 
38
                float3 defTriple;
 
39
                float defSingle;
 
40
                void write(FILE* file) const
 
41
                {
 
42
                        defTriple.write(file);
 
43
                        fprintf(file, " ");
 
44
                        fprintf(file,"%f", defSingle);
 
45
                }
 
46
        };
 
47
        struct Output{
 
48
                void write(FILE* file) const
 
49
                {
 
50
                }
 
51
        };
 
52
public:
 
53
 
 
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(){}
 
58
 
 
59
        void setInput(size_t i_i,const Input& i_)
 
60
        {
 
61
                fprintf(mFile,"\tsetAttr \".i[%i]\" ",i_i);
 
62
                i_.write(mFile);
 
63
                fprintf(mFile,";\n");
 
64
        }
 
65
        void setInput(size_t i_start,size_t i_end,Input* i_)
 
66
        {
 
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)
 
70
                {
 
71
                        i_[i].write(mFile);
 
72
                        fprintf(mFile,"\n");
 
73
                }
 
74
                fprintf(mFile,";\n");
 
75
        }
 
76
        void startInput(size_t i_start,size_t i_end)const
 
77
        {
 
78
                fprintf(mFile,"\tsetAttr \".i[%i:%i]\"",i_start,i_end);
 
79
                fprintf(mFile," -type \"Input\" ");
 
80
        }
 
81
        void appendInput(const Input& i)const
 
82
        {
 
83
                fprintf(mFile," ");
 
84
                i.write(mFile);
 
85
        }
 
86
        void endInput()const
 
87
        {
 
88
                fprintf(mFile,";\n");
 
89
        }
 
90
        void setInQuad(size_t i_i,const Input::InQuad& iq)
 
91
        {
 
92
                fprintf(mFile,"\tsetAttr \".i[%i].iq\" ",i_i);
 
93
                iq.write(mFile);
 
94
                fprintf(mFile,";\n");
 
95
        }
 
96
        void setInTriple(size_t i_i,const float3& itr)
 
97
        {
 
98
                fprintf(mFile,"\tsetAttr \".i[%i].iq.itr\" -type \"float3\" ",i_i);
 
99
                itr.write(mFile);
 
100
                fprintf(mFile,";\n");
 
101
        }
 
102
        void setInComp1(size_t i_i,float ic1)
 
103
        {
 
104
                if(ic1 == 0.0) return;
 
105
                fprintf(mFile,"\tsetAttr \".i[%i].iq.itr.ic1\" %f;\n", i_i,ic1);
 
106
        }
 
107
        void setInComp2(size_t i_i,float ic2)
 
108
        {
 
109
                if(ic2 == 0.0) return;
 
110
                fprintf(mFile,"\tsetAttr \".i[%i].iq.itr.ic2\" %f;\n", i_i,ic2);
 
111
        }
 
112
        void setInComp3(size_t i_i,float ic3)
 
113
        {
 
114
                if(ic3 == 0.0) return;
 
115
                fprintf(mFile,"\tsetAttr \".i[%i].iq.itr.ic3\" %f;\n", i_i,ic3);
 
116
        }
 
117
        void setInSingle(size_t i_i,float isi)
 
118
        {
 
119
                if(isi == 0.0) return;
 
120
                fprintf(mFile,"\tsetAttr \".i[%i].iq.isi\" %f;\n", i_i,isi);
 
121
        }
 
122
        void setDefault(const Default& def)
 
123
        {
 
124
                fprintf(mFile,"\tsetAttr \".def\" ");
 
125
                def.write(mFile);
 
126
                fprintf(mFile,";\n");
 
127
        }
 
128
        void setDefTriple(const float3& dtr)
 
129
        {
 
130
                if(dtr == float3(0.8f,0.8f,0.8f)) return;
 
131
                fprintf(mFile,"\tsetAttr \".def.dtr\" -type \"float3\" ");
 
132
                dtr.write(mFile);
 
133
                fprintf(mFile,";\n");
 
134
        }
 
135
        void setDefComp1(float dc1)
 
136
        {
 
137
                if(dc1 == 0.0) return;
 
138
                fprintf(mFile,"\tsetAttr \".def.dtr.dc1\" %f;\n", dc1);
 
139
        }
 
140
        void setDefComp2(float dc2)
 
141
        {
 
142
                if(dc2 == 0.0) return;
 
143
                fprintf(mFile,"\tsetAttr \".def.dtr.dc2\" %f;\n", dc2);
 
144
        }
 
145
        void setDefComp3(float dc3)
 
146
        {
 
147
                if(dc3 == 0.0) return;
 
148
                fprintf(mFile,"\tsetAttr \".def.dtr.dc3\" %f;\n", dc3);
 
149
        }
 
150
        void setDefSingle(float dsi)
 
151
        {
 
152
                if(dsi == 0.0) return;
 
153
                fprintf(mFile,"\tsetAttr \".def.dsi\" %f;\n", dsi);
 
154
        }
 
155
        void getInput(size_t i_i)const
 
156
        {
 
157
                fprintf(mFile,"\"%s.i[%i]\"",mName.c_str(),i_i);
 
158
        }
 
159
        void getInput()const
 
160
        {
 
161
 
 
162
                fprintf(mFile,"\"%s.i\"",mName.c_str());
 
163
        }
 
164
        void getInQuad(size_t i_i)const
 
165
        {
 
166
                fprintf(mFile,"\"%s.i[%i].iq\"",mName.c_str(),i_i);
 
167
        }
 
168
        void getInQuad()const
 
169
        {
 
170
 
 
171
                fprintf(mFile,"\"%s.i.iq\"",mName.c_str());
 
172
        }
 
173
        void getInTriple(size_t i_i)const
 
174
        {
 
175
                fprintf(mFile,"\"%s.i[%i].iq.itr\"",mName.c_str(),i_i);
 
176
        }
 
177
        void getInTriple()const
 
178
        {
 
179
 
 
180
                fprintf(mFile,"\"%s.i.iq.itr\"",mName.c_str());
 
181
        }
 
182
        void getInComp1(size_t i_i)const
 
183
        {
 
184
                fprintf(mFile,"\"%s.i[%i].iq.itr.ic1\"",mName.c_str(),i_i);
 
185
        }
 
186
        void getInComp1()const
 
187
        {
 
188
 
 
189
                fprintf(mFile,"\"%s.i.iq.itr.ic1\"",mName.c_str());
 
190
        }
 
191
        void getInComp2(size_t i_i)const
 
192
        {
 
193
                fprintf(mFile,"\"%s.i[%i].iq.itr.ic2\"",mName.c_str(),i_i);
 
194
        }
 
195
        void getInComp2()const
 
196
        {
 
197
 
 
198
                fprintf(mFile,"\"%s.i.iq.itr.ic2\"",mName.c_str());
 
199
        }
 
200
        void getInComp3(size_t i_i)const
 
201
        {
 
202
                fprintf(mFile,"\"%s.i[%i].iq.itr.ic3\"",mName.c_str(),i_i);
 
203
        }
 
204
        void getInComp3()const
 
205
        {
 
206
 
 
207
                fprintf(mFile,"\"%s.i.iq.itr.ic3\"",mName.c_str());
 
208
        }
 
209
        void getInSingle(size_t i_i)const
 
210
        {
 
211
                fprintf(mFile,"\"%s.i[%i].iq.isi\"",mName.c_str(),i_i);
 
212
        }
 
213
        void getInSingle()const
 
214
        {
 
215
 
 
216
                fprintf(mFile,"\"%s.i.iq.isi\"",mName.c_str());
 
217
        }
 
218
        void getInShape(size_t i_i)const
 
219
        {
 
220
                fprintf(mFile,"\"%s.i[%i].is\"",mName.c_str(),i_i);
 
221
        }
 
222
        void getInShape()const
 
223
        {
 
224
 
 
225
                fprintf(mFile,"\"%s.i.is\"",mName.c_str());
 
226
        }
 
227
        void getDefault()const
 
228
        {
 
229
                fprintf(mFile,"\"%s.def\"",mName.c_str());
 
230
        }
 
231
        void getDefTriple()const
 
232
        {
 
233
                fprintf(mFile,"\"%s.def.dtr\"",mName.c_str());
 
234
        }
 
235
        void getDefComp1()const
 
236
        {
 
237
                fprintf(mFile,"\"%s.def.dtr.dc1\"",mName.c_str());
 
238
        }
 
239
        void getDefComp2()const
 
240
        {
 
241
                fprintf(mFile,"\"%s.def.dtr.dc2\"",mName.c_str());
 
242
        }
 
243
        void getDefComp3()const
 
244
        {
 
245
                fprintf(mFile,"\"%s.def.dtr.dc3\"",mName.c_str());
 
246
        }
 
247
        void getDefSingle()const
 
248
        {
 
249
                fprintf(mFile,"\"%s.def.dsi\"",mName.c_str());
 
250
        }
 
251
        void getOutput()const
 
252
        {
 
253
                fprintf(mFile,"\"%s.out\"",mName.c_str());
 
254
        }
 
255
        void getOutTriple()const
 
256
        {
 
257
                fprintf(mFile,"\"%s.out.otr\"",mName.c_str());
 
258
        }
 
259
        void getOutComp1()const
 
260
        {
 
261
                fprintf(mFile,"\"%s.out.otr.oc1\"",mName.c_str());
 
262
        }
 
263
        void getOutComp2()const
 
264
        {
 
265
                fprintf(mFile,"\"%s.out.otr.oc2\"",mName.c_str());
 
266
        }
 
267
        void getOutComp3()const
 
268
        {
 
269
                fprintf(mFile,"\"%s.out.otr.oc3\"",mName.c_str());
 
270
        }
 
271
        void getOutSingle()const
 
272
        {
 
273
                fprintf(mFile,"\"%s.out.osi\"",mName.c_str());
 
274
        }
 
275
protected:
 
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) {}
 
278
 
 
279
};
 
280
}//namespace MayaDM
 
281
#endif//__MayaDM_QUADSHADINGSWITCH_H__