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_SHADINGMAP_H__ 11 #define __MayaDM_SHADINGMAP_H__ 12 #include "MayaDMTypes.h" 13 #include "MayaDMConnectables.h" 14 #include "MayaDMDependNode.h" 15 namespace MayaDM 16 { 17 class ShadingMap : public DependNode 18 { 19 public: 20 public: 21 ShadingMap()22 ShadingMap():DependNode(){} 23 ShadingMap(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true) 24 :DependNode(file, name, parent, "shadingMap", shared, create){} ~ShadingMap()25 virtual ~ShadingMap(){} 26 setMapFunctionU(unsigned int mfu)27 void setMapFunctionU(unsigned int mfu) 28 { 29 if(mfu == 0) return; 30 fprintf(mFile,"\tsetAttr \".mfu\" %i;\n", mfu); 31 } setMapFunctionV(unsigned int mfv)32 void setMapFunctionV(unsigned int mfv) 33 { 34 if(mfv == 2) return; 35 fprintf(mFile,"\tsetAttr \".mfv\" %i;\n", mfv); 36 } setColor(const float3 & c)37 void setColor(const float3& c) 38 { 39 fprintf(mFile,"\tsetAttr \".c\" -type \"float3\" "); 40 c.write(mFile); 41 fprintf(mFile,";\n"); 42 } setColorR(float cr)43 void setColorR(float cr) 44 { 45 if(cr == 0.5) return; 46 fprintf(mFile,"\tsetAttr \".c.cr\" %f;\n", cr); 47 } setColorG(float cg)48 void setColorG(float cg) 49 { 50 if(cg == 0.5) return; 51 fprintf(mFile,"\tsetAttr \".c.cg\" %f;\n", cg); 52 } setColorB(float cb)53 void setColorB(float cb) 54 { 55 if(cb == 0.5) return; 56 fprintf(mFile,"\tsetAttr \".c.cb\" %f;\n", cb); 57 } setShadingMapColor(const float3 & sc)58 void setShadingMapColor(const float3& sc) 59 { 60 fprintf(mFile,"\tsetAttr \".sc\" -type \"float3\" "); 61 sc.write(mFile); 62 fprintf(mFile,";\n"); 63 } setShadingMapColorR(float scr)64 void setShadingMapColorR(float scr) 65 { 66 if(scr == 0.5) return; 67 fprintf(mFile,"\tsetAttr \".sc.scr\" %f;\n", scr); 68 } setShadingMapColorG(float scg)69 void setShadingMapColorG(float scg) 70 { 71 if(scg == 0.5) return; 72 fprintf(mFile,"\tsetAttr \".sc.scg\" %f;\n", scg); 73 } setShadingMapColorB(float scb)74 void setShadingMapColorB(float scb) 75 { 76 if(scb == 0.5) return; 77 fprintf(mFile,"\tsetAttr \".sc.scb\" %f;\n", scb); 78 } setGlowColor(const float3 & g)79 void setGlowColor(const float3& g) 80 { 81 fprintf(mFile,"\tsetAttr \".g\" -type \"float3\" "); 82 g.write(mFile); 83 fprintf(mFile,";\n"); 84 } setGlowColorR(float gr)85 void setGlowColorR(float gr) 86 { 87 if(gr == 0.0) return; 88 fprintf(mFile,"\tsetAttr \".g.gr\" %f;\n", gr); 89 } setGlowColorG(float gg)90 void setGlowColorG(float gg) 91 { 92 if(gg == 0.0) return; 93 fprintf(mFile,"\tsetAttr \".g.gg\" %f;\n", gg); 94 } setGlowColorB(float gb)95 void setGlowColorB(float gb) 96 { 97 if(gb == 0.0) return; 98 fprintf(mFile,"\tsetAttr \".g.gb\" %f;\n", gb); 99 } setTransparency(const float3 & it)100 void setTransparency(const float3& it) 101 { 102 fprintf(mFile,"\tsetAttr \".it\" -type \"float3\" "); 103 it.write(mFile); 104 fprintf(mFile,";\n"); 105 } setTransparencyR(float itr)106 void setTransparencyR(float itr) 107 { 108 if(itr == 0.0) return; 109 fprintf(mFile,"\tsetAttr \".it.itr\" %f;\n", itr); 110 } setTransparencyG(float itg)111 void setTransparencyG(float itg) 112 { 113 if(itg == 0.0) return; 114 fprintf(mFile,"\tsetAttr \".it.itg\" %f;\n", itg); 115 } setTransparencyB(float itb)116 void setTransparencyB(float itb) 117 { 118 if(itb == 0.0) return; 119 fprintf(mFile,"\tsetAttr \".it.itb\" %f;\n", itb); 120 } setMatteOpacityMode(unsigned int mom)121 void setMatteOpacityMode(unsigned int mom) 122 { 123 if(mom == 2) return; 124 fprintf(mFile,"\tsetAttr \".mom\" %i;\n", mom); 125 } setMatteOpacity(float mog)126 void setMatteOpacity(float mog) 127 { 128 if(mog == 1.0) return; 129 fprintf(mFile,"\tsetAttr \".mog\" %f;\n", mog); 130 } setMiDeriveFromMaya(bool mifm)131 void setMiDeriveFromMaya(bool mifm) 132 { 133 if(mifm == true) return; 134 fprintf(mFile,"\tsetAttr \".mifm\" %i;\n", mifm); 135 } setMiShinyness(float mis)136 void setMiShinyness(float mis) 137 { 138 if(mis == 10) return; 139 fprintf(mFile,"\tsetAttr \".mis\" %f;\n", mis); 140 } setMiAngle(float mia)141 void setMiAngle(float mia) 142 { 143 if(mia == 0) return; 144 fprintf(mFile,"\tsetAttr \".mia\" %f;\n", mia); 145 } setMiSpreadX(float misx)146 void setMiSpreadX(float misx) 147 { 148 if(misx == 10) return; 149 fprintf(mFile,"\tsetAttr \".misx\" %f;\n", misx); 150 } setMiSpreadY(float misy)151 void setMiSpreadY(float misy) 152 { 153 if(misy == 5) return; 154 fprintf(mFile,"\tsetAttr \".misy\" %f;\n", misy); 155 } setMiWhiteness(const float3 & miwn)156 void setMiWhiteness(const float3& miwn) 157 { 158 fprintf(mFile,"\tsetAttr \".miwn\" -type \"float3\" "); 159 miwn.write(mFile); 160 fprintf(mFile,";\n"); 161 } setMiWhitenessR(float miwnr)162 void setMiWhitenessR(float miwnr) 163 { 164 if(miwnr == 0.5) return; 165 fprintf(mFile,"\tsetAttr \".miwn.miwnr\" %f;\n", miwnr); 166 } setMiWhitenessG(float miwng)167 void setMiWhitenessG(float miwng) 168 { 169 if(miwng == 0.5) return; 170 fprintf(mFile,"\tsetAttr \".miwn.miwng\" %f;\n", miwng); 171 } setMiWhitenessB(float miwnb)172 void setMiWhitenessB(float miwnb) 173 { 174 if(miwnb == 0.5) return; 175 fprintf(mFile,"\tsetAttr \".miwn.miwnb\" %f;\n", miwnb); 176 } setMiSpecularColor(const float3 & misc)177 void setMiSpecularColor(const float3& misc) 178 { 179 fprintf(mFile,"\tsetAttr \".misc\" -type \"float3\" "); 180 misc.write(mFile); 181 fprintf(mFile,";\n"); 182 } setMiSpecularColorR(float miscr)183 void setMiSpecularColorR(float miscr) 184 { 185 if(miscr == 0.5) return; 186 fprintf(mFile,"\tsetAttr \".misc.miscr\" %f;\n", miscr); 187 } setMiSpecularColorG(float miscg)188 void setMiSpecularColorG(float miscg) 189 { 190 if(miscg == 0.5) return; 191 fprintf(mFile,"\tsetAttr \".misc.miscg\" %f;\n", miscg); 192 } setMiSpecularColorB(float miscb)193 void setMiSpecularColorB(float miscb) 194 { 195 if(miscb == 0.5) return; 196 fprintf(mFile,"\tsetAttr \".misc.miscb\" %f;\n", miscb); 197 } setMiReflectivity(float mirf)198 void setMiReflectivity(float mirf) 199 { 200 if(mirf == 0.5) return; 201 fprintf(mFile,"\tsetAttr \".mirf\" %f;\n", mirf); 202 } setMiRefractiveIndex(float miri)203 void setMiRefractiveIndex(float miri) 204 { 205 if(miri == 1) return; 206 fprintf(mFile,"\tsetAttr \".miri\" %f;\n", miri); 207 } setMiRefractions(bool mirc)208 void setMiRefractions(bool mirc) 209 { 210 if(mirc == true) return; 211 fprintf(mFile,"\tsetAttr \".mirc\" %i;\n", mirc); 212 } setMiAbsorbs(bool miab)213 void setMiAbsorbs(bool miab) 214 { 215 if(miab == true) return; 216 fprintf(mFile,"\tsetAttr \".miab\" %i;\n", miab); 217 } setMiDiffuse(float midc)218 void setMiDiffuse(float midc) 219 { 220 if(midc == 0.8) return; 221 fprintf(mFile,"\tsetAttr \".midc\" %f;\n", midc); 222 } setMiColor(const float3 & mic)223 void setMiColor(const float3& mic) 224 { 225 fprintf(mFile,"\tsetAttr \".mic\" -type \"float3\" "); 226 mic.write(mFile); 227 fprintf(mFile,";\n"); 228 } setMiColorR(float micr)229 void setMiColorR(float micr) 230 { 231 if(micr == 0.5) return; 232 fprintf(mFile,"\tsetAttr \".mic.micr\" %f;\n", micr); 233 } setMiColorG(float micg)234 void setMiColorG(float micg) 235 { 236 if(micg == 0.5) return; 237 fprintf(mFile,"\tsetAttr \".mic.micg\" %f;\n", micg); 238 } setMiColorB(float micb)239 void setMiColorB(float micb) 240 { 241 if(micb == 0.5) return; 242 fprintf(mFile,"\tsetAttr \".mic.micb\" %f;\n", micb); 243 } setMiTransparency(const float3 & mit)244 void setMiTransparency(const float3& mit) 245 { 246 fprintf(mFile,"\tsetAttr \".mit\" -type \"float3\" "); 247 mit.write(mFile); 248 fprintf(mFile,";\n"); 249 } setMiTransparencyR(float mitr)250 void setMiTransparencyR(float mitr) 251 { 252 if(mitr == 0) return; 253 fprintf(mFile,"\tsetAttr \".mit.mitr\" %f;\n", mitr); 254 } setMiTransparencyG(float mitg)255 void setMiTransparencyG(float mitg) 256 { 257 if(mitg == 0) return; 258 fprintf(mFile,"\tsetAttr \".mit.mitg\" %f;\n", mitg); 259 } setMiTransparencyB(float mitb)260 void setMiTransparencyB(float mitb) 261 { 262 if(mitb == 0) return; 263 fprintf(mFile,"\tsetAttr \".mit.mitb\" %f;\n", mitb); 264 } setMiTranslucence(float mitc)265 void setMiTranslucence(float mitc) 266 { 267 if(mitc == 0) return; 268 fprintf(mFile,"\tsetAttr \".mitc\" %f;\n", mitc); 269 } setMiTranslucenceFocus(float mitf)270 void setMiTranslucenceFocus(float mitf) 271 { 272 if(mitf == 0.5) return; 273 fprintf(mFile,"\tsetAttr \".mitf\" %f;\n", mitf); 274 } setMiNormalCamera(const float3 & minc)275 void setMiNormalCamera(const float3& minc) 276 { 277 fprintf(mFile,"\tsetAttr \".minc\" -type \"float3\" "); 278 minc.write(mFile); 279 fprintf(mFile,";\n"); 280 } setMiNormalCameraX(float mincx)281 void setMiNormalCameraX(float mincx) 282 { 283 if(mincx == 0) return; 284 fprintf(mFile,"\tsetAttr \".minc.mincx\" %f;\n", mincx); 285 } setMiNormalCameraY(float mincy)286 void setMiNormalCameraY(float mincy) 287 { 288 if(mincy == 0) return; 289 fprintf(mFile,"\tsetAttr \".minc.mincy\" %f;\n", mincy); 290 } setMiNormalCameraZ(float mincz)291 void setMiNormalCameraZ(float mincz) 292 { 293 if(mincz == 0) return; 294 fprintf(mFile,"\tsetAttr \".minc.mincz\" %f;\n", mincz); 295 } getUvCoord()296 void getUvCoord()const 297 { 298 fprintf(mFile,"\"%s.uv\"",mName.c_str()); 299 } getUCoord()300 void getUCoord()const 301 { 302 fprintf(mFile,"\"%s.uv.uu\"",mName.c_str()); 303 } getVCoord()304 void getVCoord()const 305 { 306 fprintf(mFile,"\"%s.uv.vv\"",mName.c_str()); 307 } getMapFunctionU()308 void getMapFunctionU()const 309 { 310 fprintf(mFile,"\"%s.mfu\"",mName.c_str()); 311 } getMapFunctionV()312 void getMapFunctionV()const 313 { 314 fprintf(mFile,"\"%s.mfv\"",mName.c_str()); 315 } getColor()316 void getColor()const 317 { 318 fprintf(mFile,"\"%s.c\"",mName.c_str()); 319 } getColorR()320 void getColorR()const 321 { 322 fprintf(mFile,"\"%s.c.cr\"",mName.c_str()); 323 } getColorG()324 void getColorG()const 325 { 326 fprintf(mFile,"\"%s.c.cg\"",mName.c_str()); 327 } getColorB()328 void getColorB()const 329 { 330 fprintf(mFile,"\"%s.c.cb\"",mName.c_str()); 331 } getShadingMapColor()332 void getShadingMapColor()const 333 { 334 fprintf(mFile,"\"%s.sc\"",mName.c_str()); 335 } getShadingMapColorR()336 void getShadingMapColorR()const 337 { 338 fprintf(mFile,"\"%s.sc.scr\"",mName.c_str()); 339 } getShadingMapColorG()340 void getShadingMapColorG()const 341 { 342 fprintf(mFile,"\"%s.sc.scg\"",mName.c_str()); 343 } getShadingMapColorB()344 void getShadingMapColorB()const 345 { 346 fprintf(mFile,"\"%s.sc.scb\"",mName.c_str()); 347 } getGlowColor()348 void getGlowColor()const 349 { 350 fprintf(mFile,"\"%s.g\"",mName.c_str()); 351 } getGlowColorR()352 void getGlowColorR()const 353 { 354 fprintf(mFile,"\"%s.g.gr\"",mName.c_str()); 355 } getGlowColorG()356 void getGlowColorG()const 357 { 358 fprintf(mFile,"\"%s.g.gg\"",mName.c_str()); 359 } getGlowColorB()360 void getGlowColorB()const 361 { 362 fprintf(mFile,"\"%s.g.gb\"",mName.c_str()); 363 } getTransparency()364 void getTransparency()const 365 { 366 fprintf(mFile,"\"%s.it\"",mName.c_str()); 367 } getTransparencyR()368 void getTransparencyR()const 369 { 370 fprintf(mFile,"\"%s.it.itr\"",mName.c_str()); 371 } getTransparencyG()372 void getTransparencyG()const 373 { 374 fprintf(mFile,"\"%s.it.itg\"",mName.c_str()); 375 } getTransparencyB()376 void getTransparencyB()const 377 { 378 fprintf(mFile,"\"%s.it.itb\"",mName.c_str()); 379 } getOutColor()380 void getOutColor()const 381 { 382 fprintf(mFile,"\"%s.oc\"",mName.c_str()); 383 } getOutColorR()384 void getOutColorR()const 385 { 386 fprintf(mFile,"\"%s.oc.ocr\"",mName.c_str()); 387 } getOutColorG()388 void getOutColorG()const 389 { 390 fprintf(mFile,"\"%s.oc.ocg\"",mName.c_str()); 391 } getOutColorB()392 void getOutColorB()const 393 { 394 fprintf(mFile,"\"%s.oc.ocb\"",mName.c_str()); 395 } getOutTransparency()396 void getOutTransparency()const 397 { 398 fprintf(mFile,"\"%s.ot\"",mName.c_str()); 399 } getOutTransparencyR()400 void getOutTransparencyR()const 401 { 402 fprintf(mFile,"\"%s.ot.otr\"",mName.c_str()); 403 } getOutTransparencyG()404 void getOutTransparencyG()const 405 { 406 fprintf(mFile,"\"%s.ot.otg\"",mName.c_str()); 407 } getOutTransparencyB()408 void getOutTransparencyB()const 409 { 410 fprintf(mFile,"\"%s.ot.otb\"",mName.c_str()); 411 } getOutGlowColor()412 void getOutGlowColor()const 413 { 414 fprintf(mFile,"\"%s.ogc\"",mName.c_str()); 415 } getOutGlowColorR()416 void getOutGlowColorR()const 417 { 418 fprintf(mFile,"\"%s.ogc.ogr\"",mName.c_str()); 419 } getOutGlowColorG()420 void getOutGlowColorG()const 421 { 422 fprintf(mFile,"\"%s.ogc.ogg\"",mName.c_str()); 423 } getOutGlowColorB()424 void getOutGlowColorB()const 425 { 426 fprintf(mFile,"\"%s.ogc.ogb\"",mName.c_str()); 427 } getMatteOpacityMode()428 void getMatteOpacityMode()const 429 { 430 fprintf(mFile,"\"%s.mom\"",mName.c_str()); 431 } getMatteOpacity()432 void getMatteOpacity()const 433 { 434 fprintf(mFile,"\"%s.mog\"",mName.c_str()); 435 } getOutMatteOpacity()436 void getOutMatteOpacity()const 437 { 438 fprintf(mFile,"\"%s.omo\"",mName.c_str()); 439 } getOutMatteOpacityR()440 void getOutMatteOpacityR()const 441 { 442 fprintf(mFile,"\"%s.omo.omor\"",mName.c_str()); 443 } getOutMatteOpacityG()444 void getOutMatteOpacityG()const 445 { 446 fprintf(mFile,"\"%s.omo.omog\"",mName.c_str()); 447 } getOutMatteOpacityB()448 void getOutMatteOpacityB()const 449 { 450 fprintf(mFile,"\"%s.omo.omob\"",mName.c_str()); 451 } getMiDeriveFromMaya()452 void getMiDeriveFromMaya()const 453 { 454 fprintf(mFile,"\"%s.mifm\"",mName.c_str()); 455 } getMiShinyness()456 void getMiShinyness()const 457 { 458 fprintf(mFile,"\"%s.mis\"",mName.c_str()); 459 } getMiAngle()460 void getMiAngle()const 461 { 462 fprintf(mFile,"\"%s.mia\"",mName.c_str()); 463 } getMiSpreadX()464 void getMiSpreadX()const 465 { 466 fprintf(mFile,"\"%s.misx\"",mName.c_str()); 467 } getMiSpreadY()468 void getMiSpreadY()const 469 { 470 fprintf(mFile,"\"%s.misy\"",mName.c_str()); 471 } getMiWhiteness()472 void getMiWhiteness()const 473 { 474 fprintf(mFile,"\"%s.miwn\"",mName.c_str()); 475 } getMiWhitenessR()476 void getMiWhitenessR()const 477 { 478 fprintf(mFile,"\"%s.miwn.miwnr\"",mName.c_str()); 479 } getMiWhitenessG()480 void getMiWhitenessG()const 481 { 482 fprintf(mFile,"\"%s.miwn.miwng\"",mName.c_str()); 483 } getMiWhitenessB()484 void getMiWhitenessB()const 485 { 486 fprintf(mFile,"\"%s.miwn.miwnb\"",mName.c_str()); 487 } getMiSpecularColor()488 void getMiSpecularColor()const 489 { 490 fprintf(mFile,"\"%s.misc\"",mName.c_str()); 491 } getMiSpecularColorR()492 void getMiSpecularColorR()const 493 { 494 fprintf(mFile,"\"%s.misc.miscr\"",mName.c_str()); 495 } getMiSpecularColorG()496 void getMiSpecularColorG()const 497 { 498 fprintf(mFile,"\"%s.misc.miscg\"",mName.c_str()); 499 } getMiSpecularColorB()500 void getMiSpecularColorB()const 501 { 502 fprintf(mFile,"\"%s.misc.miscb\"",mName.c_str()); 503 } getMiReflectivity()504 void getMiReflectivity()const 505 { 506 fprintf(mFile,"\"%s.mirf\"",mName.c_str()); 507 } getMiRefractiveIndex()508 void getMiRefractiveIndex()const 509 { 510 fprintf(mFile,"\"%s.miri\"",mName.c_str()); 511 } getMiRefractions()512 void getMiRefractions()const 513 { 514 fprintf(mFile,"\"%s.mirc\"",mName.c_str()); 515 } getMiAbsorbs()516 void getMiAbsorbs()const 517 { 518 fprintf(mFile,"\"%s.miab\"",mName.c_str()); 519 } getMiDiffuse()520 void getMiDiffuse()const 521 { 522 fprintf(mFile,"\"%s.midc\"",mName.c_str()); 523 } getMiColor()524 void getMiColor()const 525 { 526 fprintf(mFile,"\"%s.mic\"",mName.c_str()); 527 } getMiColorR()528 void getMiColorR()const 529 { 530 fprintf(mFile,"\"%s.mic.micr\"",mName.c_str()); 531 } getMiColorG()532 void getMiColorG()const 533 { 534 fprintf(mFile,"\"%s.mic.micg\"",mName.c_str()); 535 } getMiColorB()536 void getMiColorB()const 537 { 538 fprintf(mFile,"\"%s.mic.micb\"",mName.c_str()); 539 } getMiTransparency()540 void getMiTransparency()const 541 { 542 fprintf(mFile,"\"%s.mit\"",mName.c_str()); 543 } getMiTransparencyR()544 void getMiTransparencyR()const 545 { 546 fprintf(mFile,"\"%s.mit.mitr\"",mName.c_str()); 547 } getMiTransparencyG()548 void getMiTransparencyG()const 549 { 550 fprintf(mFile,"\"%s.mit.mitg\"",mName.c_str()); 551 } getMiTransparencyB()552 void getMiTransparencyB()const 553 { 554 fprintf(mFile,"\"%s.mit.mitb\"",mName.c_str()); 555 } getMiTranslucence()556 void getMiTranslucence()const 557 { 558 fprintf(mFile,"\"%s.mitc\"",mName.c_str()); 559 } getMiTranslucenceFocus()560 void getMiTranslucenceFocus()const 561 { 562 fprintf(mFile,"\"%s.mitf\"",mName.c_str()); 563 } getMiNormalCamera()564 void getMiNormalCamera()const 565 { 566 fprintf(mFile,"\"%s.minc\"",mName.c_str()); 567 } getMiNormalCameraX()568 void getMiNormalCameraX()const 569 { 570 fprintf(mFile,"\"%s.minc.mincx\"",mName.c_str()); 571 } getMiNormalCameraY()572 void getMiNormalCameraY()const 573 { 574 fprintf(mFile,"\"%s.minc.mincy\"",mName.c_str()); 575 } getMiNormalCameraZ()576 void getMiNormalCameraZ()const 577 { 578 fprintf(mFile,"\"%s.minc.mincz\"",mName.c_str()); 579 } 580 protected: 581 ShadingMap(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)582 :DependNode(file, name, parent, nodeType, shared, create) {} 583 584 }; 585 }//namespace MayaDM 586 #endif//__MayaDM_SHADINGMAP_H__ 587