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_CAMERA_H__
11 #define __MayaDM_CAMERA_H__
12 #include "MayaDMTypes.h"
13 #include "MayaDMConnectables.h"
14 #include "MayaDMShape.h"
15 namespace MayaDM
16 {
17 class Camera : public Shape
18 {
19 public:
20 	struct PostProjection{
21 		double preScale;
22 		double2 filmTranslate;
23 		struct FilmRollControl{
24 			double2 filmRollPivot;
25 			double filmRollValue;
26 			unsigned int filmRollOrder;
writePostProjection::FilmRollControl27 			void write(FILE* file) const
28 			{
29 				filmRollPivot.write(file);
30 				fprintf(file, " ");
31 				fprintf(file,"%f ", filmRollValue);
32 				fprintf(file,"%i", filmRollOrder);
33 			}
34 		} filmRollControl;
35 		double postScale;
writePostProjection36 		void write(FILE* file) const
37 		{
38 			fprintf(file,"%f ", preScale);
39 			filmTranslate.write(file);
40 			fprintf(file, " ");
41 			filmRollControl.write(file);
42 			fprintf(file, " ");
43 			fprintf(file,"%f", postScale);
44 		}
45 	};
46 	struct MentalRayControls{
47 		bool miFbComputeColor;
48 		short miFbBitsizeColor;
49 		bool miFbComputeAlpha;
50 		short miFbBitsizeAlpha;
51 		bool miFbComputeDepth;
52 		bool miFbComputeNormal;
53 		bool miFbComputeMotion;
54 		bool miFbComputeCoverage;
55 		bool miFbComputeTag;
56 		bool miFbComputeContour;
writeMentalRayControls57 		void write(FILE* file) const
58 		{
59 			fprintf(file,"%i ", miFbComputeColor);
60 			fprintf(file,"%i ", miFbBitsizeColor);
61 			fprintf(file,"%i ", miFbComputeAlpha);
62 			fprintf(file,"%i ", miFbBitsizeAlpha);
63 			fprintf(file,"%i ", miFbComputeDepth);
64 			fprintf(file,"%i ", miFbComputeNormal);
65 			fprintf(file,"%i ", miFbComputeMotion);
66 			fprintf(file,"%i ", miFbComputeCoverage);
67 			fprintf(file,"%i ", miFbComputeTag);
68 			fprintf(file,"%i ", miFbComputeContour);
69 		}
70 	};
71 public:
72 
Camera()73 	Camera():Shape(){}
74 	Camera(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
75 		:Shape(file, name, parent, "camera", shared, create){}
~Camera()76 	virtual ~Camera(){}
77 
setRenderable(bool rnd)78 	void setRenderable(bool rnd)
79 	{
80 		if(rnd == true) return;
81 		fprintf(mFile,"\tsetAttr \".rnd\" %i;\n", rnd);
82 	}
setCameraAperture(const double2 & cap)83 	void setCameraAperture(const double2& cap)
84 	{
85 		if(cap == double2(3.6, 2.4)) return;
86 		fprintf(mFile,"\tsetAttr \".cap\" -type \"double2\" ");
87 		cap.write(mFile);
88 		fprintf(mFile,";\n");
89 	}
setHorizontalFilmAperture(double hfa)90 	void setHorizontalFilmAperture(double hfa)
91 	{
92 		if(hfa == 0.0) return;
93 		fprintf(mFile,"\tsetAttr \".cap.hfa\" %f;\n", hfa);
94 	}
setVerticalFilmAperture(double vfa)95 	void setVerticalFilmAperture(double vfa)
96 	{
97 		if(vfa == 0.0) return;
98 		fprintf(mFile,"\tsetAttr \".cap.vfa\" %f;\n", vfa);
99 	}
setShakeOverscan(double sos)100 	void setShakeOverscan(double sos)
101 	{
102 		if(sos == 1.0) return;
103 		fprintf(mFile,"\tsetAttr \".sos\" %f;\n", sos);
104 	}
setShakeOverscanEnabled(bool soe)105 	void setShakeOverscanEnabled(bool soe)
106 	{
107 		if(soe == false) return;
108 		fprintf(mFile,"\tsetAttr \".soe\" %i;\n", soe);
109 	}
setFilmOffset(const double2 & fio)110 	void setFilmOffset(const double2& fio)
111 	{
112 		if(fio == double2(0.0, 0.0)) return;
113 		fprintf(mFile,"\tsetAttr \".fio\" -type \"double2\" ");
114 		fio.write(mFile);
115 		fprintf(mFile,";\n");
116 	}
setHorizontalFilmOffset(double hfo)117 	void setHorizontalFilmOffset(double hfo)
118 	{
119 		if(hfo == 0.0) return;
120 		fprintf(mFile,"\tsetAttr \".fio.hfo\" %f;\n", hfo);
121 	}
setVerticalFilmOffset(double vfo)122 	void setVerticalFilmOffset(double vfo)
123 	{
124 		if(vfo == 0.0) return;
125 		fprintf(mFile,"\tsetAttr \".fio.vfo\" %f;\n", vfo);
126 	}
setShakeEnabled(bool se)127 	void setShakeEnabled(bool se)
128 	{
129 		if(se == false) return;
130 		fprintf(mFile,"\tsetAttr \".se\" %i;\n", se);
131 	}
setShake(const double2 & shk)132 	void setShake(const double2& shk)
133 	{
134 		if(shk == double2(0.0, 0.0)) return;
135 		fprintf(mFile,"\tsetAttr \".shk\" -type \"double2\" ");
136 		shk.write(mFile);
137 		fprintf(mFile,";\n");
138 	}
setHorizontalShake(double hs)139 	void setHorizontalShake(double hs)
140 	{
141 		if(hs == 0.0) return;
142 		fprintf(mFile,"\tsetAttr \".shk.hs\" %f;\n", hs);
143 	}
setVerticalShake(double vs)144 	void setVerticalShake(double vs)
145 	{
146 		if(vs == 0.0) return;
147 		fprintf(mFile,"\tsetAttr \".shk.vs\" %f;\n", vs);
148 	}
setStereoHorizontalImageTranslateEnabled(bool hte)149 	void setStereoHorizontalImageTranslateEnabled(bool hte)
150 	{
151 		if(hte == false) return;
152 		fprintf(mFile,"\tsetAttr \".hte\" %i;\n", hte);
153 	}
setStereoHorizontalImageTranslate(double hit)154 	void setStereoHorizontalImageTranslate(double hit)
155 	{
156 		if(hit == 0.0) return;
157 		fprintf(mFile,"\tsetAttr \".hit\" %f;\n", hit);
158 	}
setPostProjection(const PostProjection & ppj)159 	void setPostProjection(const PostProjection& ppj)
160 	{
161 		fprintf(mFile,"\tsetAttr \".ppj\" ");
162 		ppj.write(mFile);
163 		fprintf(mFile,";\n");
164 	}
setPreScale(double psc)165 	void setPreScale(double psc)
166 	{
167 		if(psc == 1.0) return;
168 		fprintf(mFile,"\tsetAttr \".ppj.psc\" %f;\n", psc);
169 	}
setFilmTranslate(const double2 & ct)170 	void setFilmTranslate(const double2& ct)
171 	{
172 		if(ct == double2(0.0, 0.0)) return;
173 		fprintf(mFile,"\tsetAttr \".ppj.ct\" -type \"double2\" ");
174 		ct.write(mFile);
175 		fprintf(mFile,";\n");
176 	}
setFilmTranslateH(double fth)177 	void setFilmTranslateH(double fth)
178 	{
179 		if(fth == 0.0) return;
180 		fprintf(mFile,"\tsetAttr \".ppj.ct.fth\" %f;\n", fth);
181 	}
setFilmTranslateV(double ftv)182 	void setFilmTranslateV(double ftv)
183 	{
184 		if(ftv == 0.0) return;
185 		fprintf(mFile,"\tsetAttr \".ppj.ct.ftv\" %f;\n", ftv);
186 	}
setFilmRollControl(const PostProjection::FilmRollControl & frc)187 	void setFilmRollControl(const PostProjection::FilmRollControl& frc)
188 	{
189 		fprintf(mFile,"\tsetAttr \".ppj.frc\" ");
190 		frc.write(mFile);
191 		fprintf(mFile,";\n");
192 	}
setFilmRollPivot(const double2 & frp)193 	void setFilmRollPivot(const double2& frp)
194 	{
195 		if(frp == double2(0.0, 0.0)) return;
196 		fprintf(mFile,"\tsetAttr \".ppj.frc.frp\" -type \"double2\" ");
197 		frp.write(mFile);
198 		fprintf(mFile,";\n");
199 	}
setHorizontalRollPivot(double hrp)200 	void setHorizontalRollPivot(double hrp)
201 	{
202 		if(hrp == 0.0) return;
203 		fprintf(mFile,"\tsetAttr \".ppj.frc.frp.hrp\" %f;\n", hrp);
204 	}
setVerticalRollPivot(double vrp)205 	void setVerticalRollPivot(double vrp)
206 	{
207 		if(vrp == 0.0) return;
208 		fprintf(mFile,"\tsetAttr \".ppj.frc.frp.vrp\" %f;\n", vrp);
209 	}
setFilmRollValue(double frv)210 	void setFilmRollValue(double frv)
211 	{
212 		if(frv == 0) return;
213 		fprintf(mFile,"\tsetAttr \".ppj.frc.frv\" %f;\n", frv);
214 	}
setFilmRollOrder(unsigned int fro)215 	void setFilmRollOrder(unsigned int fro)
216 	{
217 		if(fro == 0) return;
218 		fprintf(mFile,"\tsetAttr \".ppj.frc.fro\" %i;\n", fro);
219 	}
setPostScale(double ptsc)220 	void setPostScale(double ptsc)
221 	{
222 		if(ptsc == 1.0) return;
223 		fprintf(mFile,"\tsetAttr \".ppj.ptsc\" %f;\n", ptsc);
224 	}
setFilmFit(unsigned int ff)225 	void setFilmFit(unsigned int ff)
226 	{
227 		if(ff == 1) return;
228 		fprintf(mFile,"\tsetAttr \".ff\" %i;\n", ff);
229 	}
setFilmFitOffset(double ffo)230 	void setFilmFitOffset(double ffo)
231 	{
232 		if(ffo == 0.0) return;
233 		fprintf(mFile,"\tsetAttr \".ffo\" %f;\n", ffo);
234 	}
setOverscan(double ovr)235 	void setOverscan(double ovr)
236 	{
237 		if(ovr == 1.0) return;
238 		fprintf(mFile,"\tsetAttr \".ovr\" %f;\n", ovr);
239 	}
setFocalLength(double fl)240 	void setFocalLength(double fl)
241 	{
242 		if(fl == 35.0) return;
243 		fprintf(mFile,"\tsetAttr \".fl\" %f;\n", fl);
244 	}
setLensSqueezeRatio(double lsr)245 	void setLensSqueezeRatio(double lsr)
246 	{
247 		if(lsr == 1.0) return;
248 		fprintf(mFile,"\tsetAttr \".lsr\" %f;\n", lsr);
249 	}
setCameraScale(double cs)250 	void setCameraScale(double cs)
251 	{
252 		if(cs == 1.0) return;
253 		fprintf(mFile,"\tsetAttr \".cs\" %f;\n", cs);
254 	}
setTriggerUpdate(double tu)255 	void setTriggerUpdate(double tu)
256 	{
257 		if(tu == 0.0) return;
258 		fprintf(mFile,"\tsetAttr \".tu\" %f;\n", tu);
259 	}
setNearClipPlane(double ncp)260 	void setNearClipPlane(double ncp)
261 	{
262 		if(ncp == 0) return;
263 		fprintf(mFile,"\tsetAttr \".ncp\" %f;\n", ncp);
264 	}
setFarClipPlane(double fcp)265 	void setFarClipPlane(double fcp)
266 	{
267 		if(fcp == 1) return;
268 		fprintf(mFile,"\tsetAttr \".fcp\" %f;\n", fcp);
269 	}
setFStop(double fs)270 	void setFStop(double fs)
271 	{
272 		if(fs == 5.6) return;
273 		fprintf(mFile,"\tsetAttr \".fs\" %f;\n", fs);
274 	}
setFocusDistance(double fd)275 	void setFocusDistance(double fd)
276 	{
277 		if(fd == 5) return;
278 		fprintf(mFile,"\tsetAttr \".fd\" %f;\n", fd);
279 	}
setShutterAngle(double sa)280 	void setShutterAngle(double sa)
281 	{
282 		if(sa == 1) return;
283 		fprintf(mFile,"\tsetAttr \".sa\" %f;\n", sa);
284 	}
setCenterOfInterest(double coi)285 	void setCenterOfInterest(double coi)
286 	{
287 		if(coi == 5) return;
288 		fprintf(mFile,"\tsetAttr \".coi\" %f;\n", coi);
289 	}
setOrthographicWidth(double ow)290 	void setOrthographicWidth(double ow)
291 	{
292 		if(ow == 1) return;
293 		fprintf(mFile,"\tsetAttr \".ow\" %f;\n", ow);
294 	}
setImageName(const string & imn)295 	void setImageName(const string& imn)
296 	{
297 		if(imn == "NULL") return;
298 		fprintf(mFile,"\tsetAttr \".imn\" -type \"string\" ");
299 		imn.write(mFile);
300 		fprintf(mFile,";\n");
301 	}
setDepthName(const string & den)302 	void setDepthName(const string& den)
303 	{
304 		if(den == "NULL") return;
305 		fprintf(mFile,"\tsetAttr \".den\" -type \"string\" ");
306 		den.write(mFile);
307 		fprintf(mFile,";\n");
308 	}
setMaskName(const string & man)309 	void setMaskName(const string& man)
310 	{
311 		if(man == "NULL") return;
312 		fprintf(mFile,"\tsetAttr \".man\" -type \"string\" ");
313 		man.write(mFile);
314 		fprintf(mFile,";\n");
315 	}
setTumblePivot(const double3 & tp)316 	void setTumblePivot(const double3& tp)
317 	{
318 		if(tp == double3(0.0, 0.0, 0.0)) return;
319 		fprintf(mFile,"\tsetAttr \".tp\" -type \"double3\" ");
320 		tp.write(mFile);
321 		fprintf(mFile,";\n");
322 	}
setTumblePivotX(double tpx)323 	void setTumblePivotX(double tpx)
324 	{
325 		if(tpx == 0.0) return;
326 		fprintf(mFile,"\tsetAttr \".tp.tpx\" %f;\n", tpx);
327 	}
setTumblePivotY(double tpy)328 	void setTumblePivotY(double tpy)
329 	{
330 		if(tpy == 0.0) return;
331 		fprintf(mFile,"\tsetAttr \".tp.tpy\" %f;\n", tpy);
332 	}
setTumblePivotZ(double tpz)333 	void setTumblePivotZ(double tpz)
334 	{
335 		if(tpz == 0.0) return;
336 		fprintf(mFile,"\tsetAttr \".tp.tpz\" %f;\n", tpz);
337 	}
setUsePivotAsLocalSpace(bool uls)338 	void setUsePivotAsLocalSpace(bool uls)
339 	{
340 		if(uls == 0) return;
341 		fprintf(mFile,"\tsetAttr \".uls\" %i;\n", uls);
342 	}
setHomeCommand(const string & hc)343 	void setHomeCommand(const string& hc)
344 	{
345 		if(hc == "NULL") return;
346 		fprintf(mFile,"\tsetAttr \".hc\" -type \"string\" ");
347 		hc.write(mFile);
348 		fprintf(mFile,";\n");
349 	}
setLocatorScale(double lls)350 	void setLocatorScale(double lls)
351 	{
352 		if(lls == 1.0) return;
353 		fprintf(mFile,"\tsetAttr \".lls\" %f;\n", lls);
354 	}
setDisplayFilmGate(bool dfg)355 	void setDisplayFilmGate(bool dfg)
356 	{
357 		if(dfg == false) return;
358 		fprintf(mFile,"\tsetAttr \".dfg\" %i;\n", dfg);
359 	}
setDisplayResolution(bool dr)360 	void setDisplayResolution(bool dr)
361 	{
362 		if(dr == false) return;
363 		fprintf(mFile,"\tsetAttr \".dr\" %i;\n", dr);
364 	}
setDisplaySafeAction(bool dsa)365 	void setDisplaySafeAction(bool dsa)
366 	{
367 		if(dsa == false) return;
368 		fprintf(mFile,"\tsetAttr \".dsa\" %i;\n", dsa);
369 	}
setDisplaySafeTitle(bool dst)370 	void setDisplaySafeTitle(bool dst)
371 	{
372 		if(dst == false) return;
373 		fprintf(mFile,"\tsetAttr \".dst\" %i;\n", dst);
374 	}
setDisplayFieldChart(bool dfc)375 	void setDisplayFieldChart(bool dfc)
376 	{
377 		if(dfc == false) return;
378 		fprintf(mFile,"\tsetAttr \".dfc\" %i;\n", dfc);
379 	}
setDisplayFilmPivot(bool dfp)380 	void setDisplayFilmPivot(bool dfp)
381 	{
382 		if(dfp == false) return;
383 		fprintf(mFile,"\tsetAttr \".dfp\" %i;\n", dfp);
384 	}
setDisplayFilmOrigin(bool dfo)385 	void setDisplayFilmOrigin(bool dfo)
386 	{
387 		if(dfo == false) return;
388 		fprintf(mFile,"\tsetAttr \".dfo\" %i;\n", dfo);
389 	}
setClippingPlanes(bool cp)390 	void setClippingPlanes(bool cp)
391 	{
392 		if(cp == true) return;
393 		fprintf(mFile,"\tsetAttr \".cp\" %i;\n", cp);
394 	}
setBestFitClippingPlanes(bool bfc)395 	void setBestFitClippingPlanes(bool bfc)
396 	{
397 		if(bfc == true) return;
398 		fprintf(mFile,"\tsetAttr \".bfc\" %i;\n", bfc);
399 	}
setDepthOfField(bool dof)400 	void setDepthOfField(bool dof)
401 	{
402 		if(dof == false) return;
403 		fprintf(mFile,"\tsetAttr \".dof\" %i;\n", dof);
404 	}
setMotionBlur(bool mb)405 	void setMotionBlur(bool mb)
406 	{
407 		if(mb == false) return;
408 		fprintf(mFile,"\tsetAttr \".mb\" %i;\n", mb);
409 	}
setOrthographic(bool o)410 	void setOrthographic(bool o)
411 	{
412 		if(o == false) return;
413 		fprintf(mFile,"\tsetAttr \".o\" %i;\n", o);
414 	}
setJournalCommand(bool jc)415 	void setJournalCommand(bool jc)
416 	{
417 		if(jc == false) return;
418 		fprintf(mFile,"\tsetAttr \".jc\" %i;\n", jc);
419 	}
setImage(bool img)420 	void setImage(bool img)
421 	{
422 		if(img == true) return;
423 		fprintf(mFile,"\tsetAttr \".img\" %i;\n", img);
424 	}
setDepth(bool dep)425 	void setDepth(bool dep)
426 	{
427 		if(dep == false) return;
428 		fprintf(mFile,"\tsetAttr \".dep\" %i;\n", dep);
429 	}
setTransparencyBasedDepth(bool tdth)430 	void setTransparencyBasedDepth(bool tdth)
431 	{
432 		if(tdth == true) return;
433 		fprintf(mFile,"\tsetAttr \".tdth\" %i;\n", tdth);
434 	}
setThreshold(double tthd)435 	void setThreshold(double tthd)
436 	{
437 		if(tthd == 0.9) return;
438 		fprintf(mFile,"\tsetAttr \".tthd\" %f;\n", tthd);
439 	}
setDepthType(unsigned int dptp)440 	void setDepthType(unsigned int dptp)
441 	{
442 		if(dptp == 1) return;
443 		fprintf(mFile,"\tsetAttr \".dptp\" %i;\n", dptp);
444 	}
setUseExploreDepthFormat(bool uexd)445 	void setUseExploreDepthFormat(bool uexd)
446 	{
447 		if(uexd == false) return;
448 		fprintf(mFile,"\tsetAttr \".uexd\" %i;\n", uexd);
449 	}
setMask(bool ma)450 	void setMask(bool ma)
451 	{
452 		if(ma == true) return;
453 		fprintf(mFile,"\tsetAttr \".ma\" %i;\n", ma);
454 	}
setBackgroundColor(const float3 & col)455 	void setBackgroundColor(const float3& col)
456 	{
457 		fprintf(mFile,"\tsetAttr \".col\" -type \"float3\" ");
458 		col.write(mFile);
459 		fprintf(mFile,";\n");
460 	}
setBackgroundColorR(float colr)461 	void setBackgroundColorR(float colr)
462 	{
463 		if(colr == 0.0) return;
464 		fprintf(mFile,"\tsetAttr \".col.colr\" %f;\n", colr);
465 	}
setBackgroundColorG(float colg)466 	void setBackgroundColorG(float colg)
467 	{
468 		if(colg == 0.0) return;
469 		fprintf(mFile,"\tsetAttr \".col.colg\" %f;\n", colg);
470 	}
setBackgroundColorB(float colb)471 	void setBackgroundColorB(float colb)
472 	{
473 		if(colb == 0.0) return;
474 		fprintf(mFile,"\tsetAttr \".col.colb\" %f;\n", colb);
475 	}
setFocusRegionScale(double frs)476 	void setFocusRegionScale(double frs)
477 	{
478 		if(frs == 1.0) return;
479 		fprintf(mFile,"\tsetAttr \".frs\" %f;\n", frs);
480 	}
setMentalRayControls(const MentalRayControls & mrc)481 	void setMentalRayControls(const MentalRayControls& mrc)
482 	{
483 		fprintf(mFile,"\tsetAttr \".mrc\" ");
484 		mrc.write(mFile);
485 		fprintf(mFile,";\n");
486 	}
setMiFbComputeColor(bool micc)487 	void setMiFbComputeColor(bool micc)
488 	{
489 		if(micc == true) return;
490 		fprintf(mFile,"\tsetAttr \".mrc.micc\" %i;\n", micc);
491 	}
setMiFbBitsizeColor(short mict)492 	void setMiFbBitsizeColor(short mict)
493 	{
494 		if(mict == 0) return;
495 		fprintf(mFile,"\tsetAttr \".mrc.mict\" %i;\n", mict);
496 	}
setMiFbComputeAlpha(bool mica)497 	void setMiFbComputeAlpha(bool mica)
498 	{
499 		if(mica == false) return;
500 		fprintf(mFile,"\tsetAttr \".mrc.mica\" %i;\n", mica);
501 	}
setMiFbBitsizeAlpha(short miat)502 	void setMiFbBitsizeAlpha(short miat)
503 	{
504 		if(miat == 0) return;
505 		fprintf(mFile,"\tsetAttr \".mrc.miat\" %i;\n", miat);
506 	}
setMiFbComputeDepth(bool micd)507 	void setMiFbComputeDepth(bool micd)
508 	{
509 		if(micd == false) return;
510 		fprintf(mFile,"\tsetAttr \".mrc.micd\" %i;\n", micd);
511 	}
setMiFbComputeNormal(bool micn)512 	void setMiFbComputeNormal(bool micn)
513 	{
514 		if(micn == false) return;
515 		fprintf(mFile,"\tsetAttr \".mrc.micn\" %i;\n", micn);
516 	}
setMiFbComputeMotion(bool micm)517 	void setMiFbComputeMotion(bool micm)
518 	{
519 		if(micm == false) return;
520 		fprintf(mFile,"\tsetAttr \".mrc.micm\" %i;\n", micm);
521 	}
setMiFbComputeCoverage(bool micv)522 	void setMiFbComputeCoverage(bool micv)
523 	{
524 		if(micv == false) return;
525 		fprintf(mFile,"\tsetAttr \".mrc.micv\" %i;\n", micv);
526 	}
setMiFbComputeTag(bool mitg)527 	void setMiFbComputeTag(bool mitg)
528 	{
529 		if(mitg == false) return;
530 		fprintf(mFile,"\tsetAttr \".mrc.mitg\" %i;\n", mitg);
531 	}
setMiFbComputeContour(bool mico)532 	void setMiFbComputeContour(bool mico)
533 	{
534 		if(mico == false) return;
535 		fprintf(mFile,"\tsetAttr \".mrc.mico\" %i;\n", mico);
536 	}
getRenderable()537 	void getRenderable()const
538 	{
539 		fprintf(mFile,"\"%s.rnd\"",mName.c_str());
540 	}
getCameraAperture()541 	void getCameraAperture()const
542 	{
543 		fprintf(mFile,"\"%s.cap\"",mName.c_str());
544 	}
getHorizontalFilmAperture()545 	void getHorizontalFilmAperture()const
546 	{
547 		fprintf(mFile,"\"%s.cap.hfa\"",mName.c_str());
548 	}
getVerticalFilmAperture()549 	void getVerticalFilmAperture()const
550 	{
551 		fprintf(mFile,"\"%s.cap.vfa\"",mName.c_str());
552 	}
getShakeOverscan()553 	void getShakeOverscan()const
554 	{
555 		fprintf(mFile,"\"%s.sos\"",mName.c_str());
556 	}
getShakeOverscanEnabled()557 	void getShakeOverscanEnabled()const
558 	{
559 		fprintf(mFile,"\"%s.soe\"",mName.c_str());
560 	}
getFilmOffset()561 	void getFilmOffset()const
562 	{
563 		fprintf(mFile,"\"%s.fio\"",mName.c_str());
564 	}
getHorizontalFilmOffset()565 	void getHorizontalFilmOffset()const
566 	{
567 		fprintf(mFile,"\"%s.fio.hfo\"",mName.c_str());
568 	}
getVerticalFilmOffset()569 	void getVerticalFilmOffset()const
570 	{
571 		fprintf(mFile,"\"%s.fio.vfo\"",mName.c_str());
572 	}
getShakeEnabled()573 	void getShakeEnabled()const
574 	{
575 		fprintf(mFile,"\"%s.se\"",mName.c_str());
576 	}
getShake()577 	void getShake()const
578 	{
579 		fprintf(mFile,"\"%s.shk\"",mName.c_str());
580 	}
getHorizontalShake()581 	void getHorizontalShake()const
582 	{
583 		fprintf(mFile,"\"%s.shk.hs\"",mName.c_str());
584 	}
getVerticalShake()585 	void getVerticalShake()const
586 	{
587 		fprintf(mFile,"\"%s.shk.vs\"",mName.c_str());
588 	}
getStereoHorizontalImageTranslateEnabled()589 	void getStereoHorizontalImageTranslateEnabled()const
590 	{
591 		fprintf(mFile,"\"%s.hte\"",mName.c_str());
592 	}
getStereoHorizontalImageTranslate()593 	void getStereoHorizontalImageTranslate()const
594 	{
595 		fprintf(mFile,"\"%s.hit\"",mName.c_str());
596 	}
getPostProjection()597 	void getPostProjection()const
598 	{
599 		fprintf(mFile,"\"%s.ppj\"",mName.c_str());
600 	}
getPreScale()601 	void getPreScale()const
602 	{
603 		fprintf(mFile,"\"%s.ppj.psc\"",mName.c_str());
604 	}
getFilmTranslate()605 	void getFilmTranslate()const
606 	{
607 		fprintf(mFile,"\"%s.ppj.ct\"",mName.c_str());
608 	}
getFilmTranslateH()609 	void getFilmTranslateH()const
610 	{
611 		fprintf(mFile,"\"%s.ppj.ct.fth\"",mName.c_str());
612 	}
getFilmTranslateV()613 	void getFilmTranslateV()const
614 	{
615 		fprintf(mFile,"\"%s.ppj.ct.ftv\"",mName.c_str());
616 	}
getFilmRollControl()617 	void getFilmRollControl()const
618 	{
619 		fprintf(mFile,"\"%s.ppj.frc\"",mName.c_str());
620 	}
getFilmRollPivot()621 	void getFilmRollPivot()const
622 	{
623 		fprintf(mFile,"\"%s.ppj.frc.frp\"",mName.c_str());
624 	}
getHorizontalRollPivot()625 	void getHorizontalRollPivot()const
626 	{
627 		fprintf(mFile,"\"%s.ppj.frc.frp.hrp\"",mName.c_str());
628 	}
getVerticalRollPivot()629 	void getVerticalRollPivot()const
630 	{
631 		fprintf(mFile,"\"%s.ppj.frc.frp.vrp\"",mName.c_str());
632 	}
getFilmRollValue()633 	void getFilmRollValue()const
634 	{
635 		fprintf(mFile,"\"%s.ppj.frc.frv\"",mName.c_str());
636 	}
getFilmRollOrder()637 	void getFilmRollOrder()const
638 	{
639 		fprintf(mFile,"\"%s.ppj.frc.fro\"",mName.c_str());
640 	}
getPostScale()641 	void getPostScale()const
642 	{
643 		fprintf(mFile,"\"%s.ppj.ptsc\"",mName.c_str());
644 	}
getFilmFit()645 	void getFilmFit()const
646 	{
647 		fprintf(mFile,"\"%s.ff\"",mName.c_str());
648 	}
getFilmFitOffset()649 	void getFilmFitOffset()const
650 	{
651 		fprintf(mFile,"\"%s.ffo\"",mName.c_str());
652 	}
getOverscan()653 	void getOverscan()const
654 	{
655 		fprintf(mFile,"\"%s.ovr\"",mName.c_str());
656 	}
getFocalLength()657 	void getFocalLength()const
658 	{
659 		fprintf(mFile,"\"%s.fl\"",mName.c_str());
660 	}
getLensSqueezeRatio()661 	void getLensSqueezeRatio()const
662 	{
663 		fprintf(mFile,"\"%s.lsr\"",mName.c_str());
664 	}
getCameraScale()665 	void getCameraScale()const
666 	{
667 		fprintf(mFile,"\"%s.cs\"",mName.c_str());
668 	}
getTriggerUpdate()669 	void getTriggerUpdate()const
670 	{
671 		fprintf(mFile,"\"%s.tu\"",mName.c_str());
672 	}
getNearClipPlane()673 	void getNearClipPlane()const
674 	{
675 		fprintf(mFile,"\"%s.ncp\"",mName.c_str());
676 	}
getFarClipPlane()677 	void getFarClipPlane()const
678 	{
679 		fprintf(mFile,"\"%s.fcp\"",mName.c_str());
680 	}
getFStop()681 	void getFStop()const
682 	{
683 		fprintf(mFile,"\"%s.fs\"",mName.c_str());
684 	}
getFocusDistance()685 	void getFocusDistance()const
686 	{
687 		fprintf(mFile,"\"%s.fd\"",mName.c_str());
688 	}
getShutterAngle()689 	void getShutterAngle()const
690 	{
691 		fprintf(mFile,"\"%s.sa\"",mName.c_str());
692 	}
getCenterOfInterest()693 	void getCenterOfInterest()const
694 	{
695 		fprintf(mFile,"\"%s.coi\"",mName.c_str());
696 	}
getOrthographicWidth()697 	void getOrthographicWidth()const
698 	{
699 		fprintf(mFile,"\"%s.ow\"",mName.c_str());
700 	}
getImageName()701 	void getImageName()const
702 	{
703 		fprintf(mFile,"\"%s.imn\"",mName.c_str());
704 	}
getDepthName()705 	void getDepthName()const
706 	{
707 		fprintf(mFile,"\"%s.den\"",mName.c_str());
708 	}
getMaskName()709 	void getMaskName()const
710 	{
711 		fprintf(mFile,"\"%s.man\"",mName.c_str());
712 	}
getTumblePivot()713 	void getTumblePivot()const
714 	{
715 		fprintf(mFile,"\"%s.tp\"",mName.c_str());
716 	}
getTumblePivotX()717 	void getTumblePivotX()const
718 	{
719 		fprintf(mFile,"\"%s.tp.tpx\"",mName.c_str());
720 	}
getTumblePivotY()721 	void getTumblePivotY()const
722 	{
723 		fprintf(mFile,"\"%s.tp.tpy\"",mName.c_str());
724 	}
getTumblePivotZ()725 	void getTumblePivotZ()const
726 	{
727 		fprintf(mFile,"\"%s.tp.tpz\"",mName.c_str());
728 	}
getUsePivotAsLocalSpace()729 	void getUsePivotAsLocalSpace()const
730 	{
731 		fprintf(mFile,"\"%s.uls\"",mName.c_str());
732 	}
getImagePlane(size_t ip_i)733 	void getImagePlane(size_t ip_i)const
734 	{
735 		fprintf(mFile,"\"%s.ip[%i]\"",mName.c_str(),ip_i);
736 	}
getImagePlane()737 	void getImagePlane()const
738 	{
739 
740 		fprintf(mFile,"\"%s.ip\"",mName.c_str());
741 	}
getHomeCommand()742 	void getHomeCommand()const
743 	{
744 		fprintf(mFile,"\"%s.hc\"",mName.c_str());
745 	}
getBookmarks(size_t b_i)746 	void getBookmarks(size_t b_i)const
747 	{
748 		fprintf(mFile,"\"%s.b[%i]\"",mName.c_str(),b_i);
749 	}
getBookmarks()750 	void getBookmarks()const
751 	{
752 
753 		fprintf(mFile,"\"%s.b\"",mName.c_str());
754 	}
getLocatorScale()755 	void getLocatorScale()const
756 	{
757 		fprintf(mFile,"\"%s.lls\"",mName.c_str());
758 	}
getDisplayFilmGate()759 	void getDisplayFilmGate()const
760 	{
761 		fprintf(mFile,"\"%s.dfg\"",mName.c_str());
762 	}
getDisplayResolution()763 	void getDisplayResolution()const
764 	{
765 		fprintf(mFile,"\"%s.dr\"",mName.c_str());
766 	}
getDisplaySafeAction()767 	void getDisplaySafeAction()const
768 	{
769 		fprintf(mFile,"\"%s.dsa\"",mName.c_str());
770 	}
getDisplaySafeTitle()771 	void getDisplaySafeTitle()const
772 	{
773 		fprintf(mFile,"\"%s.dst\"",mName.c_str());
774 	}
getDisplayFieldChart()775 	void getDisplayFieldChart()const
776 	{
777 		fprintf(mFile,"\"%s.dfc\"",mName.c_str());
778 	}
getDisplayFilmPivot()779 	void getDisplayFilmPivot()const
780 	{
781 		fprintf(mFile,"\"%s.dfp\"",mName.c_str());
782 	}
getDisplayFilmOrigin()783 	void getDisplayFilmOrigin()const
784 	{
785 		fprintf(mFile,"\"%s.dfo\"",mName.c_str());
786 	}
getClippingPlanes()787 	void getClippingPlanes()const
788 	{
789 		fprintf(mFile,"\"%s.cp\"",mName.c_str());
790 	}
getBestFitClippingPlanes()791 	void getBestFitClippingPlanes()const
792 	{
793 		fprintf(mFile,"\"%s.bfc\"",mName.c_str());
794 	}
getDepthOfField()795 	void getDepthOfField()const
796 	{
797 		fprintf(mFile,"\"%s.dof\"",mName.c_str());
798 	}
getMotionBlur()799 	void getMotionBlur()const
800 	{
801 		fprintf(mFile,"\"%s.mb\"",mName.c_str());
802 	}
getOrthographic()803 	void getOrthographic()const
804 	{
805 		fprintf(mFile,"\"%s.o\"",mName.c_str());
806 	}
getJournalCommand()807 	void getJournalCommand()const
808 	{
809 		fprintf(mFile,"\"%s.jc\"",mName.c_str());
810 	}
getImage()811 	void getImage()const
812 	{
813 		fprintf(mFile,"\"%s.img\"",mName.c_str());
814 	}
getDepth()815 	void getDepth()const
816 	{
817 		fprintf(mFile,"\"%s.dep\"",mName.c_str());
818 	}
getTransparencyBasedDepth()819 	void getTransparencyBasedDepth()const
820 	{
821 		fprintf(mFile,"\"%s.tdth\"",mName.c_str());
822 	}
getThreshold()823 	void getThreshold()const
824 	{
825 		fprintf(mFile,"\"%s.tthd\"",mName.c_str());
826 	}
getDepthType()827 	void getDepthType()const
828 	{
829 		fprintf(mFile,"\"%s.dptp\"",mName.c_str());
830 	}
getUseExploreDepthFormat()831 	void getUseExploreDepthFormat()const
832 	{
833 		fprintf(mFile,"\"%s.uexd\"",mName.c_str());
834 	}
getMask()835 	void getMask()const
836 	{
837 		fprintf(mFile,"\"%s.ma\"",mName.c_str());
838 	}
getBackgroundColor()839 	void getBackgroundColor()const
840 	{
841 		fprintf(mFile,"\"%s.col\"",mName.c_str());
842 	}
getBackgroundColorR()843 	void getBackgroundColorR()const
844 	{
845 		fprintf(mFile,"\"%s.col.colr\"",mName.c_str());
846 	}
getBackgroundColorG()847 	void getBackgroundColorG()const
848 	{
849 		fprintf(mFile,"\"%s.col.colg\"",mName.c_str());
850 	}
getBackgroundColorB()851 	void getBackgroundColorB()const
852 	{
853 		fprintf(mFile,"\"%s.col.colb\"",mName.c_str());
854 	}
getFocusRegionScale()855 	void getFocusRegionScale()const
856 	{
857 		fprintf(mFile,"\"%s.frs\"",mName.c_str());
858 	}
getMentalRayControls()859 	void getMentalRayControls()const
860 	{
861 		fprintf(mFile,"\"%s.mrc\"",mName.c_str());
862 	}
getMiOutputShader()863 	void getMiOutputShader()const
864 	{
865 		fprintf(mFile,"\"%s.mrc.mios\"",mName.c_str());
866 	}
getMiFbComputeColor()867 	void getMiFbComputeColor()const
868 	{
869 		fprintf(mFile,"\"%s.mrc.micc\"",mName.c_str());
870 	}
getMiFbBitsizeColor()871 	void getMiFbBitsizeColor()const
872 	{
873 		fprintf(mFile,"\"%s.mrc.mict\"",mName.c_str());
874 	}
getMiFbComputeAlpha()875 	void getMiFbComputeAlpha()const
876 	{
877 		fprintf(mFile,"\"%s.mrc.mica\"",mName.c_str());
878 	}
getMiFbBitsizeAlpha()879 	void getMiFbBitsizeAlpha()const
880 	{
881 		fprintf(mFile,"\"%s.mrc.miat\"",mName.c_str());
882 	}
getMiFbComputeDepth()883 	void getMiFbComputeDepth()const
884 	{
885 		fprintf(mFile,"\"%s.mrc.micd\"",mName.c_str());
886 	}
getMiFbComputeNormal()887 	void getMiFbComputeNormal()const
888 	{
889 		fprintf(mFile,"\"%s.mrc.micn\"",mName.c_str());
890 	}
getMiFbComputeMotion()891 	void getMiFbComputeMotion()const
892 	{
893 		fprintf(mFile,"\"%s.mrc.micm\"",mName.c_str());
894 	}
getMiFbComputeCoverage()895 	void getMiFbComputeCoverage()const
896 	{
897 		fprintf(mFile,"\"%s.mrc.micv\"",mName.c_str());
898 	}
getMiFbComputeTag()899 	void getMiFbComputeTag()const
900 	{
901 		fprintf(mFile,"\"%s.mrc.mitg\"",mName.c_str());
902 	}
getMiFbComputeContour()903 	void getMiFbComputeContour()const
904 	{
905 		fprintf(mFile,"\"%s.mrc.mico\"",mName.c_str());
906 	}
getMiVolumeShader()907 	void getMiVolumeShader()const
908 	{
909 		fprintf(mFile,"\"%s.mrc.mivs\"",mName.c_str());
910 	}
getMiLensShader()911 	void getMiLensShader()const
912 	{
913 		fprintf(mFile,"\"%s.mrc.mils\"",mName.c_str());
914 	}
getMiEnvironmentShader()915 	void getMiEnvironmentShader()const
916 	{
917 		fprintf(mFile,"\"%s.mrc.mies\"",mName.c_str());
918 	}
getMiOutputShaderList(size_t miol_i)919 	void getMiOutputShaderList(size_t miol_i)const
920 	{
921 		fprintf(mFile,"\"%s.mrc.miol[%i]\"",mName.c_str(),miol_i);
922 	}
getMiLensShaderList(size_t mill_i)923 	void getMiLensShaderList(size_t mill_i)const
924 	{
925 		fprintf(mFile,"\"%s.mrc.mill[%i]\"",mName.c_str(),mill_i);
926 	}
getMiRenderPassList(size_t mirp_i)927 	void getMiRenderPassList(size_t mirp_i)const
928 	{
929 		fprintf(mFile,"\"%s.mrc.mirp[%i]\"",mName.c_str(),mirp_i);
930 	}
931 protected:
932 	Camera(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
Shape(file,name,parent,nodeType,shared,create)933 		:Shape(file, name, parent, nodeType, shared, create) {}
934 
935 };
936 }//namespace MayaDM
937 #endif//__MayaDM_CAMERA_H__
938