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_IMAGEPLANE_H__
11 #define __MayaDM_IMAGEPLANE_H__
12 #include "MayaDMTypes.h"
13 #include "MayaDMConnectables.h"
14 #include "MayaDMDependNode.h"
15 namespace MayaDM
16 {
17 class ImagePlane : public DependNode
18 {
19 public:
20 public:
21 
ImagePlane()22 	ImagePlane():DependNode(){}
23 	ImagePlane(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
24 		:DependNode(file, name, parent, "imagePlane", shared, create){}
~ImagePlane()25 	virtual ~ImagePlane(){}
26 
setType(unsigned int t)27 	void setType(unsigned int t)
28 	{
29 		if(t == 0) return;
30 		fprintf(mFile,"\tsetAttr \".t\" %i;\n", t);
31 	}
setImageName(const string & imn)32 	void setImageName(const string& imn)
33 	{
34 		if(imn == "NULL") return;
35 		fprintf(mFile,"\tsetAttr \".imn\" -type \"string\" ");
36 		imn.write(mFile);
37 		fprintf(mFile,";\n");
38 	}
setUseFrameExtension(bool ufe)39 	void setUseFrameExtension(bool ufe)
40 	{
41 		if(ufe == false) return;
42 		fprintf(mFile,"\tsetAttr \".ufe\" %i;\n", ufe);
43 	}
setFrameExtension(int fe)44 	void setFrameExtension(int fe)
45 	{
46 		if(fe == 1) return;
47 		fprintf(mFile,"\tsetAttr \".fe\" %i;\n", fe);
48 	}
setFrameOffset(int fo)49 	void setFrameOffset(int fo)
50 	{
51 		if(fo == 0) return;
52 		fprintf(mFile,"\tsetAttr \".fo\" %i;\n", fo);
53 	}
setCoverage(const short2 & cov)54 	void setCoverage(const short2& cov)
55 	{
56 		if(cov == short2(1, 1)) return;
57 		fprintf(mFile,"\tsetAttr \".cov\" -type \"short2\" ");
58 		cov.write(mFile);
59 		fprintf(mFile,";\n");
60 	}
setCoverageX(short cvx)61 	void setCoverageX(short cvx)
62 	{
63 		if(cvx == 0) return;
64 		fprintf(mFile,"\tsetAttr \".cov.cvx\" %i;\n", cvx);
65 	}
setCoverageY(short cvy)66 	void setCoverageY(short cvy)
67 	{
68 		if(cvy == 0) return;
69 		fprintf(mFile,"\tsetAttr \".cov.cvy\" %i;\n", cvy);
70 	}
setCoverageOrigin(const short2 & co)71 	void setCoverageOrigin(const short2& co)
72 	{
73 		if(co == short2(0, 0)) return;
74 		fprintf(mFile,"\tsetAttr \".co\" -type \"short2\" ");
75 		co.write(mFile);
76 		fprintf(mFile,";\n");
77 	}
setCoverageOriginX(short cox)78 	void setCoverageOriginX(short cox)
79 	{
80 		if(cox == 0) return;
81 		fprintf(mFile,"\tsetAttr \".co.cox\" %i;\n", cox);
82 	}
setCoverageOriginY(short coy)83 	void setCoverageOriginY(short coy)
84 	{
85 		if(coy == 0) return;
86 		fprintf(mFile,"\tsetAttr \".co.coy\" %i;\n", coy);
87 	}
setFit(unsigned int f)88 	void setFit(unsigned int f)
89 	{
90 		if(f == 1) return;
91 		fprintf(mFile,"\tsetAttr \".f\" %i;\n", f);
92 	}
setDisplayMode(unsigned int dm)93 	void setDisplayMode(unsigned int dm)
94 	{
95 		if(dm == 3) return;
96 		fprintf(mFile,"\tsetAttr \".dm\" %i;\n", dm);
97 	}
setDisplayOnlyIfCurrent(bool dic)98 	void setDisplayOnlyIfCurrent(bool dic)
99 	{
100 		if(dic == false) return;
101 		fprintf(mFile,"\tsetAttr \".dic\" %i;\n", dic);
102 	}
setColorGain(const float3 & cg)103 	void setColorGain(const float3& cg)
104 	{
105 		if(cg == float3(1.0f,1.0f,1.0f)) return;
106 		fprintf(mFile,"\tsetAttr \".cg\" -type \"float3\" ");
107 		cg.write(mFile);
108 		fprintf(mFile,";\n");
109 	}
setColorGainR(float cgr)110 	void setColorGainR(float cgr)
111 	{
112 		if(cgr == 0.0) return;
113 		fprintf(mFile,"\tsetAttr \".cg.cgr\" %f;\n", cgr);
114 	}
setColorGainG(float cgg)115 	void setColorGainG(float cgg)
116 	{
117 		if(cgg == 0.0) return;
118 		fprintf(mFile,"\tsetAttr \".cg.cgg\" %f;\n", cgg);
119 	}
setColorGainB(float cgb)120 	void setColorGainB(float cgb)
121 	{
122 		if(cgb == 0.0) return;
123 		fprintf(mFile,"\tsetAttr \".cg.cgb\" %f;\n", cgb);
124 	}
setColorOffset(const float3 & cof)125 	void setColorOffset(const float3& cof)
126 	{
127 		if(cof == float3(0.0f,0.0f,0.0f)) return;
128 		fprintf(mFile,"\tsetAttr \".cof\" -type \"float3\" ");
129 		cof.write(mFile);
130 		fprintf(mFile,";\n");
131 	}
setColorOffsetR(float cor)132 	void setColorOffsetR(float cor)
133 	{
134 		if(cor == 0.0) return;
135 		fprintf(mFile,"\tsetAttr \".cof.cor\" %f;\n", cor);
136 	}
setColorOffsetG(float cog)137 	void setColorOffsetG(float cog)
138 	{
139 		if(cog == 0.0) return;
140 		fprintf(mFile,"\tsetAttr \".cof.cog\" %f;\n", cog);
141 	}
setColorOffsetB(float cob)142 	void setColorOffsetB(float cob)
143 	{
144 		if(cob == 0.0) return;
145 		fprintf(mFile,"\tsetAttr \".cof.cob\" %f;\n", cob);
146 	}
setAlphaGain(double ag)147 	void setAlphaGain(double ag)
148 	{
149 		if(ag == 1.0) return;
150 		fprintf(mFile,"\tsetAttr \".ag\" %f;\n", ag);
151 	}
setShadingSamplesOverride(bool sso)152 	void setShadingSamplesOverride(bool sso)
153 	{
154 		if(sso == true) return;
155 		fprintf(mFile,"\tsetAttr \".sso\" %i;\n", sso);
156 	}
setShadingSamples(int ssa)157 	void setShadingSamples(int ssa)
158 	{
159 		if(ssa == 1) return;
160 		fprintf(mFile,"\tsetAttr \".ssa\" %i;\n", ssa);
161 	}
setMaxShadingSamples(int msa)162 	void setMaxShadingSamples(int msa)
163 	{
164 		if(msa == 1) return;
165 		fprintf(mFile,"\tsetAttr \".msa\" %i;\n", msa);
166 	}
setLockedToCamera(bool dlc)167 	void setLockedToCamera(bool dlc)
168 	{
169 		if(dlc == true) return;
170 		fprintf(mFile,"\tsetAttr \".dlc\" %i;\n", dlc);
171 	}
setDepth(double d)172 	void setDepth(double d)
173 	{
174 		if(d == 1) return;
175 		fprintf(mFile,"\tsetAttr \".d\" %f;\n", d);
176 	}
setSqueezeCorrection(double sqc)177 	void setSqueezeCorrection(double sqc)
178 	{
179 		if(sqc == 1.0) return;
180 		fprintf(mFile,"\tsetAttr \".sqc\" %f;\n", sqc);
181 	}
setSize(const double2 & s)182 	void setSize(const double2& s)
183 	{
184 		if(s == double2(3.6, 2.4)) return;
185 		fprintf(mFile,"\tsetAttr \".s\" -type \"double2\" ");
186 		s.write(mFile);
187 		fprintf(mFile,";\n");
188 	}
setSizeX(double sx)189 	void setSizeX(double sx)
190 	{
191 		if(sx == 0.0) return;
192 		fprintf(mFile,"\tsetAttr \".s.sx\" %f;\n", sx);
193 	}
setSizeY(double sy)194 	void setSizeY(double sy)
195 	{
196 		if(sy == 0.0) return;
197 		fprintf(mFile,"\tsetAttr \".s.sy\" %f;\n", sy);
198 	}
setOffset(const double2 & o)199 	void setOffset(const double2& o)
200 	{
201 		if(o == double2(0.0, 0.0)) return;
202 		fprintf(mFile,"\tsetAttr \".o\" -type \"double2\" ");
203 		o.write(mFile);
204 		fprintf(mFile,";\n");
205 	}
setOffsetX(double ox)206 	void setOffsetX(double ox)
207 	{
208 		if(ox == 0.0) return;
209 		fprintf(mFile,"\tsetAttr \".o.ox\" %f;\n", ox);
210 	}
setOffsetY(double oy)211 	void setOffsetY(double oy)
212 	{
213 		if(oy == 0.0) return;
214 		fprintf(mFile,"\tsetAttr \".o.oy\" %f;\n", oy);
215 	}
setCenter(const double3 & c)216 	void setCenter(const double3& c)
217 	{
218 		if(c == double3(0.0, 0.0, 0.0)) return;
219 		fprintf(mFile,"\tsetAttr \".c\" -type \"double3\" ");
220 		c.write(mFile);
221 		fprintf(mFile,";\n");
222 	}
setCenterX(double cx)223 	void setCenterX(double cx)
224 	{
225 		if(cx == 0) return;
226 		fprintf(mFile,"\tsetAttr \".c.cx\" %f;\n", cx);
227 	}
setCenterY(double cy)228 	void setCenterY(double cy)
229 	{
230 		if(cy == 0) return;
231 		fprintf(mFile,"\tsetAttr \".c.cy\" %f;\n", cy);
232 	}
setCenterZ(double cz)233 	void setCenterZ(double cz)
234 	{
235 		if(cz == 0) return;
236 		fprintf(mFile,"\tsetAttr \".c.cz\" %f;\n", cz);
237 	}
setWidth(double w)238 	void setWidth(double w)
239 	{
240 		if(w == 0) return;
241 		fprintf(mFile,"\tsetAttr \".w\" %f;\n", w);
242 	}
setHeight(double h)243 	void setHeight(double h)
244 	{
245 		if(h == 0) return;
246 		fprintf(mFile,"\tsetAttr \".h\" %f;\n", h);
247 	}
setVisibleInReflections(bool vir)248 	void setVisibleInReflections(bool vir)
249 	{
250 		if(vir == false) return;
251 		fprintf(mFile,"\tsetAttr \".vir\" %i;\n", vir);
252 	}
setVisibleInRefractions(bool vif)253 	void setVisibleInRefractions(bool vif)
254 	{
255 		if(vif == false) return;
256 		fprintf(mFile,"\tsetAttr \".vif\" %i;\n", vif);
257 	}
setRotate(double r)258 	void setRotate(double r)
259 	{
260 		if(r == 0) return;
261 		fprintf(mFile,"\tsetAttr \".r\" %f;\n", r);
262 	}
setUseDepthMap(bool udm)263 	void setUseDepthMap(bool udm)
264 	{
265 		if(udm == false) return;
266 		fprintf(mFile,"\tsetAttr \".udm\" %i;\n", udm);
267 	}
setCompositeDepth(bool cmp)268 	void setCompositeDepth(bool cmp)
269 	{
270 		if(cmp == true) return;
271 		fprintf(mFile,"\tsetAttr \".cmp\" %i;\n", cmp);
272 	}
setAlreadyPremult(bool pre)273 	void setAlreadyPremult(bool pre)
274 	{
275 		if(pre == false) return;
276 		fprintf(mFile,"\tsetAttr \".pre\" %i;\n", pre);
277 	}
setDepthOversample(bool osp)278 	void setDepthOversample(bool osp)
279 	{
280 		if(osp == false) return;
281 		fprintf(mFile,"\tsetAttr \".osp\" %i;\n", osp);
282 	}
setSeparateDepth(bool sd)283 	void setSeparateDepth(bool sd)
284 	{
285 		if(sd == false) return;
286 		fprintf(mFile,"\tsetAttr \".sd\" %i;\n", sd);
287 	}
setDepthFile(const string & df)288 	void setDepthFile(const string& df)
289 	{
290 		if(df == "false") return;
291 		fprintf(mFile,"\tsetAttr \".df\" -type \"string\" ");
292 		df.write(mFile);
293 		fprintf(mFile,";\n");
294 	}
setDepthBias(double dg)295 	void setDepthBias(double dg)
296 	{
297 		if(dg == 0) return;
298 		fprintf(mFile,"\tsetAttr \".dg\" %f;\n", dg);
299 	}
setDepthScale(double ds)300 	void setDepthScale(double ds)
301 	{
302 		if(ds == 1.0) return;
303 		fprintf(mFile,"\tsetAttr \".ds\" %f;\n", ds);
304 	}
getType()305 	void getType()const
306 	{
307 		fprintf(mFile,"\"%s.t\"",mName.c_str());
308 	}
getImageName()309 	void getImageName()const
310 	{
311 		fprintf(mFile,"\"%s.imn\"",mName.c_str());
312 	}
getUseFrameExtension()313 	void getUseFrameExtension()const
314 	{
315 		fprintf(mFile,"\"%s.ufe\"",mName.c_str());
316 	}
getFrameExtension()317 	void getFrameExtension()const
318 	{
319 		fprintf(mFile,"\"%s.fe\"",mName.c_str());
320 	}
getFrameOffset()321 	void getFrameOffset()const
322 	{
323 		fprintf(mFile,"\"%s.fo\"",mName.c_str());
324 	}
getCoverage()325 	void getCoverage()const
326 	{
327 		fprintf(mFile,"\"%s.cov\"",mName.c_str());
328 	}
getCoverageX()329 	void getCoverageX()const
330 	{
331 		fprintf(mFile,"\"%s.cov.cvx\"",mName.c_str());
332 	}
getCoverageY()333 	void getCoverageY()const
334 	{
335 		fprintf(mFile,"\"%s.cov.cvy\"",mName.c_str());
336 	}
getCoverageOrigin()337 	void getCoverageOrigin()const
338 	{
339 		fprintf(mFile,"\"%s.co\"",mName.c_str());
340 	}
getCoverageOriginX()341 	void getCoverageOriginX()const
342 	{
343 		fprintf(mFile,"\"%s.co.cox\"",mName.c_str());
344 	}
getCoverageOriginY()345 	void getCoverageOriginY()const
346 	{
347 		fprintf(mFile,"\"%s.co.coy\"",mName.c_str());
348 	}
getSourceTexture()349 	void getSourceTexture()const
350 	{
351 		fprintf(mFile,"\"%s.stx\"",mName.c_str());
352 	}
getFit()353 	void getFit()const
354 	{
355 		fprintf(mFile,"\"%s.f\"",mName.c_str());
356 	}
getDisplayMode()357 	void getDisplayMode()const
358 	{
359 		fprintf(mFile,"\"%s.dm\"",mName.c_str());
360 	}
getDisplayOnlyIfCurrent()361 	void getDisplayOnlyIfCurrent()const
362 	{
363 		fprintf(mFile,"\"%s.dic\"",mName.c_str());
364 	}
getAlphaGain()365 	void getAlphaGain()const
366 	{
367 		fprintf(mFile,"\"%s.ag\"",mName.c_str());
368 	}
getShadingSamplesOverride()369 	void getShadingSamplesOverride()const
370 	{
371 		fprintf(mFile,"\"%s.sso\"",mName.c_str());
372 	}
getShadingSamples()373 	void getShadingSamples()const
374 	{
375 		fprintf(mFile,"\"%s.ssa\"",mName.c_str());
376 	}
getMaxShadingSamples()377 	void getMaxShadingSamples()const
378 	{
379 		fprintf(mFile,"\"%s.msa\"",mName.c_str());
380 	}
getLockedToCamera()381 	void getLockedToCamera()const
382 	{
383 		fprintf(mFile,"\"%s.dlc\"",mName.c_str());
384 	}
getDepth()385 	void getDepth()const
386 	{
387 		fprintf(mFile,"\"%s.d\"",mName.c_str());
388 	}
getSqueezeCorrection()389 	void getSqueezeCorrection()const
390 	{
391 		fprintf(mFile,"\"%s.sqc\"",mName.c_str());
392 	}
getSize()393 	void getSize()const
394 	{
395 		fprintf(mFile,"\"%s.s\"",mName.c_str());
396 	}
getSizeX()397 	void getSizeX()const
398 	{
399 		fprintf(mFile,"\"%s.s.sx\"",mName.c_str());
400 	}
getSizeY()401 	void getSizeY()const
402 	{
403 		fprintf(mFile,"\"%s.s.sy\"",mName.c_str());
404 	}
getOffset()405 	void getOffset()const
406 	{
407 		fprintf(mFile,"\"%s.o\"",mName.c_str());
408 	}
getOffsetX()409 	void getOffsetX()const
410 	{
411 		fprintf(mFile,"\"%s.o.ox\"",mName.c_str());
412 	}
getOffsetY()413 	void getOffsetY()const
414 	{
415 		fprintf(mFile,"\"%s.o.oy\"",mName.c_str());
416 	}
getCenter()417 	void getCenter()const
418 	{
419 		fprintf(mFile,"\"%s.c\"",mName.c_str());
420 	}
getCenterX()421 	void getCenterX()const
422 	{
423 		fprintf(mFile,"\"%s.c.cx\"",mName.c_str());
424 	}
getCenterY()425 	void getCenterY()const
426 	{
427 		fprintf(mFile,"\"%s.c.cy\"",mName.c_str());
428 	}
getCenterZ()429 	void getCenterZ()const
430 	{
431 		fprintf(mFile,"\"%s.c.cz\"",mName.c_str());
432 	}
getWidth()433 	void getWidth()const
434 	{
435 		fprintf(mFile,"\"%s.w\"",mName.c_str());
436 	}
getHeight()437 	void getHeight()const
438 	{
439 		fprintf(mFile,"\"%s.h\"",mName.c_str());
440 	}
getVisibleInReflections()441 	void getVisibleInReflections()const
442 	{
443 		fprintf(mFile,"\"%s.vir\"",mName.c_str());
444 	}
getVisibleInRefractions()445 	void getVisibleInRefractions()const
446 	{
447 		fprintf(mFile,"\"%s.vif\"",mName.c_str());
448 	}
getRotate()449 	void getRotate()const
450 	{
451 		fprintf(mFile,"\"%s.r\"",mName.c_str());
452 	}
getUseDepthMap()453 	void getUseDepthMap()const
454 	{
455 		fprintf(mFile,"\"%s.udm\"",mName.c_str());
456 	}
getCompositeDepth()457 	void getCompositeDepth()const
458 	{
459 		fprintf(mFile,"\"%s.cmp\"",mName.c_str());
460 	}
getAlreadyPremult()461 	void getAlreadyPremult()const
462 	{
463 		fprintf(mFile,"\"%s.pre\"",mName.c_str());
464 	}
getDepthOversample()465 	void getDepthOversample()const
466 	{
467 		fprintf(mFile,"\"%s.osp\"",mName.c_str());
468 	}
getSeparateDepth()469 	void getSeparateDepth()const
470 	{
471 		fprintf(mFile,"\"%s.sd\"",mName.c_str());
472 	}
getDepthFile()473 	void getDepthFile()const
474 	{
475 		fprintf(mFile,"\"%s.df\"",mName.c_str());
476 	}
getDepthBias()477 	void getDepthBias()const
478 	{
479 		fprintf(mFile,"\"%s.dg\"",mName.c_str());
480 	}
getDepthScale()481 	void getDepthScale()const
482 	{
483 		fprintf(mFile,"\"%s.ds\"",mName.c_str());
484 	}
485 protected:
486 	ImagePlane(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
DependNode(file,name,parent,nodeType,shared,create)487 		:DependNode(file, name, parent, nodeType, shared, create) {}
488 
489 };
490 }//namespace MayaDM
491 #endif//__MayaDM_IMAGEPLANE_H__
492