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_AREALIGHT_H__
11 #define __MayaDM_AREALIGHT_H__
12 #include "MayaDMTypes.h"
13 #include "MayaDMConnectables.h"
14 #include "MayaDMNonExtendedLightShapeNode.h"
15 namespace MayaDM
16 {
17 class AreaLight : public NonExtendedLightShapeNode
18 {
19 public:
20 	struct MentalRayControls{
21 		bool miExportMrLight;
22 		bool emitPhotons;
23 		float3 energy;
24 		float photonIntensity;
25 		float exponent;
26 		int causticPhotons;
27 		int causticPhotonsEmit;
28 		int globIllPhotons;
29 		int globIllPhotonsEmit;
30 		bool shadowMap;
31 		int smapResolution;
32 		short smapSamples;
33 		float smapSoftness;
34 		float smapBias;
35 		string smapFilename;
36 		bool smapLightName;
37 		bool smapSceneName;
38 		bool smapFrameExt;
39 		bool smapDetail;
40 		short smapDetailSamples;
41 		float smapDetailAccuracy;
42 		bool smapDetailAlpha;
43 		struct SmapWindow{
44 			short smapWindowXMin;
45 			short smapWindowYMin;
46 			short smapWindowXMax;
47 			short smapWindowYMax;
writeMentalRayControls::SmapWindow48 			void write(FILE* file) const
49 			{
50 				fprintf(file,"%i ", smapWindowXMin);
51 				fprintf(file,"%i ", smapWindowYMin);
52 				fprintf(file,"%i ", smapWindowXMax);
53 				fprintf(file,"%i", smapWindowYMax);
54 			}
55 		} smapWindow;
56 		bool smapMerge;
57 		bool smapTrace;
58 		bool areaLight;
59 		unsigned int areaType;
60 		float areaShapeIntensity;
61 		short areaHiSamples;
62 		short areaHiSampleLimit;
63 		short areaLoSamples;
64 		bool areaVisible;
writeMentalRayControls65 		void write(FILE* file) const
66 		{
67 			fprintf(file,"%i ", miExportMrLight);
68 			fprintf(file,"%i ", emitPhotons);
69 			energy.write(file);
70 			fprintf(file, " ");
71 			fprintf(file,"%f ", photonIntensity);
72 			fprintf(file,"%f ", exponent);
73 			fprintf(file,"%i ", causticPhotons);
74 			fprintf(file,"%i ", causticPhotonsEmit);
75 			fprintf(file,"%i ", globIllPhotons);
76 			fprintf(file,"%i ", globIllPhotonsEmit);
77 			fprintf(file,"%i ", shadowMap);
78 			fprintf(file,"%i ", smapResolution);
79 			fprintf(file,"%i ", smapSamples);
80 			fprintf(file,"%f ", smapSoftness);
81 			fprintf(file,"%f ", smapBias);
82 			smapFilename.write(file);
83 			fprintf(file, " ");
84 			fprintf(file,"%i ", smapLightName);
85 			fprintf(file,"%i ", smapSceneName);
86 			fprintf(file,"%i ", smapFrameExt);
87 			fprintf(file,"%i ", smapDetail);
88 			fprintf(file,"%i ", smapDetailSamples);
89 			fprintf(file,"%f ", smapDetailAccuracy);
90 			fprintf(file,"%i ", smapDetailAlpha);
91 			smapWindow.write(file);
92 			fprintf(file, " ");
93 			fprintf(file,"%i ", smapMerge);
94 			fprintf(file,"%i ", smapTrace);
95 			fprintf(file,"%i ", areaLight);
96 			fprintf(file,"%i ", areaType);
97 			fprintf(file,"%f ", areaShapeIntensity);
98 			fprintf(file,"%i ", areaHiSamples);
99 			fprintf(file,"%i ", areaHiSampleLimit);
100 			fprintf(file,"%i ", areaLoSamples);
101 			fprintf(file,"%i ", areaVisible);
102 		}
103 	};
104 public:
105 
AreaLight()106 	AreaLight():NonExtendedLightShapeNode(){}
107 	AreaLight(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true)
108 		:NonExtendedLightShapeNode(file, name, parent, "areaLight", shared, create){}
~AreaLight()109 	virtual ~AreaLight(){}
110 
setPointWorld(const float3 & pw)111 	void setPointWorld(const float3& pw)
112 	{
113 		if(pw == float3(1.0f,1.0f,1.0f)) return;
114 		fprintf(mFile,"\tsetAttr \".pw\" -type \"float3\" ");
115 		pw.write(mFile);
116 		fprintf(mFile,";\n");
117 	}
setPointWorldX(float tx)118 	void setPointWorldX(float tx)
119 	{
120 		if(tx == 0.0) return;
121 		fprintf(mFile,"\tsetAttr \".pw.tx\" %f;\n", tx);
122 	}
setPointWorldY(float ty)123 	void setPointWorldY(float ty)
124 	{
125 		if(ty == 0.0) return;
126 		fprintf(mFile,"\tsetAttr \".pw.ty\" %f;\n", ty);
127 	}
setPointWorldZ(float tz)128 	void setPointWorldZ(float tz)
129 	{
130 		if(tz == 0.0) return;
131 		fprintf(mFile,"\tsetAttr \".pw.tz\" %f;\n", tz);
132 	}
setObjectType(char ot)133 	void setObjectType(char ot)
134 	{
135 		if(ot == 1) return;
136 		fprintf(mFile,"\tsetAttr \".ot\" %;\n", ot);
137 	}
setMentalRayControls(const MentalRayControls & mrc)138 	void setMentalRayControls(const MentalRayControls& mrc)
139 	{
140 		fprintf(mFile,"\tsetAttr \".mrc\" ");
141 		mrc.write(mFile);
142 		fprintf(mFile,";\n");
143 	}
setMiExportMrLight(bool milt)144 	void setMiExportMrLight(bool milt)
145 	{
146 		if(milt == false) return;
147 		fprintf(mFile,"\tsetAttr \".mrc.milt\" %i;\n", milt);
148 	}
setEmitPhotons(bool phot)149 	void setEmitPhotons(bool phot)
150 	{
151 		if(phot == false) return;
152 		fprintf(mFile,"\tsetAttr \".mrc.phot\" %i;\n", phot);
153 	}
setEnergy(const float3 & eng)154 	void setEnergy(const float3& eng)
155 	{
156 		fprintf(mFile,"\tsetAttr \".mrc.eng\" -type \"float3\" ");
157 		eng.write(mFile);
158 		fprintf(mFile,";\n");
159 	}
setEnergyR(float engr)160 	void setEnergyR(float engr)
161 	{
162 		if(engr == 8000) return;
163 		fprintf(mFile,"\tsetAttr \".mrc.eng.engr\" %f;\n", engr);
164 	}
setEnergyG(float engg)165 	void setEnergyG(float engg)
166 	{
167 		if(engg == 8000) return;
168 		fprintf(mFile,"\tsetAttr \".mrc.eng.engg\" %f;\n", engg);
169 	}
setEnergyB(float engb)170 	void setEnergyB(float engb)
171 	{
172 		if(engb == 8000) return;
173 		fprintf(mFile,"\tsetAttr \".mrc.eng.engb\" %f;\n", engb);
174 	}
setPhotonIntensity(float phi)175 	void setPhotonIntensity(float phi)
176 	{
177 		if(phi == 1) return;
178 		fprintf(mFile,"\tsetAttr \".mrc.phi\" %f;\n", phi);
179 	}
setExponent(float exp)180 	void setExponent(float exp)
181 	{
182 		if(exp == 2) return;
183 		fprintf(mFile,"\tsetAttr \".mrc.exp\" %f;\n", exp);
184 	}
setCausticPhotons(int cph)185 	void setCausticPhotons(int cph)
186 	{
187 		if(cph == 10000) return;
188 		fprintf(mFile,"\tsetAttr \".mrc.cph\" %i;\n", cph);
189 	}
setCausticPhotonsEmit(int cphe)190 	void setCausticPhotonsEmit(int cphe)
191 	{
192 		if(cphe == 0) return;
193 		fprintf(mFile,"\tsetAttr \".mrc.cphe\" %i;\n", cphe);
194 	}
setGlobIllPhotons(int gph)195 	void setGlobIllPhotons(int gph)
196 	{
197 		if(gph == 10000) return;
198 		fprintf(mFile,"\tsetAttr \".mrc.gph\" %i;\n", gph);
199 	}
setGlobIllPhotonsEmit(int gphe)200 	void setGlobIllPhotonsEmit(int gphe)
201 	{
202 		if(gphe == 0) return;
203 		fprintf(mFile,"\tsetAttr \".mrc.gphe\" %i;\n", gphe);
204 	}
setShadowMap(bool usm)205 	void setShadowMap(bool usm)
206 	{
207 		if(usm == false) return;
208 		fprintf(mFile,"\tsetAttr \".mrc.usm\" %i;\n", usm);
209 	}
setSmapResolution(int smr)210 	void setSmapResolution(int smr)
211 	{
212 		if(smr == 256) return;
213 		fprintf(mFile,"\tsetAttr \".mrc.smr\" %i;\n", smr);
214 	}
setSmapSamples(short smsa)215 	void setSmapSamples(short smsa)
216 	{
217 		if(smsa == 1) return;
218 		fprintf(mFile,"\tsetAttr \".mrc.smsa\" %i;\n", smsa);
219 	}
setSmapSoftness(float smso)220 	void setSmapSoftness(float smso)
221 	{
222 		if(smso == 0) return;
223 		fprintf(mFile,"\tsetAttr \".mrc.smso\" %f;\n", smso);
224 	}
setSmapBias(float smb)225 	void setSmapBias(float smb)
226 	{
227 		if(smb == 0) return;
228 		fprintf(mFile,"\tsetAttr \".mrc.smb\" %f;\n", smb);
229 	}
setSmapFilename(const string & smf)230 	void setSmapFilename(const string& smf)
231 	{
232 		if(smf == "NULL") return;
233 		fprintf(mFile,"\tsetAttr \".mrc.smf\" -type \"string\" ");
234 		smf.write(mFile);
235 		fprintf(mFile,";\n");
236 	}
setSmapLightName(bool smln)237 	void setSmapLightName(bool smln)
238 	{
239 		if(smln == 0) return;
240 		fprintf(mFile,"\tsetAttr \".mrc.smln\" %i;\n", smln);
241 	}
setSmapSceneName(bool smsn)242 	void setSmapSceneName(bool smsn)
243 	{
244 		if(smsn == 0) return;
245 		fprintf(mFile,"\tsetAttr \".mrc.smsn\" %i;\n", smsn);
246 	}
setSmapFrameExt(bool smfe)247 	void setSmapFrameExt(bool smfe)
248 	{
249 		if(smfe == 0) return;
250 		fprintf(mFile,"\tsetAttr \".mrc.smfe\" %i;\n", smfe);
251 	}
setSmapDetail(bool smd)252 	void setSmapDetail(bool smd)
253 	{
254 		if(smd == 0) return;
255 		fprintf(mFile,"\tsetAttr \".mrc.smd\" %i;\n", smd);
256 	}
setSmapDetailSamples(short sds)257 	void setSmapDetailSamples(short sds)
258 	{
259 		if(sds == 0) return;
260 		fprintf(mFile,"\tsetAttr \".mrc.sds\" %i;\n", sds);
261 	}
setSmapDetailAccuracy(float sdac)262 	void setSmapDetailAccuracy(float sdac)
263 	{
264 		if(sdac == 0) return;
265 		fprintf(mFile,"\tsetAttr \".mrc.sdac\" %f;\n", sdac);
266 	}
setSmapDetailAlpha(bool sdal)267 	void setSmapDetailAlpha(bool sdal)
268 	{
269 		if(sdal == 0) return;
270 		fprintf(mFile,"\tsetAttr \".mrc.sdal\" %i;\n", sdal);
271 	}
setSmapWindow(const MentalRayControls::SmapWindow & smw)272 	void setSmapWindow(const MentalRayControls::SmapWindow& smw)
273 	{
274 		fprintf(mFile,"\tsetAttr \".mrc.smw\" ");
275 		smw.write(mFile);
276 		fprintf(mFile,";\n");
277 	}
setSmapWindowXMin(short smxl)278 	void setSmapWindowXMin(short smxl)
279 	{
280 		if(smxl == 0) return;
281 		fprintf(mFile,"\tsetAttr \".mrc.smw.smxl\" %i;\n", smxl);
282 	}
setSmapWindowYMin(short smyl)283 	void setSmapWindowYMin(short smyl)
284 	{
285 		if(smyl == 0) return;
286 		fprintf(mFile,"\tsetAttr \".mrc.smw.smyl\" %i;\n", smyl);
287 	}
setSmapWindowXMax(short smxh)288 	void setSmapWindowXMax(short smxh)
289 	{
290 		if(smxh == 0) return;
291 		fprintf(mFile,"\tsetAttr \".mrc.smw.smxh\" %i;\n", smxh);
292 	}
setSmapWindowYMax(short smyh)293 	void setSmapWindowYMax(short smyh)
294 	{
295 		if(smyh == 0) return;
296 		fprintf(mFile,"\tsetAttr \".mrc.smw.smyh\" %i;\n", smyh);
297 	}
setSmapMerge(bool smm)298 	void setSmapMerge(bool smm)
299 	{
300 		if(smm == 0) return;
301 		fprintf(mFile,"\tsetAttr \".mrc.smm\" %i;\n", smm);
302 	}
setSmapTrace(bool smt)303 	void setSmapTrace(bool smt)
304 	{
305 		if(smt == 0) return;
306 		fprintf(mFile,"\tsetAttr \".mrc.smt\" %i;\n", smt);
307 	}
setAreaLight(bool algt)308 	void setAreaLight(bool algt)
309 	{
310 		if(algt == false) return;
311 		fprintf(mFile,"\tsetAttr \".mrc.algt\" %i;\n", algt);
312 	}
setAreaType(unsigned int atyp)313 	void setAreaType(unsigned int atyp)
314 	{
315 		if(atyp == 0) return;
316 		fprintf(mFile,"\tsetAttr \".mrc.atyp\" %i;\n", atyp);
317 	}
setAreaShapeIntensity(float alsi)318 	void setAreaShapeIntensity(float alsi)
319 	{
320 		if(alsi == 1.0) return;
321 		fprintf(mFile,"\tsetAttr \".mrc.alsi\" %f;\n", alsi);
322 	}
setAreaHiSamples(short ahs)323 	void setAreaHiSamples(short ahs)
324 	{
325 		if(ahs == 8) return;
326 		fprintf(mFile,"\tsetAttr \".mrc.ahs\" %i;\n", ahs);
327 	}
setAreaHiSampleLimit(short alev)328 	void setAreaHiSampleLimit(short alev)
329 	{
330 		if(alev == 1) return;
331 		fprintf(mFile,"\tsetAttr \".mrc.alev\" %i;\n", alev);
332 	}
setAreaLoSamples(short als)333 	void setAreaLoSamples(short als)
334 	{
335 		if(als == 1) return;
336 		fprintf(mFile,"\tsetAttr \".mrc.als\" %i;\n", als);
337 	}
setAreaVisible(bool avis)338 	void setAreaVisible(bool avis)
339 	{
340 		if(avis == 0) return;
341 		fprintf(mFile,"\tsetAttr \".mrc.avis\" %i;\n", avis);
342 	}
getLightGlow()343 	void getLightGlow()const
344 	{
345 		fprintf(mFile,"\"%s.lg\"",mName.c_str());
346 	}
getPointWorld()347 	void getPointWorld()const
348 	{
349 		fprintf(mFile,"\"%s.pw\"",mName.c_str());
350 	}
getPointWorldX()351 	void getPointWorldX()const
352 	{
353 		fprintf(mFile,"\"%s.pw.tx\"",mName.c_str());
354 	}
getPointWorldY()355 	void getPointWorldY()const
356 	{
357 		fprintf(mFile,"\"%s.pw.ty\"",mName.c_str());
358 	}
getPointWorldZ()359 	void getPointWorldZ()const
360 	{
361 		fprintf(mFile,"\"%s.pw.tz\"",mName.c_str());
362 	}
getNormalCamera()363 	void getNormalCamera()const
364 	{
365 		fprintf(mFile,"\"%s.n\"",mName.c_str());
366 	}
getNormalCameraX()367 	void getNormalCameraX()const
368 	{
369 		fprintf(mFile,"\"%s.n.nx\"",mName.c_str());
370 	}
getNormalCameraY()371 	void getNormalCameraY()const
372 	{
373 		fprintf(mFile,"\"%s.n.ny\"",mName.c_str());
374 	}
getNormalCameraZ()375 	void getNormalCameraZ()const
376 	{
377 		fprintf(mFile,"\"%s.n.nz\"",mName.c_str());
378 	}
getObjectType()379 	void getObjectType()const
380 	{
381 		fprintf(mFile,"\"%s.ot\"",mName.c_str());
382 	}
getMentalRayControls()383 	void getMentalRayControls()const
384 	{
385 		fprintf(mFile,"\"%s.mrc\"",mName.c_str());
386 	}
getMiExportMrLight()387 	void getMiExportMrLight()const
388 	{
389 		fprintf(mFile,"\"%s.mrc.milt\"",mName.c_str());
390 	}
getMiLightShader()391 	void getMiLightShader()const
392 	{
393 		fprintf(mFile,"\"%s.mrc.mils\"",mName.c_str());
394 	}
getMiPhotonEmitter()395 	void getMiPhotonEmitter()const
396 	{
397 		fprintf(mFile,"\"%s.mrc.mipe\"",mName.c_str());
398 	}
getEmitPhotons()399 	void getEmitPhotons()const
400 	{
401 		fprintf(mFile,"\"%s.mrc.phot\"",mName.c_str());
402 	}
getEnergy()403 	void getEnergy()const
404 	{
405 		fprintf(mFile,"\"%s.mrc.eng\"",mName.c_str());
406 	}
getEnergyR()407 	void getEnergyR()const
408 	{
409 		fprintf(mFile,"\"%s.mrc.eng.engr\"",mName.c_str());
410 	}
getEnergyG()411 	void getEnergyG()const
412 	{
413 		fprintf(mFile,"\"%s.mrc.eng.engg\"",mName.c_str());
414 	}
getEnergyB()415 	void getEnergyB()const
416 	{
417 		fprintf(mFile,"\"%s.mrc.eng.engb\"",mName.c_str());
418 	}
getPhotonIntensity()419 	void getPhotonIntensity()const
420 	{
421 		fprintf(mFile,"\"%s.mrc.phi\"",mName.c_str());
422 	}
getExponent()423 	void getExponent()const
424 	{
425 		fprintf(mFile,"\"%s.mrc.exp\"",mName.c_str());
426 	}
getCausticPhotons()427 	void getCausticPhotons()const
428 	{
429 		fprintf(mFile,"\"%s.mrc.cph\"",mName.c_str());
430 	}
getCausticPhotonsEmit()431 	void getCausticPhotonsEmit()const
432 	{
433 		fprintf(mFile,"\"%s.mrc.cphe\"",mName.c_str());
434 	}
getGlobIllPhotons()435 	void getGlobIllPhotons()const
436 	{
437 		fprintf(mFile,"\"%s.mrc.gph\"",mName.c_str());
438 	}
getGlobIllPhotonsEmit()439 	void getGlobIllPhotonsEmit()const
440 	{
441 		fprintf(mFile,"\"%s.mrc.gphe\"",mName.c_str());
442 	}
getShadowMap()443 	void getShadowMap()const
444 	{
445 		fprintf(mFile,"\"%s.mrc.usm\"",mName.c_str());
446 	}
getSmapResolution()447 	void getSmapResolution()const
448 	{
449 		fprintf(mFile,"\"%s.mrc.smr\"",mName.c_str());
450 	}
getSmapSamples()451 	void getSmapSamples()const
452 	{
453 		fprintf(mFile,"\"%s.mrc.smsa\"",mName.c_str());
454 	}
getSmapSoftness()455 	void getSmapSoftness()const
456 	{
457 		fprintf(mFile,"\"%s.mrc.smso\"",mName.c_str());
458 	}
getSmapBias()459 	void getSmapBias()const
460 	{
461 		fprintf(mFile,"\"%s.mrc.smb\"",mName.c_str());
462 	}
getSmapCamera()463 	void getSmapCamera()const
464 	{
465 		fprintf(mFile,"\"%s.mrc.smc\"",mName.c_str());
466 	}
getSmapFilename()467 	void getSmapFilename()const
468 	{
469 		fprintf(mFile,"\"%s.mrc.smf\"",mName.c_str());
470 	}
getSmapLightName()471 	void getSmapLightName()const
472 	{
473 		fprintf(mFile,"\"%s.mrc.smln\"",mName.c_str());
474 	}
getSmapSceneName()475 	void getSmapSceneName()const
476 	{
477 		fprintf(mFile,"\"%s.mrc.smsn\"",mName.c_str());
478 	}
getSmapFrameExt()479 	void getSmapFrameExt()const
480 	{
481 		fprintf(mFile,"\"%s.mrc.smfe\"",mName.c_str());
482 	}
getSmapDetail()483 	void getSmapDetail()const
484 	{
485 		fprintf(mFile,"\"%s.mrc.smd\"",mName.c_str());
486 	}
getSmapDetailSamples()487 	void getSmapDetailSamples()const
488 	{
489 		fprintf(mFile,"\"%s.mrc.sds\"",mName.c_str());
490 	}
getSmapDetailAccuracy()491 	void getSmapDetailAccuracy()const
492 	{
493 		fprintf(mFile,"\"%s.mrc.sdac\"",mName.c_str());
494 	}
getSmapDetailAlpha()495 	void getSmapDetailAlpha()const
496 	{
497 		fprintf(mFile,"\"%s.mrc.sdal\"",mName.c_str());
498 	}
getSmapWindow()499 	void getSmapWindow()const
500 	{
501 		fprintf(mFile,"\"%s.mrc.smw\"",mName.c_str());
502 	}
getSmapWindowXMin()503 	void getSmapWindowXMin()const
504 	{
505 		fprintf(mFile,"\"%s.mrc.smw.smxl\"",mName.c_str());
506 	}
getSmapWindowYMin()507 	void getSmapWindowYMin()const
508 	{
509 		fprintf(mFile,"\"%s.mrc.smw.smyl\"",mName.c_str());
510 	}
getSmapWindowXMax()511 	void getSmapWindowXMax()const
512 	{
513 		fprintf(mFile,"\"%s.mrc.smw.smxh\"",mName.c_str());
514 	}
getSmapWindowYMax()515 	void getSmapWindowYMax()const
516 	{
517 		fprintf(mFile,"\"%s.mrc.smw.smyh\"",mName.c_str());
518 	}
getSmapMerge()519 	void getSmapMerge()const
520 	{
521 		fprintf(mFile,"\"%s.mrc.smm\"",mName.c_str());
522 	}
getSmapTrace()523 	void getSmapTrace()const
524 	{
525 		fprintf(mFile,"\"%s.mrc.smt\"",mName.c_str());
526 	}
getAreaLight()527 	void getAreaLight()const
528 	{
529 		fprintf(mFile,"\"%s.mrc.algt\"",mName.c_str());
530 	}
getAreaType()531 	void getAreaType()const
532 	{
533 		fprintf(mFile,"\"%s.mrc.atyp\"",mName.c_str());
534 	}
getAreaShapeIntensity()535 	void getAreaShapeIntensity()const
536 	{
537 		fprintf(mFile,"\"%s.mrc.alsi\"",mName.c_str());
538 	}
getAreaHiSamples()539 	void getAreaHiSamples()const
540 	{
541 		fprintf(mFile,"\"%s.mrc.ahs\"",mName.c_str());
542 	}
getAreaHiSampleLimit()543 	void getAreaHiSampleLimit()const
544 	{
545 		fprintf(mFile,"\"%s.mrc.alev\"",mName.c_str());
546 	}
getAreaLoSamples()547 	void getAreaLoSamples()const
548 	{
549 		fprintf(mFile,"\"%s.mrc.als\"",mName.c_str());
550 	}
getAreaVisible()551 	void getAreaVisible()const
552 	{
553 		fprintf(mFile,"\"%s.mrc.avis\"",mName.c_str());
554 	}
getAreaObject()555 	void getAreaObject()const
556 	{
557 		fprintf(mFile,"\"%s.mrc.aobj\"",mName.c_str());
558 	}
559 protected:
560 	AreaLight(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true)
NonExtendedLightShapeNode(file,name,parent,nodeType,shared,create)561 		:NonExtendedLightShapeNode(file, name, parent, nodeType, shared, create) {}
562 
563 };
564 }//namespace MayaDM
565 #endif//__MayaDM_AREALIGHT_H__
566