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_NURBSSURFACE_H__ 11 #define __MayaDM_NURBSSURFACE_H__ 12 #include "MayaDMTypes.h" 13 #include "MayaDMConnectables.h" 14 #include "MayaDMSurfaceShape.h" 15 namespace MayaDM 16 { 17 class NurbsSurface : public SurfaceShape 18 { 19 public: 20 struct MentalRayControls{ 21 bool miOverrideCaustics; 22 short miCausticAccuracy; 23 float miCausticRadius; 24 bool miOverrideGlobalIllumination; 25 short miGlobillumAccuracy; 26 float miGlobillumRadius; 27 bool miOverrideFinalGather; 28 int miFinalGatherRays; 29 float miFinalGatherMinRadius; 30 float miFinalGatherMaxRadius; 31 short miFinalGatherFilter; 32 bool miFinalGatherView; 33 bool miOverrideSamples; 34 short miMinSamples; 35 short miMaxSamples; 36 bool miFinalGatherCast; 37 bool miFinalGatherReceive; 38 bool miTransparencyCast; 39 bool miTransparencyReceive; 40 bool miReflectionReceive; 41 bool miRefractionReceive; writeMentalRayControls42 void write(FILE* file) const 43 { 44 fprintf(file,"%i ", miOverrideCaustics); 45 fprintf(file,"%i ", miCausticAccuracy); 46 fprintf(file,"%f ", miCausticRadius); 47 fprintf(file,"%i ", miOverrideGlobalIllumination); 48 fprintf(file,"%i ", miGlobillumAccuracy); 49 fprintf(file,"%f ", miGlobillumRadius); 50 fprintf(file,"%i ", miOverrideFinalGather); 51 fprintf(file,"%i ", miFinalGatherRays); 52 fprintf(file,"%f ", miFinalGatherMinRadius); 53 fprintf(file,"%f ", miFinalGatherMaxRadius); 54 fprintf(file,"%i ", miFinalGatherFilter); 55 fprintf(file,"%i ", miFinalGatherView); 56 fprintf(file,"%i ", miOverrideSamples); 57 fprintf(file,"%i ", miMinSamples); 58 fprintf(file,"%i ", miMaxSamples); 59 fprintf(file,"%i ", miFinalGatherCast); 60 fprintf(file,"%i ", miFinalGatherReceive); 61 fprintf(file,"%i ", miTransparencyCast); 62 fprintf(file,"%i ", miTransparencyReceive); 63 fprintf(file,"%i ", miReflectionReceive); 64 fprintf(file,"%i", miRefractionReceive); 65 } 66 }; 67 public: 68 NurbsSurface()69 NurbsSurface():SurfaceShape(){} 70 NurbsSurface(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true) 71 :SurfaceShape(file, name, parent, "nurbsSurface", shared, create){} ~NurbsSurface()72 virtual ~NurbsSurface(){} 73 setDivisionsU(unsigned char dvu)74 void setDivisionsU(unsigned char dvu) 75 { 76 if(dvu == 0) return; 77 fprintf(mFile,"\tsetAttr \".dvu\" %i;\n", dvu); 78 } setDivisionsV(unsigned char dvv)79 void setDivisionsV(unsigned char dvv) 80 { 81 if(dvv == 0) return; 82 fprintf(mFile,"\tsetAttr \".dvv\" %i;\n", dvv); 83 } setCurvePrecision(unsigned char cpr)84 void setCurvePrecision(unsigned char cpr) 85 { 86 if(cpr == 4) return; 87 fprintf(mFile,"\tsetAttr \".cpr\" %i;\n", cpr); 88 } setCurvePrecisionShaded(unsigned char cps)89 void setCurvePrecisionShaded(unsigned char cps) 90 { 91 if(cps == 1) return; 92 fprintf(mFile,"\tsetAttr \".cps\" %i;\n", cps); 93 } setSimplifyMode(unsigned char sm)94 void setSimplifyMode(unsigned char sm) 95 { 96 if(sm == 0) return; 97 fprintf(mFile,"\tsetAttr \".sm\" %i;\n", sm); 98 } setSimplifyU(unsigned char smu)99 void setSimplifyU(unsigned char smu) 100 { 101 if(smu == 1) return; 102 fprintf(mFile,"\tsetAttr \".smu\" %i;\n", smu); 103 } setSimplifyV(unsigned char smv)104 void setSimplifyV(unsigned char smv) 105 { 106 if(smv == 1) return; 107 fprintf(mFile,"\tsetAttr \".smv\" %i;\n", smv); 108 } setSmoothEdge(bool ues)109 void setSmoothEdge(bool ues) 110 { 111 if(ues == false) return; 112 fprintf(mFile,"\tsetAttr \".ues\" %i;\n", ues); 113 } setSmoothEdgeRatio(double esr)114 void setSmoothEdgeRatio(double esr) 115 { 116 if(esr == 0.99) return; 117 fprintf(mFile,"\tsetAttr \".esr\" %f;\n", esr); 118 } setUseChordHeight(bool uch)119 void setUseChordHeight(bool uch) 120 { 121 if(uch == false) return; 122 fprintf(mFile,"\tsetAttr \".uch\" %i;\n", uch); 123 } setObjSpaceChordHeight(bool uco)124 void setObjSpaceChordHeight(bool uco) 125 { 126 if(uco == true) return; 127 fprintf(mFile,"\tsetAttr \".uco\" %i;\n", uco); 128 } setUseChordHeightRatio(bool ucr)129 void setUseChordHeightRatio(bool ucr) 130 { 131 if(ucr == true) return; 132 fprintf(mFile,"\tsetAttr \".ucr\" %i;\n", ucr); 133 } setEdgeSwap(bool es)134 void setEdgeSwap(bool es) 135 { 136 if(es == false) return; 137 fprintf(mFile,"\tsetAttr \".es\" %i;\n", es); 138 } setUseMinScreen(bool uns)139 void setUseMinScreen(bool uns) 140 { 141 if(uns == false) return; 142 fprintf(mFile,"\tsetAttr \".uns\" %i;\n", uns); 143 } setSelCVDisp(bool scvd)144 void setSelCVDisp(bool scvd) 145 { 146 if(scvd == false) return; 147 fprintf(mFile,"\tsetAttr \".scvd\" %i;\n", scvd); 148 } setDispCV(bool dcv)149 void setDispCV(bool dcv) 150 { 151 if(dcv == false) return; 152 fprintf(mFile,"\tsetAttr \".dcv\" %i;\n", dcv); 153 } setDispEP(bool dep)154 void setDispEP(bool dep) 155 { 156 if(dep == false) return; 157 fprintf(mFile,"\tsetAttr \".dep\" %i;\n", dep); 158 } setDispHull(bool dh)159 void setDispHull(bool dh) 160 { 161 if(dh == false) return; 162 fprintf(mFile,"\tsetAttr \".dh\" %i;\n", dh); 163 } setDispGeometry(bool dg)164 void setDispGeometry(bool dg) 165 { 166 if(dg == true) return; 167 fprintf(mFile,"\tsetAttr \".dg\" %i;\n", dg); 168 } setDispOrigin(bool dor)169 void setDispOrigin(bool dor) 170 { 171 if(dor == false) return; 172 fprintf(mFile,"\tsetAttr \".dor\" %i;\n", dor); 173 } setNumberU(int nu)174 void setNumberU(int nu) 175 { 176 if(nu == 3) return; 177 fprintf(mFile,"\tsetAttr \".nu\" %i;\n", nu); 178 } setModeU(unsigned int mu)179 void setModeU(unsigned int mu) 180 { 181 if(mu == 3) return; 182 fprintf(mFile,"\tsetAttr \".mu\" %i;\n", mu); 183 } setNumberV(int nv)184 void setNumberV(int nv) 185 { 186 if(nv == 3) return; 187 fprintf(mFile,"\tsetAttr \".nv\" %i;\n", nv); 188 } setModeV(unsigned int mv)189 void setModeV(unsigned int mv) 190 { 191 if(mv == 3) return; 192 fprintf(mFile,"\tsetAttr \".mv\" %i;\n", mv); 193 } setChordHeight(double ch)194 void setChordHeight(double ch) 195 { 196 if(ch == 0.1) return; 197 fprintf(mFile,"\tsetAttr \".ch\" %f;\n", ch); 198 } setChordHeightRatio(double chr)199 void setChordHeightRatio(double chr) 200 { 201 if(chr == 0.983) return; 202 fprintf(mFile,"\tsetAttr \".chr\" %f;\n", chr); 203 } setMinScreen(double mns)204 void setMinScreen(double mns) 205 { 206 if(mns == 14) return; 207 fprintf(mFile,"\tsetAttr \".mns\" %f;\n", mns); 208 } setCached(const nurbsSurface & cc)209 void setCached(const nurbsSurface& cc) 210 { 211 fprintf(mFile,"\tsetAttr \".cc\" -type \"nurbsSurface\" "); 212 cc.write(mFile); 213 fprintf(mFile,";\n"); 214 } setInPlace(bool ipo)215 void setInPlace(bool ipo) 216 { 217 if(ipo == false) return; 218 fprintf(mFile,"\tsetAttr \".ipo\" %i;\n", ipo); 219 } setDisplayRenderTessellation(bool drt)220 void setDisplayRenderTessellation(bool drt) 221 { 222 if(drt == false) return; 223 fprintf(mFile,"\tsetAttr \".drt\" %i;\n", drt); 224 } setFixTextureWarp(bool ftwp)225 void setFixTextureWarp(bool ftwp) 226 { 227 if(ftwp == false) return; 228 fprintf(mFile,"\tsetAttr \".ftwp\" %i;\n", ftwp); 229 } setGridDivisionPerSpanU(short gdsu)230 void setGridDivisionPerSpanU(short gdsu) 231 { 232 if(gdsu == 4) return; 233 fprintf(mFile,"\tsetAttr \".gdsu\" %i;\n", gdsu); 234 } setGridDivisionPerSpanV(short gdsv)235 void setGridDivisionPerSpanV(short gdsv) 236 { 237 if(gdsv == 4) return; 238 fprintf(mFile,"\tsetAttr \".gdsv\" %i;\n", gdsv); 239 } setExplicitTessellationAttributes(bool eta)240 void setExplicitTessellationAttributes(bool eta) 241 { 242 if(eta == false) return; 243 fprintf(mFile,"\tsetAttr \".eta\" %i;\n", eta); 244 } setUDivisionsFactor(double nufa)245 void setUDivisionsFactor(double nufa) 246 { 247 if(nufa == 1.5) return; 248 fprintf(mFile,"\tsetAttr \".nufa\" %f;\n", nufa); 249 } setVDivisionsFactor(double nvfa)250 void setVDivisionsFactor(double nvfa) 251 { 252 if(nvfa == 1.5) return; 253 fprintf(mFile,"\tsetAttr \".nvfa\" %f;\n", nvfa); 254 } setCurvatureTolerance(unsigned int cvto)255 void setCurvatureTolerance(unsigned int cvto) 256 { 257 if(cvto == 2) return; 258 fprintf(mFile,"\tsetAttr \".cvto\" %i;\n", cvto); 259 } setBasicTessellationType(unsigned int btt)260 void setBasicTessellationType(unsigned int btt) 261 { 262 if(btt == 0) return; 263 fprintf(mFile,"\tsetAttr \".btt\" %i;\n", btt); 264 } setDispSF(bool dsf)265 void setDispSF(bool dsf) 266 { 267 if(dsf == false) return; 268 fprintf(mFile,"\tsetAttr \".dsf\" %i;\n", dsf); 269 } setNormalsDisplayScale(double ndf)270 void setNormalsDisplayScale(double ndf) 271 { 272 if(ndf == 1.0) return; 273 fprintf(mFile,"\tsetAttr \".ndf\" %f;\n", ndf); 274 } setMentalRayControls(const MentalRayControls & mrc)275 void setMentalRayControls(const MentalRayControls& mrc) 276 { 277 fprintf(mFile,"\tsetAttr \".mrc\" "); 278 mrc.write(mFile); 279 fprintf(mFile,";\n"); 280 } setMiOverrideCaustics(bool oca)281 void setMiOverrideCaustics(bool oca) 282 { 283 if(oca == false) return; 284 fprintf(mFile,"\tsetAttr \".mrc.oca\" %i;\n", oca); 285 } setMiCausticAccuracy(short caa)286 void setMiCausticAccuracy(short caa) 287 { 288 if(caa == 64) return; 289 fprintf(mFile,"\tsetAttr \".mrc.caa\" %i;\n", caa); 290 } setMiCausticRadius(float car)291 void setMiCausticRadius(float car) 292 { 293 if(car == 0) return; 294 fprintf(mFile,"\tsetAttr \".mrc.car\" %f;\n", car); 295 } setMiOverrideGlobalIllumination(bool ogi)296 void setMiOverrideGlobalIllumination(bool ogi) 297 { 298 if(ogi == false) return; 299 fprintf(mFile,"\tsetAttr \".mrc.ogi\" %i;\n", ogi); 300 } setMiGlobillumAccuracy(short gia)301 void setMiGlobillumAccuracy(short gia) 302 { 303 if(gia == 64) return; 304 fprintf(mFile,"\tsetAttr \".mrc.gia\" %i;\n", gia); 305 } setMiGlobillumRadius(float gir)306 void setMiGlobillumRadius(float gir) 307 { 308 if(gir == 0) return; 309 fprintf(mFile,"\tsetAttr \".mrc.gir\" %f;\n", gir); 310 } setMiOverrideFinalGather(bool ofg)311 void setMiOverrideFinalGather(bool ofg) 312 { 313 if(ofg == false) return; 314 fprintf(mFile,"\tsetAttr \".mrc.ofg\" %i;\n", ofg); 315 } setMiFinalGatherRays(int fry)316 void setMiFinalGatherRays(int fry) 317 { 318 if(fry == 1000) return; 319 fprintf(mFile,"\tsetAttr \".mrc.fry\" %i;\n", fry); 320 } setMiFinalGatherMinRadius(float fmn)321 void setMiFinalGatherMinRadius(float fmn) 322 { 323 if(fmn == 0) return; 324 fprintf(mFile,"\tsetAttr \".mrc.fmn\" %f;\n", fmn); 325 } setMiFinalGatherMaxRadius(float fmx)326 void setMiFinalGatherMaxRadius(float fmx) 327 { 328 if(fmx == 0) return; 329 fprintf(mFile,"\tsetAttr \".mrc.fmx\" %f;\n", fmx); 330 } setMiFinalGatherFilter(short ffi)331 void setMiFinalGatherFilter(short ffi) 332 { 333 if(ffi == 1) return; 334 fprintf(mFile,"\tsetAttr \".mrc.ffi\" %i;\n", ffi); 335 } setMiFinalGatherView(bool fgv)336 void setMiFinalGatherView(bool fgv) 337 { 338 if(fgv == false) return; 339 fprintf(mFile,"\tsetAttr \".mrc.fgv\" %i;\n", fgv); 340 } setMiOverrideSamples(bool oos)341 void setMiOverrideSamples(bool oos) 342 { 343 if(oos == false) return; 344 fprintf(mFile,"\tsetAttr \".mrc.oos\" %i;\n", oos); 345 } setMiMinSamples(short mins)346 void setMiMinSamples(short mins) 347 { 348 if(mins == 0) return; 349 fprintf(mFile,"\tsetAttr \".mrc.mins\" %i;\n", mins); 350 } setMiMaxSamples(short maxs)351 void setMiMaxSamples(short maxs) 352 { 353 if(maxs == 2) return; 354 fprintf(mFile,"\tsetAttr \".mrc.maxs\" %i;\n", maxs); 355 } setMiFinalGatherCast(bool fgc)356 void setMiFinalGatherCast(bool fgc) 357 { 358 if(fgc == true) return; 359 fprintf(mFile,"\tsetAttr \".mrc.fgc\" %i;\n", fgc); 360 } setMiFinalGatherReceive(bool fge)361 void setMiFinalGatherReceive(bool fge) 362 { 363 if(fge == true) return; 364 fprintf(mFile,"\tsetAttr \".mrc.fge\" %i;\n", fge); 365 } setMiTransparencyCast(bool tpc)366 void setMiTransparencyCast(bool tpc) 367 { 368 if(tpc == true) return; 369 fprintf(mFile,"\tsetAttr \".mrc.tpc\" %i;\n", tpc); 370 } setMiTransparencyReceive(bool tpr)371 void setMiTransparencyReceive(bool tpr) 372 { 373 if(tpr == true) return; 374 fprintf(mFile,"\tsetAttr \".mrc.tpr\" %i;\n", tpr); 375 } setMiReflectionReceive(bool rflr)376 void setMiReflectionReceive(bool rflr) 377 { 378 if(rflr == true) return; 379 fprintf(mFile,"\tsetAttr \".mrc.rflr\" %i;\n", rflr); 380 } setMiRefractionReceive(bool rfrr)381 void setMiRefractionReceive(bool rfrr) 382 { 383 if(rfrr == true) return; 384 fprintf(mFile,"\tsetAttr \".mrc.rfrr\" %i;\n", rfrr); 385 } getCreate()386 void getCreate()const 387 { 388 fprintf(mFile,"\"%s.cr\"",mName.c_str()); 389 } getLocal()390 void getLocal()const 391 { 392 fprintf(mFile,"\"%s.l\"",mName.c_str()); 393 } getWorldSpace(size_t ws_i)394 void getWorldSpace(size_t ws_i)const 395 { 396 fprintf(mFile,"\"%s.ws[%i]\"",mName.c_str(),ws_i); 397 } getWorldSpace()398 void getWorldSpace()const 399 { 400 401 fprintf(mFile,"\"%s.ws\"",mName.c_str()); 402 } getDivisionsU()403 void getDivisionsU()const 404 { 405 fprintf(mFile,"\"%s.dvu\"",mName.c_str()); 406 } getDivisionsV()407 void getDivisionsV()const 408 { 409 fprintf(mFile,"\"%s.dvv\"",mName.c_str()); 410 } getCurvePrecision()411 void getCurvePrecision()const 412 { 413 fprintf(mFile,"\"%s.cpr\"",mName.c_str()); 414 } getCurvePrecisionShaded()415 void getCurvePrecisionShaded()const 416 { 417 fprintf(mFile,"\"%s.cps\"",mName.c_str()); 418 } getSimplifyMode()419 void getSimplifyMode()const 420 { 421 fprintf(mFile,"\"%s.sm\"",mName.c_str()); 422 } getSimplifyU()423 void getSimplifyU()const 424 { 425 fprintf(mFile,"\"%s.smu\"",mName.c_str()); 426 } getSimplifyV()427 void getSimplifyV()const 428 { 429 fprintf(mFile,"\"%s.smv\"",mName.c_str()); 430 } getSmoothEdge()431 void getSmoothEdge()const 432 { 433 fprintf(mFile,"\"%s.ues\"",mName.c_str()); 434 } getSmoothEdgeRatio()435 void getSmoothEdgeRatio()const 436 { 437 fprintf(mFile,"\"%s.esr\"",mName.c_str()); 438 } getUseChordHeight()439 void getUseChordHeight()const 440 { 441 fprintf(mFile,"\"%s.uch\"",mName.c_str()); 442 } getObjSpaceChordHeight()443 void getObjSpaceChordHeight()const 444 { 445 fprintf(mFile,"\"%s.uco\"",mName.c_str()); 446 } getUseChordHeightRatio()447 void getUseChordHeightRatio()const 448 { 449 fprintf(mFile,"\"%s.ucr\"",mName.c_str()); 450 } getEdgeSwap()451 void getEdgeSwap()const 452 { 453 fprintf(mFile,"\"%s.es\"",mName.c_str()); 454 } getUseMinScreen()455 void getUseMinScreen()const 456 { 457 fprintf(mFile,"\"%s.uns\"",mName.c_str()); 458 } getSelCVDisp()459 void getSelCVDisp()const 460 { 461 fprintf(mFile,"\"%s.scvd\"",mName.c_str()); 462 } getDispCV()463 void getDispCV()const 464 { 465 fprintf(mFile,"\"%s.dcv\"",mName.c_str()); 466 } getDispEP()467 void getDispEP()const 468 { 469 fprintf(mFile,"\"%s.dep\"",mName.c_str()); 470 } getDispHull()471 void getDispHull()const 472 { 473 fprintf(mFile,"\"%s.dh\"",mName.c_str()); 474 } getDispGeometry()475 void getDispGeometry()const 476 { 477 fprintf(mFile,"\"%s.dg\"",mName.c_str()); 478 } getDispOrigin()479 void getDispOrigin()const 480 { 481 fprintf(mFile,"\"%s.dor\"",mName.c_str()); 482 } getNumberU()483 void getNumberU()const 484 { 485 fprintf(mFile,"\"%s.nu\"",mName.c_str()); 486 } getModeU()487 void getModeU()const 488 { 489 fprintf(mFile,"\"%s.mu\"",mName.c_str()); 490 } getNumberV()491 void getNumberV()const 492 { 493 fprintf(mFile,"\"%s.nv\"",mName.c_str()); 494 } getModeV()495 void getModeV()const 496 { 497 fprintf(mFile,"\"%s.mv\"",mName.c_str()); 498 } getChordHeight()499 void getChordHeight()const 500 { 501 fprintf(mFile,"\"%s.ch\"",mName.c_str()); 502 } getChordHeightRatio()503 void getChordHeightRatio()const 504 { 505 fprintf(mFile,"\"%s.chr\"",mName.c_str()); 506 } getMinScreen()507 void getMinScreen()const 508 { 509 fprintf(mFile,"\"%s.mns\"",mName.c_str()); 510 } getFormU()511 void getFormU()const 512 { 513 fprintf(mFile,"\"%s.fu\"",mName.c_str()); 514 } getFormV()515 void getFormV()const 516 { 517 fprintf(mFile,"\"%s.fv\"",mName.c_str()); 518 } getCached()519 void getCached()const 520 { 521 fprintf(mFile,"\"%s.cc\"",mName.c_str()); 522 } getPatchUVIds(size_t pu_i)523 void getPatchUVIds(size_t pu_i)const 524 { 525 fprintf(mFile,"\"%s.pu[%i]\"",mName.c_str(),pu_i); 526 } getPatchUVIds()527 void getPatchUVIds()const 528 { 529 530 fprintf(mFile,"\"%s.pu\"",mName.c_str()); 531 } getInPlace()532 void getInPlace()const 533 { 534 fprintf(mFile,"\"%s.ipo\"",mName.c_str()); 535 } getTweakSizeU()536 void getTweakSizeU()const 537 { 538 fprintf(mFile,"\"%s.tsu\"",mName.c_str()); 539 } getTweakSizeV()540 void getTweakSizeV()const 541 { 542 fprintf(mFile,"\"%s.tsv\"",mName.c_str()); 543 } getMinMaxRangeU()544 void getMinMaxRangeU()const 545 { 546 fprintf(mFile,"\"%s.mmu\"",mName.c_str()); 547 } getMinValueU()548 void getMinValueU()const 549 { 550 fprintf(mFile,"\"%s.mmu.mnu\"",mName.c_str()); 551 } getMaxValueU()552 void getMaxValueU()const 553 { 554 fprintf(mFile,"\"%s.mmu.mxu\"",mName.c_str()); 555 } getMinMaxRangeV()556 void getMinMaxRangeV()const 557 { 558 fprintf(mFile,"\"%s.mmv\"",mName.c_str()); 559 } getMinValueV()560 void getMinValueV()const 561 { 562 fprintf(mFile,"\"%s.mmv.mnv\"",mName.c_str()); 563 } getMaxValueV()564 void getMaxValueV()const 565 { 566 fprintf(mFile,"\"%s.mmv.mxv\"",mName.c_str()); 567 } getDegreeUV()568 void getDegreeUV()const 569 { 570 fprintf(mFile,"\"%s.d\"",mName.c_str()); 571 } getDegreeU()572 void getDegreeU()const 573 { 574 fprintf(mFile,"\"%s.d.du\"",mName.c_str()); 575 } getDegreeV()576 void getDegreeV()const 577 { 578 fprintf(mFile,"\"%s.d.dv\"",mName.c_str()); 579 } getSpansUV()580 void getSpansUV()const 581 { 582 fprintf(mFile,"\"%s.sp\"",mName.c_str()); 583 } getSpansU()584 void getSpansU()const 585 { 586 fprintf(mFile,"\"%s.sp.su\"",mName.c_str()); 587 } getSpansV()588 void getSpansV()const 589 { 590 fprintf(mFile,"\"%s.sp.sv\"",mName.c_str()); 591 } getDisplayRenderTessellation()592 void getDisplayRenderTessellation()const 593 { 594 fprintf(mFile,"\"%s.drt\"",mName.c_str()); 595 } getRenderTriangleCount()596 void getRenderTriangleCount()const 597 { 598 fprintf(mFile,"\"%s.tcn\"",mName.c_str()); 599 } getFixTextureWarp()600 void getFixTextureWarp()const 601 { 602 fprintf(mFile,"\"%s.ftwp\"",mName.c_str()); 603 } getGridDivisionPerSpanU()604 void getGridDivisionPerSpanU()const 605 { 606 fprintf(mFile,"\"%s.gdsu\"",mName.c_str()); 607 } getGridDivisionPerSpanV()608 void getGridDivisionPerSpanV()const 609 { 610 fprintf(mFile,"\"%s.gdsv\"",mName.c_str()); 611 } getExplicitTessellationAttributes()612 void getExplicitTessellationAttributes()const 613 { 614 fprintf(mFile,"\"%s.eta\"",mName.c_str()); 615 } getUDivisionsFactor()616 void getUDivisionsFactor()const 617 { 618 fprintf(mFile,"\"%s.nufa\"",mName.c_str()); 619 } getVDivisionsFactor()620 void getVDivisionsFactor()const 621 { 622 fprintf(mFile,"\"%s.nvfa\"",mName.c_str()); 623 } getCurvatureTolerance()624 void getCurvatureTolerance()const 625 { 626 fprintf(mFile,"\"%s.cvto\"",mName.c_str()); 627 } getBasicTessellationType()628 void getBasicTessellationType()const 629 { 630 fprintf(mFile,"\"%s.btt\"",mName.c_str()); 631 } getDispSF()632 void getDispSF()const 633 { 634 fprintf(mFile,"\"%s.dsf\"",mName.c_str()); 635 } getNormalsDisplayScale()636 void getNormalsDisplayScale()const 637 { 638 fprintf(mFile,"\"%s.ndf\"",mName.c_str()); 639 } getMentalRayControls()640 void getMentalRayControls()const 641 { 642 fprintf(mFile,"\"%s.mrc\"",mName.c_str()); 643 } getMiOverrideCaustics()644 void getMiOverrideCaustics()const 645 { 646 fprintf(mFile,"\"%s.mrc.oca\"",mName.c_str()); 647 } getMiCausticAccuracy()648 void getMiCausticAccuracy()const 649 { 650 fprintf(mFile,"\"%s.mrc.caa\"",mName.c_str()); 651 } getMiCausticRadius()652 void getMiCausticRadius()const 653 { 654 fprintf(mFile,"\"%s.mrc.car\"",mName.c_str()); 655 } getMiOverrideGlobalIllumination()656 void getMiOverrideGlobalIllumination()const 657 { 658 fprintf(mFile,"\"%s.mrc.ogi\"",mName.c_str()); 659 } getMiGlobillumAccuracy()660 void getMiGlobillumAccuracy()const 661 { 662 fprintf(mFile,"\"%s.mrc.gia\"",mName.c_str()); 663 } getMiGlobillumRadius()664 void getMiGlobillumRadius()const 665 { 666 fprintf(mFile,"\"%s.mrc.gir\"",mName.c_str()); 667 } getMiOverrideFinalGather()668 void getMiOverrideFinalGather()const 669 { 670 fprintf(mFile,"\"%s.mrc.ofg\"",mName.c_str()); 671 } getMiFinalGatherRays()672 void getMiFinalGatherRays()const 673 { 674 fprintf(mFile,"\"%s.mrc.fry\"",mName.c_str()); 675 } getMiFinalGatherMinRadius()676 void getMiFinalGatherMinRadius()const 677 { 678 fprintf(mFile,"\"%s.mrc.fmn\"",mName.c_str()); 679 } getMiFinalGatherMaxRadius()680 void getMiFinalGatherMaxRadius()const 681 { 682 fprintf(mFile,"\"%s.mrc.fmx\"",mName.c_str()); 683 } getMiFinalGatherFilter()684 void getMiFinalGatherFilter()const 685 { 686 fprintf(mFile,"\"%s.mrc.ffi\"",mName.c_str()); 687 } getMiFinalGatherView()688 void getMiFinalGatherView()const 689 { 690 fprintf(mFile,"\"%s.mrc.fgv\"",mName.c_str()); 691 } getMiOverrideSamples()692 void getMiOverrideSamples()const 693 { 694 fprintf(mFile,"\"%s.mrc.oos\"",mName.c_str()); 695 } getMiMinSamples()696 void getMiMinSamples()const 697 { 698 fprintf(mFile,"\"%s.mrc.mins\"",mName.c_str()); 699 } getMiMaxSamples()700 void getMiMaxSamples()const 701 { 702 fprintf(mFile,"\"%s.mrc.maxs\"",mName.c_str()); 703 } getMiFinalGatherCast()704 void getMiFinalGatherCast()const 705 { 706 fprintf(mFile,"\"%s.mrc.fgc\"",mName.c_str()); 707 } getMiFinalGatherReceive()708 void getMiFinalGatherReceive()const 709 { 710 fprintf(mFile,"\"%s.mrc.fge\"",mName.c_str()); 711 } getMiTransparencyCast()712 void getMiTransparencyCast()const 713 { 714 fprintf(mFile,"\"%s.mrc.tpc\"",mName.c_str()); 715 } getMiTransparencyReceive()716 void getMiTransparencyReceive()const 717 { 718 fprintf(mFile,"\"%s.mrc.tpr\"",mName.c_str()); 719 } getMiReflectionReceive()720 void getMiReflectionReceive()const 721 { 722 fprintf(mFile,"\"%s.mrc.rflr\"",mName.c_str()); 723 } getMiRefractionReceive()724 void getMiRefractionReceive()const 725 { 726 fprintf(mFile,"\"%s.mrc.rfrr\"",mName.c_str()); 727 } 728 protected: 729 NurbsSurface(FILE* file,const std::string& name,const std::string& parent,const std::string& nodeType,bool shared=false,bool create=true) SurfaceShape(file,name,parent,nodeType,shared,create)730 :SurfaceShape(file, name, parent, nodeType, shared, create) {} 731 732 }; 733 }//namespace MayaDM 734 #endif//__MayaDM_NURBSSURFACE_H__ 735