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

« back to all changes in this revision

Viewing changes to Externals/MayaDataModel/include/MayaDMRamp.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_RAMP_H__
 
11
#define __MayaDM_RAMP_H__
 
12
#include "MayaDMTypes.h"
 
13
#include "MayaDMConnectables.h"
 
14
#include "MayaDMTexture2d.h"
 
15
namespace MayaDM
 
16
{
 
17
class Ramp : public Texture2d
 
18
{
 
19
public:
 
20
        struct ColorEntryList{
 
21
                float position;
 
22
                float3 color;
 
23
                void write(FILE* file) const
 
24
                {
 
25
                        fprintf(file,"%f ", position);
 
26
                        color.write(file);
 
27
                }
 
28
        };
 
29
public:
 
30
 
 
31
        Ramp():Texture2d(){}
 
32
        Ramp(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
 
33
                :Texture2d(file, name, parent, "ramp", shared, create){}
 
34
        virtual ~Ramp(){}
 
35
 
 
36
        void setType(unsigned int t)
 
37
        {
 
38
                if(t == 0) return;
 
39
                fprintf(mFile,"\tsetAttr \".t\" %i;\n", t);
 
40
        }
 
41
        void setInterpolation(unsigned int in)
 
42
        {
 
43
                if(in == 1) return;
 
44
                fprintf(mFile,"\tsetAttr \".in\" %i;\n", in);
 
45
        }
 
46
        void setColorEntryList(size_t cel_i,const ColorEntryList& cel)
 
47
        {
 
48
                fprintf(mFile,"\tsetAttr \".cel[%i]\" ",cel_i);
 
49
                cel.write(mFile);
 
50
                fprintf(mFile,";\n");
 
51
        }
 
52
        void setColorEntryList(size_t cel_start,size_t cel_end,ColorEntryList* cel)
 
53
        {
 
54
                fprintf(mFile,"\tsetAttr \".cel[%i:%i]\" ", cel_start,cel_end);
 
55
                size_t size = (cel_end-cel_start)*1+1;
 
56
                for(size_t i=0;i<size;++i)
 
57
                {
 
58
                        cel[i].write(mFile);
 
59
                        fprintf(mFile,"\n");
 
60
                }
 
61
                fprintf(mFile,";\n");
 
62
        }
 
63
        void startColorEntryList(size_t cel_start,size_t cel_end)const
 
64
        {
 
65
                fprintf(mFile,"\tsetAttr \".cel[%i:%i]\"",cel_start,cel_end);
 
66
                fprintf(mFile," -type \"ColorEntryList\" ");
 
67
        }
 
68
        void appendColorEntryList(const ColorEntryList& cel)const
 
69
        {
 
70
                fprintf(mFile," ");
 
71
                cel.write(mFile);
 
72
        }
 
73
        void endColorEntryList()const
 
74
        {
 
75
                fprintf(mFile,";\n");
 
76
        }
 
77
        void setPosition(size_t cel_i,float ep)
 
78
        {
 
79
                if(ep == 0.0) return;
 
80
                fprintf(mFile,"\tsetAttr \".cel[%i].ep\" %f;\n", cel_i,ep);
 
81
        }
 
82
        void setColor(size_t cel_i,const float3& ec)
 
83
        {
 
84
                if(ec == float3(1.0f,0.0f,0.0f)) return;
 
85
                fprintf(mFile,"\tsetAttr \".cel[%i].ec\" -type \"float3\" ",cel_i);
 
86
                ec.write(mFile);
 
87
                fprintf(mFile,";\n");
 
88
        }
 
89
        void setColorR(size_t cel_i,float ecr)
 
90
        {
 
91
                if(ecr == 0.0) return;
 
92
                fprintf(mFile,"\tsetAttr \".cel[%i].ec.ecr\" %f;\n", cel_i,ecr);
 
93
        }
 
94
        void setColorG(size_t cel_i,float ecg)
 
95
        {
 
96
                if(ecg == 0.0) return;
 
97
                fprintf(mFile,"\tsetAttr \".cel[%i].ec.ecg\" %f;\n", cel_i,ecg);
 
98
        }
 
99
        void setColorB(size_t cel_i,float ecb)
 
100
        {
 
101
                if(ecb == 0.0) return;
 
102
                fprintf(mFile,"\tsetAttr \".cel[%i].ec.ecb\" %f;\n", cel_i,ecb);
 
103
        }
 
104
        void setUWave(float uw)
 
105
        {
 
106
                if(uw == 0.0) return;
 
107
                fprintf(mFile,"\tsetAttr \".uw\" %f;\n", uw);
 
108
        }
 
109
        void setVWave(float vw)
 
110
        {
 
111
                if(vw == 0.0) return;
 
112
                fprintf(mFile,"\tsetAttr \".vw\" %f;\n", vw);
 
113
        }
 
114
        void setNoise(float n)
 
115
        {
 
116
                if(n == 0.0) return;
 
117
                fprintf(mFile,"\tsetAttr \".n\" %f;\n", n);
 
118
        }
 
119
        void setNoiseFreq(float nf)
 
120
        {
 
121
                if(nf == 0.5) return;
 
122
                fprintf(mFile,"\tsetAttr \".nf\" %f;\n", nf);
 
123
        }
 
124
        void setHueNoise(float hn)
 
125
        {
 
126
                if(hn == 0.0) return;
 
127
                fprintf(mFile,"\tsetAttr \".hn\" %f;\n", hn);
 
128
        }
 
129
        void setSatNoise(float sn)
 
130
        {
 
131
                if(sn == 0.0) return;
 
132
                fprintf(mFile,"\tsetAttr \".sn\" %f;\n", sn);
 
133
        }
 
134
        void setValNoise(float vn)
 
135
        {
 
136
                if(vn == 0.0) return;
 
137
                fprintf(mFile,"\tsetAttr \".vn\" %f;\n", vn);
 
138
        }
 
139
        void setHueNoiseFreq(float hnf)
 
140
        {
 
141
                if(hnf == 0.5) return;
 
142
                fprintf(mFile,"\tsetAttr \".hnf\" %f;\n", hnf);
 
143
        }
 
144
        void setSatNoiseFreq(float snf)
 
145
        {
 
146
                if(snf == 0.5) return;
 
147
                fprintf(mFile,"\tsetAttr \".snf\" %f;\n", snf);
 
148
        }
 
149
        void setValNoiseFreq(float vnf)
 
150
        {
 
151
                if(vnf == 0.5) return;
 
152
                fprintf(mFile,"\tsetAttr \".vnf\" %f;\n", vnf);
 
153
        }
 
154
        void getType()const
 
155
        {
 
156
                fprintf(mFile,"\"%s.t\"",mName.c_str());
 
157
        }
 
158
        void getInterpolation()const
 
159
        {
 
160
                fprintf(mFile,"\"%s.in\"",mName.c_str());
 
161
        }
 
162
        void getColorEntryList(size_t cel_i)const
 
163
        {
 
164
                fprintf(mFile,"\"%s.cel[%i]\"",mName.c_str(),cel_i);
 
165
        }
 
166
        void getColorEntryList()const
 
167
        {
 
168
 
 
169
                fprintf(mFile,"\"%s.cel\"",mName.c_str());
 
170
        }
 
171
        void getPosition(size_t cel_i)const
 
172
        {
 
173
                fprintf(mFile,"\"%s.cel[%i].ep\"",mName.c_str(),cel_i);
 
174
        }
 
175
        void getPosition()const
 
176
        {
 
177
 
 
178
                fprintf(mFile,"\"%s.cel.ep\"",mName.c_str());
 
179
        }
 
180
        void getColor(size_t cel_i)const
 
181
        {
 
182
                fprintf(mFile,"\"%s.cel[%i].ec\"",mName.c_str(),cel_i);
 
183
        }
 
184
        void getColor()const
 
185
        {
 
186
 
 
187
                fprintf(mFile,"\"%s.cel.ec\"",mName.c_str());
 
188
        }
 
189
        void getColorR(size_t cel_i)const
 
190
        {
 
191
                fprintf(mFile,"\"%s.cel[%i].ec.ecr\"",mName.c_str(),cel_i);
 
192
        }
 
193
        void getColorR()const
 
194
        {
 
195
 
 
196
                fprintf(mFile,"\"%s.cel.ec.ecr\"",mName.c_str());
 
197
        }
 
198
        void getColorG(size_t cel_i)const
 
199
        {
 
200
                fprintf(mFile,"\"%s.cel[%i].ec.ecg\"",mName.c_str(),cel_i);
 
201
        }
 
202
        void getColorG()const
 
203
        {
 
204
 
 
205
                fprintf(mFile,"\"%s.cel.ec.ecg\"",mName.c_str());
 
206
        }
 
207
        void getColorB(size_t cel_i)const
 
208
        {
 
209
                fprintf(mFile,"\"%s.cel[%i].ec.ecb\"",mName.c_str(),cel_i);
 
210
        }
 
211
        void getColorB()const
 
212
        {
 
213
 
 
214
                fprintf(mFile,"\"%s.cel.ec.ecb\"",mName.c_str());
 
215
        }
 
216
        void getUWave()const
 
217
        {
 
218
                fprintf(mFile,"\"%s.uw\"",mName.c_str());
 
219
        }
 
220
        void getVWave()const
 
221
        {
 
222
                fprintf(mFile,"\"%s.vw\"",mName.c_str());
 
223
        }
 
224
        void getNoise()const
 
225
        {
 
226
                fprintf(mFile,"\"%s.n\"",mName.c_str());
 
227
        }
 
228
        void getNoiseFreq()const
 
229
        {
 
230
                fprintf(mFile,"\"%s.nf\"",mName.c_str());
 
231
        }
 
232
        void getHueNoise()const
 
233
        {
 
234
                fprintf(mFile,"\"%s.hn\"",mName.c_str());
 
235
        }
 
236
        void getSatNoise()const
 
237
        {
 
238
                fprintf(mFile,"\"%s.sn\"",mName.c_str());
 
239
        }
 
240
        void getValNoise()const
 
241
        {
 
242
                fprintf(mFile,"\"%s.vn\"",mName.c_str());
 
243
        }
 
244
        void getHueNoiseFreq()const
 
245
        {
 
246
                fprintf(mFile,"\"%s.hnf\"",mName.c_str());
 
247
        }
 
248
        void getSatNoiseFreq()const
 
249
        {
 
250
                fprintf(mFile,"\"%s.snf\"",mName.c_str());
 
251
        }
 
252
        void getValNoiseFreq()const
 
253
        {
 
254
                fprintf(mFile,"\"%s.vnf\"",mName.c_str());
 
255
        }
 
256
protected:
 
257
        Ramp(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
 
258
                :Texture2d(file, name, parent, nodeType, shared, create) {}
 
259
 
 
260
};
 
261
}//namespace MayaDM
 
262
#endif//__MayaDM_RAMP_H__