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_REMAPCOLOR_H__
11
#define __MayaDM_REMAPCOLOR_H__
12
#include "MayaDMTypes.h"
13
#include "MayaDMConnectables.h"
14
#include "MayaDMDependNode.h"
17
class RemapColor : public DependNode
23
unsigned int red_Interp;
24
void write(FILE* file) const
26
fprintf(file,"%f ", red_Position);
27
fprintf(file,"%f ", red_FloatValue);
28
fprintf(file,"%i", red_Interp);
33
float green_FloatValue;
34
unsigned int green_Interp;
35
void write(FILE* file) const
37
fprintf(file,"%f ", green_Position);
38
fprintf(file,"%f ", green_FloatValue);
39
fprintf(file,"%i", green_Interp);
44
float blue_FloatValue;
45
unsigned int blue_Interp;
46
void write(FILE* file) const
48
fprintf(file,"%f ", blue_Position);
49
fprintf(file,"%f ", blue_FloatValue);
50
fprintf(file,"%i", blue_Interp);
55
RemapColor():DependNode(){}
56
RemapColor(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
57
:DependNode(file, name, parent, "remapColor", shared, create){}
58
virtual ~RemapColor(){}
60
void setColor(const float3& cl)
62
fprintf(mFile,"\tsetAttr \".cl\" -type \"float3\" ");
66
void setColorR(float cr)
69
fprintf(mFile,"\tsetAttr \".cl.cr\" %f;\n", cr);
71
void setColorG(float cg)
74
fprintf(mFile,"\tsetAttr \".cl.cg\" %f;\n", cg);
76
void setColorB(float cb)
79
fprintf(mFile,"\tsetAttr \".cl.cb\" %f;\n", cb);
81
void setInputMin(float imn)
84
fprintf(mFile,"\tsetAttr \".imn\" %f;\n", imn);
86
void setInputMax(float imx)
89
fprintf(mFile,"\tsetAttr \".imx\" %f;\n", imx);
91
void setOutputMin(float omn)
94
fprintf(mFile,"\tsetAttr \".omn\" %f;\n", omn);
96
void setOutputMax(float omx)
99
fprintf(mFile,"\tsetAttr \".omx\" %f;\n", omx);
101
void setRed(size_t r_i,const Red& r)
103
fprintf(mFile,"\tsetAttr \".r[%i]\" ",r_i);
105
fprintf(mFile,";\n");
107
void setRed(size_t r_start,size_t r_end,Red* r)
109
fprintf(mFile,"\tsetAttr \".r[%i:%i]\" ", r_start,r_end);
110
size_t size = (r_end-r_start)*1+1;
111
for(size_t i=0;i<size;++i)
116
fprintf(mFile,";\n");
118
void startRed(size_t r_start,size_t r_end)const
120
fprintf(mFile,"\tsetAttr \".r[%i:%i]\"",r_start,r_end);
121
fprintf(mFile," -type \"Red\" ");
123
void appendRed(const Red& r)const
130
fprintf(mFile,";\n");
132
void setRed_Position(size_t r_i,float rp)
134
if(rp == 0.0) return;
135
fprintf(mFile,"\tsetAttr \".r[%i].rp\" %f;\n", r_i,rp);
137
void setRed_FloatValue(size_t r_i,float rfv)
139
if(rfv == 0.0) return;
140
fprintf(mFile,"\tsetAttr \".r[%i].rfv\" %f;\n", r_i,rfv);
142
void setRed_Interp(size_t r_i,unsigned int ri)
145
fprintf(mFile,"\tsetAttr \".r[%i].ri\" %i;\n", r_i,ri);
147
void setGreen(size_t g_i,const Green& g)
149
fprintf(mFile,"\tsetAttr \".g[%i]\" ",g_i);
151
fprintf(mFile,";\n");
153
void setGreen(size_t g_start,size_t g_end,Green* g)
155
fprintf(mFile,"\tsetAttr \".g[%i:%i]\" ", g_start,g_end);
156
size_t size = (g_end-g_start)*1+1;
157
for(size_t i=0;i<size;++i)
162
fprintf(mFile,";\n");
164
void startGreen(size_t g_start,size_t g_end)const
166
fprintf(mFile,"\tsetAttr \".g[%i:%i]\"",g_start,g_end);
167
fprintf(mFile," -type \"Green\" ");
169
void appendGreen(const Green& g)const
176
fprintf(mFile,";\n");
178
void setGreen_Position(size_t g_i,float gp)
180
if(gp == 0.0) return;
181
fprintf(mFile,"\tsetAttr \".g[%i].gp\" %f;\n", g_i,gp);
183
void setGreen_FloatValue(size_t g_i,float gfv)
185
if(gfv == 0.0) return;
186
fprintf(mFile,"\tsetAttr \".g[%i].gfv\" %f;\n", g_i,gfv);
188
void setGreen_Interp(size_t g_i,unsigned int gi)
191
fprintf(mFile,"\tsetAttr \".g[%i].gi\" %i;\n", g_i,gi);
193
void setBlue(size_t b_i,const Blue& b)
195
fprintf(mFile,"\tsetAttr \".b[%i]\" ",b_i);
197
fprintf(mFile,";\n");
199
void setBlue(size_t b_start,size_t b_end,Blue* b)
201
fprintf(mFile,"\tsetAttr \".b[%i:%i]\" ", b_start,b_end);
202
size_t size = (b_end-b_start)*1+1;
203
for(size_t i=0;i<size;++i)
208
fprintf(mFile,";\n");
210
void startBlue(size_t b_start,size_t b_end)const
212
fprintf(mFile,"\tsetAttr \".b[%i:%i]\"",b_start,b_end);
213
fprintf(mFile," -type \"Blue\" ");
215
void appendBlue(const Blue& b)const
222
fprintf(mFile,";\n");
224
void setBlue_Position(size_t b_i,float bp)
226
if(bp == 0.0) return;
227
fprintf(mFile,"\tsetAttr \".b[%i].bp\" %f;\n", b_i,bp);
229
void setBlue_FloatValue(size_t b_i,float bfv)
231
if(bfv == 0.0) return;
232
fprintf(mFile,"\tsetAttr \".b[%i].bfv\" %f;\n", b_i,bfv);
234
void setBlue_Interp(size_t b_i,unsigned int bi)
237
fprintf(mFile,"\tsetAttr \".b[%i].bi\" %i;\n", b_i,bi);
241
fprintf(mFile,"\"%s.cl\"",mName.c_str());
243
void getColorR()const
245
fprintf(mFile,"\"%s.cl.cr\"",mName.c_str());
247
void getColorG()const
249
fprintf(mFile,"\"%s.cl.cg\"",mName.c_str());
251
void getColorB()const
253
fprintf(mFile,"\"%s.cl.cb\"",mName.c_str());
255
void getInputMin()const
257
fprintf(mFile,"\"%s.imn\"",mName.c_str());
259
void getInputMax()const
261
fprintf(mFile,"\"%s.imx\"",mName.c_str());
263
void getOutputMin()const
265
fprintf(mFile,"\"%s.omn\"",mName.c_str());
267
void getOutputMax()const
269
fprintf(mFile,"\"%s.omx\"",mName.c_str());
271
void getRed(size_t r_i)const
273
fprintf(mFile,"\"%s.r[%i]\"",mName.c_str(),r_i);
278
fprintf(mFile,"\"%s.r\"",mName.c_str());
280
void getRed_Position(size_t r_i)const
282
fprintf(mFile,"\"%s.r[%i].rp\"",mName.c_str(),r_i);
284
void getRed_Position()const
287
fprintf(mFile,"\"%s.r.rp\"",mName.c_str());
289
void getRed_FloatValue(size_t r_i)const
291
fprintf(mFile,"\"%s.r[%i].rfv\"",mName.c_str(),r_i);
293
void getRed_FloatValue()const
296
fprintf(mFile,"\"%s.r.rfv\"",mName.c_str());
298
void getRed_Interp(size_t r_i)const
300
fprintf(mFile,"\"%s.r[%i].ri\"",mName.c_str(),r_i);
302
void getRed_Interp()const
305
fprintf(mFile,"\"%s.r.ri\"",mName.c_str());
307
void getGreen(size_t g_i)const
309
fprintf(mFile,"\"%s.g[%i]\"",mName.c_str(),g_i);
314
fprintf(mFile,"\"%s.g\"",mName.c_str());
316
void getGreen_Position(size_t g_i)const
318
fprintf(mFile,"\"%s.g[%i].gp\"",mName.c_str(),g_i);
320
void getGreen_Position()const
323
fprintf(mFile,"\"%s.g.gp\"",mName.c_str());
325
void getGreen_FloatValue(size_t g_i)const
327
fprintf(mFile,"\"%s.g[%i].gfv\"",mName.c_str(),g_i);
329
void getGreen_FloatValue()const
332
fprintf(mFile,"\"%s.g.gfv\"",mName.c_str());
334
void getGreen_Interp(size_t g_i)const
336
fprintf(mFile,"\"%s.g[%i].gi\"",mName.c_str(),g_i);
338
void getGreen_Interp()const
341
fprintf(mFile,"\"%s.g.gi\"",mName.c_str());
343
void getBlue(size_t b_i)const
345
fprintf(mFile,"\"%s.b[%i]\"",mName.c_str(),b_i);
350
fprintf(mFile,"\"%s.b\"",mName.c_str());
352
void getBlue_Position(size_t b_i)const
354
fprintf(mFile,"\"%s.b[%i].bp\"",mName.c_str(),b_i);
356
void getBlue_Position()const
359
fprintf(mFile,"\"%s.b.bp\"",mName.c_str());
361
void getBlue_FloatValue(size_t b_i)const
363
fprintf(mFile,"\"%s.b[%i].bfv\"",mName.c_str(),b_i);
365
void getBlue_FloatValue()const
368
fprintf(mFile,"\"%s.b.bfv\"",mName.c_str());
370
void getBlue_Interp(size_t b_i)const
372
fprintf(mFile,"\"%s.b[%i].bi\"",mName.c_str(),b_i);
374
void getBlue_Interp()const
377
fprintf(mFile,"\"%s.b.bi\"",mName.c_str());
379
void getOutColor()const
381
fprintf(mFile,"\"%s.oc\"",mName.c_str());
383
void getOutColorR()const
385
fprintf(mFile,"\"%s.oc.ocr\"",mName.c_str());
387
void getOutColorG()const
389
fprintf(mFile,"\"%s.oc.ocg\"",mName.c_str());
391
void getOutColorB()const
393
fprintf(mFile,"\"%s.oc.ocb\"",mName.c_str());
396
RemapColor(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
397
:DependNode(file, name, parent, nodeType, shared, create) {}
401
#endif//__MayaDM_REMAPCOLOR_H__