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_FLUIDSHAPE_H__ 11 #define __MayaDM_FLUIDSHAPE_H__ 12 #include "MayaDMTypes.h" 13 #include "MayaDMConnectables.h" 14 #include "MayaDMSurfaceShape.h" 15 namespace MayaDM 16 { 17 class FluidShape : public SurfaceShape 18 { 19 public: 20 struct Resolution{ 21 int resolutionW; 22 int resolutionH; 23 int resolutionD; writeResolution24 void write(FILE* file) const 25 { 26 fprintf(file,"%i ", resolutionW); 27 fprintf(file,"%i ", resolutionH); 28 fprintf(file,"%i", resolutionD); 29 } 30 }; 31 struct Dimensions{ 32 double dimensionsW; 33 double dimensionsH; 34 double dimensionsD; writeDimensions35 void write(FILE* file) const 36 { 37 fprintf(file,"%f ", dimensionsW); 38 fprintf(file,"%f ", dimensionsH); 39 fprintf(file,"%f", dimensionsD); 40 } 41 }; 42 struct FieldData{ writeFieldData43 void write(FILE* file) const 44 { 45 } 46 }; 47 struct FieldList{ 48 struct FieldFunction{ 49 struct FieldFunction_Inmap{ 50 short fieldFunction_InmapTo; 51 short fieldFunction_InmapFrom; writeFieldList::FieldFunction::FieldFunction_Inmap52 void write(FILE* file) const 53 { 54 fprintf(file,"%i ", fieldFunction_InmapTo); 55 fprintf(file,"%i", fieldFunction_InmapFrom); 56 } 57 }* fieldFunction_Inmap; 58 size_t nbFieldFunction_Inmap; 59 struct FieldFunction_Outmap{ 60 short fieldFunction_OutmapTo; 61 short fieldFunction_OutmapFrom; writeFieldList::FieldFunction::FieldFunction_Outmap62 void write(FILE* file) const 63 { 64 fprintf(file,"%i ", fieldFunction_OutmapTo); 65 fprintf(file,"%i", fieldFunction_OutmapFrom); 66 } 67 }* fieldFunction_Outmap; 68 size_t nbFieldFunction_Outmap; writeFieldList::FieldFunction69 void write(FILE* file) const 70 { 71 for (size_t i = 0; i<nbFieldFunction_Inmap; ++i) 72 { 73 fieldFunction_Inmap[i].write(file); 74 fprintf(file, " "); 75 if (i + 1<nbFieldFunction_Inmap) fprintf(file, " "); 76 } 77 for (size_t i = 0; i<nbFieldFunction_Outmap; ++i) 78 { 79 fieldFunction_Outmap[i].write(file); 80 if (i + 1<nbFieldFunction_Outmap) fprintf(file, " "); 81 } 82 } 83 } fieldFunction; writeFieldList84 void write(FILE* file) const 85 { 86 fieldFunction.write(file); 87 } 88 }; 89 struct EmissionList{ 90 struct EmissionFunction{ 91 struct EmissionFunction_Inmap{ 92 short emissionFunction_InmapTo; 93 short emissionFunction_InmapFrom; writeEmissionList::EmissionFunction::EmissionFunction_Inmap94 void write(FILE* file) const 95 { 96 fprintf(file,"%i ", emissionFunction_InmapTo); 97 fprintf(file,"%i", emissionFunction_InmapFrom); 98 } 99 }* emissionFunction_Inmap; 100 size_t nbEmissionFunction_Inmap; 101 struct EmissionFunction_Outmap{ 102 short emissionFunction_OutmapTo; 103 short emissionFunction_OutmapFrom; writeEmissionList::EmissionFunction::EmissionFunction_Outmap104 void write(FILE* file) const 105 { 106 fprintf(file,"%i ", emissionFunction_OutmapTo); 107 fprintf(file,"%i", emissionFunction_OutmapFrom); 108 } 109 }* emissionFunction_Outmap; 110 size_t nbEmissionFunction_Outmap; writeEmissionList::EmissionFunction111 void write(FILE* file) const 112 { 113 for (size_t i = 0; i<nbEmissionFunction_Inmap; ++i) 114 { 115 emissionFunction_Inmap[i].write(file); 116 fprintf(file, " "); 117 if (i + 1<nbEmissionFunction_Inmap) fprintf(file, " "); 118 } 119 for (size_t i = 0; i<nbEmissionFunction_Outmap; ++i) 120 { 121 emissionFunction_Outmap[i].write(file); 122 if (i + 1<nbEmissionFunction_Outmap) fprintf(file, " "); 123 } 124 } 125 } emissionFunction; writeEmissionList126 void write(FILE* file) const 127 { 128 emissionFunction.write(file); 129 } 130 }; 131 struct SubVolumeCenter{ 132 int subVolumeCenterW; 133 int subVolumeCenterH; 134 int subVolumeCenterD; writeSubVolumeCenter135 void write(FILE* file) const 136 { 137 fprintf(file,"%i ", subVolumeCenterW); 138 fprintf(file,"%i ", subVolumeCenterH); 139 fprintf(file,"%i ", subVolumeCenterD); 140 } 141 }; 142 struct SubVolumeSize{ 143 int subVolumeSizeW; 144 int subVolumeSizeH; 145 int subVolumeSizeD; writeSubVolumeSize146 void write(FILE* file) const 147 { 148 fprintf(file,"%i ", subVolumeSizeW); 149 fprintf(file,"%i ", subVolumeSizeH); 150 fprintf(file,"%i ", subVolumeSizeD); 151 } 152 }; 153 struct InputData{ 154 vectorArray inputPositions; 155 vectorArray inputVelocities; 156 doubleArray inputMass; 157 double deltaTime; writeInputData158 void write(FILE* file) const 159 { 160 inputPositions.write(file); 161 fprintf(file, " "); 162 inputVelocities.write(file); 163 fprintf(file, " "); 164 inputMass.write(file); 165 fprintf(file, " "); 166 fprintf(file,"%f", deltaTime); 167 } 168 }; 169 struct Color{ 170 float color_Position; 171 float3 color_Color; 172 unsigned int color_Interp; writeColor173 void write(FILE* file) const 174 { 175 fprintf(file,"%f ", color_Position); 176 color_Color.write(file); 177 fprintf(file, " "); 178 fprintf(file,"%i", color_Interp); 179 } 180 }; 181 struct Opacity{ 182 float opacity_Position; 183 float opacity_FloatValue; 184 unsigned int opacity_Interp; writeOpacity185 void write(FILE* file) const 186 { 187 fprintf(file,"%f ", opacity_Position); 188 fprintf(file,"%f ", opacity_FloatValue); 189 fprintf(file,"%i", opacity_Interp); 190 } 191 }; 192 struct Incandescence{ 193 float incandescence_Position; 194 float3 incandescence_Color; 195 unsigned int incandescence_Interp; writeIncandescence196 void write(FILE* file) const 197 { 198 fprintf(file,"%f ", incandescence_Position); 199 incandescence_Color.write(file); 200 fprintf(file, " "); 201 fprintf(file,"%i", incandescence_Interp); 202 } 203 }; 204 struct Environment{ 205 float environment_Position; 206 float3 environment_Color; 207 unsigned int environment_Interp; writeEnvironment208 void write(FILE* file) const 209 { 210 fprintf(file,"%f ", environment_Position); 211 environment_Color.write(file); 212 fprintf(file, " "); 213 fprintf(file,"%i", environment_Interp); 214 } 215 }; 216 struct CollisionData{ writeCollisionData217 void write(FILE* file) const 218 { 219 } 220 }; 221 struct MentalRayControls{ 222 bool miOverrideCaustics; 223 short miCausticAccuracy; 224 float miCausticRadius; 225 bool miOverrideGlobalIllumination; 226 short miGlobillumAccuracy; 227 float miGlobillumRadius; 228 bool miOverrideFinalGather; 229 int miFinalGatherRays; 230 float miFinalGatherMinRadius; 231 float miFinalGatherMaxRadius; 232 short miFinalGatherFilter; 233 bool miFinalGatherView; 234 bool miOverrideSamples; 235 short miMinSamples; 236 short miMaxSamples; writeMentalRayControls237 void write(FILE* file) const 238 { 239 fprintf(file,"%i ", miOverrideCaustics); 240 fprintf(file,"%i ", miCausticAccuracy); 241 fprintf(file,"%f ", miCausticRadius); 242 fprintf(file,"%i ", miOverrideGlobalIllumination); 243 fprintf(file,"%i ", miGlobillumAccuracy); 244 fprintf(file,"%f ", miGlobillumRadius); 245 fprintf(file,"%i ", miOverrideFinalGather); 246 fprintf(file,"%i ", miFinalGatherRays); 247 fprintf(file,"%f ", miFinalGatherMinRadius); 248 fprintf(file,"%f ", miFinalGatherMaxRadius); 249 fprintf(file,"%i ", miFinalGatherFilter); 250 fprintf(file,"%i ", miFinalGatherView); 251 fprintf(file,"%i ", miOverrideSamples); 252 fprintf(file,"%i ", miMinSamples); 253 fprintf(file,"%i", miMaxSamples); 254 } 255 }; 256 public: 257 FluidShape()258 FluidShape():SurfaceShape(){} 259 FluidShape(FILE* file,const std::string& name,const std::string& parent="",bool shared=false,bool create=true) 260 :SurfaceShape(file, name, parent, "fluidShape", shared, create){} ~FluidShape()261 virtual ~FluidShape(){} 262 setStartFrame(double stf)263 void setStartFrame(double stf) 264 { 265 if(stf == 1.0) return; 266 fprintf(mFile,"\tsetAttr \".stf\" %f;\n", stf); 267 } setDisableInteractiveEval(bool die)268 void setDisableInteractiveEval(bool die) 269 { 270 if(die == false) return; 271 fprintf(mFile,"\tsetAttr \".die\" %i;\n", die); 272 } setIs2d(bool is2)273 void setIs2d(bool is2) 274 { 275 if(is2 == false) return; 276 fprintf(mFile,"\tsetAttr \".is2\" %i;\n", is2); 277 } setResolution(const Resolution & res)278 void setResolution(const Resolution& res) 279 { 280 fprintf(mFile,"\tsetAttr \".res\" "); 281 res.write(mFile); 282 fprintf(mFile,";\n"); 283 } setResolutionW(int rw)284 void setResolutionW(int rw) 285 { 286 if(rw == 10) return; 287 fprintf(mFile,"\tsetAttr \".res.rw\" %i;\n", rw); 288 } setResolutionH(int rh)289 void setResolutionH(int rh) 290 { 291 if(rh == 10) return; 292 fprintf(mFile,"\tsetAttr \".res.rh\" %i;\n", rh); 293 } setResolutionD(int rd)294 void setResolutionD(int rd) 295 { 296 if(rd == 10) return; 297 fprintf(mFile,"\tsetAttr \".res.rd\" %i;\n", rd); 298 } setDimensions(const Dimensions & dim)299 void setDimensions(const Dimensions& dim) 300 { 301 fprintf(mFile,"\tsetAttr \".dim\" "); 302 dim.write(mFile); 303 fprintf(mFile,";\n"); 304 } setDimensionsW(double dw)305 void setDimensionsW(double dw) 306 { 307 if(dw == 3) return; 308 fprintf(mFile,"\tsetAttr \".dim.dw\" %f;\n", dw); 309 } setDimensionsH(double dh)310 void setDimensionsH(double dh) 311 { 312 if(dh == 3) return; 313 fprintf(mFile,"\tsetAttr \".dim.dh\" %f;\n", dh); 314 } setDimensionsD(double dd)315 void setDimensionsD(double dd) 316 { 317 if(dd == 3) return; 318 fprintf(mFile,"\tsetAttr \".dim.dd\" %f;\n", dd); 319 } setDoFields(bool dfr)320 void setDoFields(bool dfr) 321 { 322 if(dfr == true) return; 323 fprintf(mFile,"\tsetAttr \".dfr\" %i;\n", dfr); 324 } setFieldList(size_t fll_i,const FieldList & fll)325 void setFieldList(size_t fll_i,const FieldList& fll) 326 { 327 fprintf(mFile,"\tsetAttr \".fll[%i]\" ",fll_i); 328 fll.write(mFile); 329 fprintf(mFile,";\n"); 330 } setFieldList(size_t fll_start,size_t fll_end,FieldList * fll)331 void setFieldList(size_t fll_start,size_t fll_end,FieldList* fll) 332 { 333 fprintf(mFile,"\tsetAttr \".fll[%i:%i]\" ", fll_start,fll_end); 334 size_t size = (fll_end-fll_start)*1+1; 335 for(size_t i=0;i<size;++i) 336 { 337 fll[i].write(mFile); 338 fprintf(mFile,"\n"); 339 } 340 fprintf(mFile,";\n"); 341 } startFieldList(size_t fll_start,size_t fll_end)342 void startFieldList(size_t fll_start,size_t fll_end)const 343 { 344 fprintf(mFile,"\tsetAttr \".fll[%i:%i]\"",fll_start,fll_end); 345 fprintf(mFile," -type \"FieldList\" "); 346 } appendFieldList(const FieldList & fll)347 void appendFieldList(const FieldList& fll)const 348 { 349 fprintf(mFile," "); 350 fll.write(mFile); 351 } endFieldList()352 void endFieldList()const 353 { 354 fprintf(mFile,";\n"); 355 } setFieldFunction(size_t fll_i,const FieldList::FieldFunction & frf)356 void setFieldFunction(size_t fll_i,const FieldList::FieldFunction& frf) 357 { 358 fprintf(mFile,"\tsetAttr \".fll[%i].frf\" ",fll_i); 359 frf.write(mFile); 360 fprintf(mFile,";\n"); 361 } setFieldFunction_Inmap(size_t fll_i,size_t frfi_i,const FieldList::FieldFunction::FieldFunction_Inmap & frfi)362 void setFieldFunction_Inmap(size_t fll_i,size_t frfi_i,const FieldList::FieldFunction::FieldFunction_Inmap& frfi) 363 { 364 fprintf(mFile,"\tsetAttr \".fll[%i].frf.frfi[%i]\" ",fll_i,frfi_i); 365 frfi.write(mFile); 366 fprintf(mFile,";\n"); 367 } setFieldFunction_Inmap(size_t fll_i,size_t frfi_start,size_t frfi_end,FieldList::FieldFunction::FieldFunction_Inmap * frfi)368 void setFieldFunction_Inmap(size_t fll_i,size_t frfi_start,size_t frfi_end,FieldList::FieldFunction::FieldFunction_Inmap* frfi) 369 { 370 fprintf(mFile,"\tsetAttr \".fll[%i].frf.frfi[%i:%i]\" ", fll_i,frfi_start,frfi_end); 371 size_t size = (frfi_end-frfi_start)*1+1; 372 for(size_t i=0;i<size;++i) 373 { 374 frfi[i].write(mFile); 375 fprintf(mFile,"\n"); 376 } 377 fprintf(mFile,";\n"); 378 } startFieldFunction_Inmap(size_t fll_i,size_t frfi_start,size_t frfi_end)379 void startFieldFunction_Inmap(size_t fll_i,size_t frfi_start,size_t frfi_end)const 380 { 381 fprintf(mFile,"\tsetAttr \".fll[%i].frf.frfi[%i:%i]\"",fll_i,frfi_start,frfi_end); 382 fprintf(mFile," -type \"FieldList::FieldFunction::FieldFunction_Inmap\" "); 383 } appendFieldFunction_Inmap(const FieldList::FieldFunction::FieldFunction_Inmap & frfi)384 void appendFieldFunction_Inmap(const FieldList::FieldFunction::FieldFunction_Inmap& frfi)const 385 { 386 fprintf(mFile," "); 387 frfi.write(mFile); 388 } endFieldFunction_Inmap()389 void endFieldFunction_Inmap()const 390 { 391 fprintf(mFile,";\n"); 392 } setFieldFunction_InmapTo(size_t fll_i,size_t frfi_i,short frfit)393 void setFieldFunction_InmapTo(size_t fll_i,size_t frfi_i,short frfit) 394 { 395 if(frfit == 0) return; 396 fprintf(mFile,"\tsetAttr \".fll[%i].frf.frfi[%i].frfit\" %i;\n", fll_i,frfi_i,frfit); 397 } setFieldFunction_InmapFrom(size_t fll_i,size_t frfi_i,short frfif)398 void setFieldFunction_InmapFrom(size_t fll_i,size_t frfi_i,short frfif) 399 { 400 if(frfif == 0) return; 401 fprintf(mFile,"\tsetAttr \".fll[%i].frf.frfi[%i].frfif\" %i;\n", fll_i,frfi_i,frfif); 402 } setFieldFunction_Outmap(size_t fll_i,size_t frfo_i,const FieldList::FieldFunction::FieldFunction_Outmap & frfo)403 void setFieldFunction_Outmap(size_t fll_i,size_t frfo_i,const FieldList::FieldFunction::FieldFunction_Outmap& frfo) 404 { 405 fprintf(mFile,"\tsetAttr \".fll[%i].frf.frfo[%i]\" ",fll_i,frfo_i); 406 frfo.write(mFile); 407 fprintf(mFile,";\n"); 408 } setFieldFunction_Outmap(size_t fll_i,size_t frfo_start,size_t frfo_end,FieldList::FieldFunction::FieldFunction_Outmap * frfo)409 void setFieldFunction_Outmap(size_t fll_i,size_t frfo_start,size_t frfo_end,FieldList::FieldFunction::FieldFunction_Outmap* frfo) 410 { 411 fprintf(mFile,"\tsetAttr \".fll[%i].frf.frfo[%i:%i]\" ", fll_i,frfo_start,frfo_end); 412 size_t size = (frfo_end-frfo_start)*1+1; 413 for(size_t i=0;i<size;++i) 414 { 415 frfo[i].write(mFile); 416 fprintf(mFile,"\n"); 417 } 418 fprintf(mFile,";\n"); 419 } startFieldFunction_Outmap(size_t fll_i,size_t frfo_start,size_t frfo_end)420 void startFieldFunction_Outmap(size_t fll_i,size_t frfo_start,size_t frfo_end)const 421 { 422 fprintf(mFile,"\tsetAttr \".fll[%i].frf.frfo[%i:%i]\"",fll_i,frfo_start,frfo_end); 423 fprintf(mFile," -type \"FieldList::FieldFunction::FieldFunction_Outmap\" "); 424 } appendFieldFunction_Outmap(const FieldList::FieldFunction::FieldFunction_Outmap & frfo)425 void appendFieldFunction_Outmap(const FieldList::FieldFunction::FieldFunction_Outmap& frfo)const 426 { 427 fprintf(mFile," "); 428 frfo.write(mFile); 429 } endFieldFunction_Outmap()430 void endFieldFunction_Outmap()const 431 { 432 fprintf(mFile,";\n"); 433 } setFieldFunction_OutmapTo(size_t fll_i,size_t frfo_i,short frfot)434 void setFieldFunction_OutmapTo(size_t fll_i,size_t frfo_i,short frfot) 435 { 436 if(frfot == 0) return; 437 fprintf(mFile,"\tsetAttr \".fll[%i].frf.frfo[%i].frfot\" %i;\n", fll_i,frfo_i,frfot); 438 } setFieldFunction_OutmapFrom(size_t fll_i,size_t frfo_i,short frfof)439 void setFieldFunction_OutmapFrom(size_t fll_i,size_t frfo_i,short frfof) 440 { 441 if(frfof == 0) return; 442 fprintf(mFile,"\tsetAttr \".fll[%i].frf.frfo[%i].frfof\" %i;\n", fll_i,frfo_i,frfof); 443 } setDoEmission(bool de)444 void setDoEmission(bool de) 445 { 446 if(de == true) return; 447 fprintf(mFile,"\tsetAttr \".de\" %i;\n", de); 448 } setInheritFactor(double inh)449 void setInheritFactor(double inh) 450 { 451 if(inh == 0.0) return; 452 fprintf(mFile,"\tsetAttr \".inh\" %f;\n", inh); 453 } setSeed(size_t sd_i,int sd)454 void setSeed(size_t sd_i,int sd) 455 { 456 if(sd == 1) return; 457 fprintf(mFile,"\tsetAttr \".sd[%i]\" %i;\n", sd_i,sd); 458 } setSeed(size_t sd_start,size_t sd_end,int * sd)459 void setSeed(size_t sd_start,size_t sd_end,int* sd) 460 { 461 fprintf(mFile,"\tsetAttr \".sd[%i:%i]\" ", sd_start,sd_end); 462 size_t size = (sd_end-sd_start)*1+1; 463 for(size_t i=0;i<size;++i) 464 { 465 fprintf(mFile,"%i",sd[i]); 466 if(i+1<size) fprintf(mFile," "); 467 } 468 fprintf(mFile,";\n"); 469 } startSeed(size_t sd_start,size_t sd_end)470 void startSeed(size_t sd_start,size_t sd_end)const 471 { 472 fprintf(mFile,"\tsetAttr \".sd[%i:%i]\"",sd_start,sd_end); 473 } appendSeed(int sd)474 void appendSeed(int sd)const 475 { 476 fprintf(mFile," %i",sd); 477 } endSeed()478 void endSeed()const 479 { 480 fprintf(mFile,";\n"); 481 } setEmissionList(size_t eml_i,const EmissionList & eml)482 void setEmissionList(size_t eml_i,const EmissionList& eml) 483 { 484 fprintf(mFile,"\tsetAttr \".eml[%i]\" ",eml_i); 485 eml.write(mFile); 486 fprintf(mFile,";\n"); 487 } setEmissionList(size_t eml_start,size_t eml_end,EmissionList * eml)488 void setEmissionList(size_t eml_start,size_t eml_end,EmissionList* eml) 489 { 490 fprintf(mFile,"\tsetAttr \".eml[%i:%i]\" ", eml_start,eml_end); 491 size_t size = (eml_end-eml_start)*1+1; 492 for(size_t i=0;i<size;++i) 493 { 494 eml[i].write(mFile); 495 fprintf(mFile,"\n"); 496 } 497 fprintf(mFile,";\n"); 498 } startEmissionList(size_t eml_start,size_t eml_end)499 void startEmissionList(size_t eml_start,size_t eml_end)const 500 { 501 fprintf(mFile,"\tsetAttr \".eml[%i:%i]\"",eml_start,eml_end); 502 fprintf(mFile," -type \"EmissionList\" "); 503 } appendEmissionList(const EmissionList & eml)504 void appendEmissionList(const EmissionList& eml)const 505 { 506 fprintf(mFile," "); 507 eml.write(mFile); 508 } endEmissionList()509 void endEmissionList()const 510 { 511 fprintf(mFile,";\n"); 512 } setEmissionFunction(size_t eml_i,const EmissionList::EmissionFunction & emf)513 void setEmissionFunction(size_t eml_i,const EmissionList::EmissionFunction& emf) 514 { 515 fprintf(mFile,"\tsetAttr \".eml[%i].emf\" ",eml_i); 516 emf.write(mFile); 517 fprintf(mFile,";\n"); 518 } setEmissionFunction_Inmap(size_t eml_i,size_t emfi_i,const EmissionList::EmissionFunction::EmissionFunction_Inmap & emfi)519 void setEmissionFunction_Inmap(size_t eml_i,size_t emfi_i,const EmissionList::EmissionFunction::EmissionFunction_Inmap& emfi) 520 { 521 fprintf(mFile,"\tsetAttr \".eml[%i].emf.emfi[%i]\" ",eml_i,emfi_i); 522 emfi.write(mFile); 523 fprintf(mFile,";\n"); 524 } setEmissionFunction_Inmap(size_t eml_i,size_t emfi_start,size_t emfi_end,EmissionList::EmissionFunction::EmissionFunction_Inmap * emfi)525 void setEmissionFunction_Inmap(size_t eml_i,size_t emfi_start,size_t emfi_end,EmissionList::EmissionFunction::EmissionFunction_Inmap* emfi) 526 { 527 fprintf(mFile,"\tsetAttr \".eml[%i].emf.emfi[%i:%i]\" ", eml_i,emfi_start,emfi_end); 528 size_t size = (emfi_end-emfi_start)*1+1; 529 for(size_t i=0;i<size;++i) 530 { 531 emfi[i].write(mFile); 532 fprintf(mFile,"\n"); 533 } 534 fprintf(mFile,";\n"); 535 } startEmissionFunction_Inmap(size_t eml_i,size_t emfi_start,size_t emfi_end)536 void startEmissionFunction_Inmap(size_t eml_i,size_t emfi_start,size_t emfi_end)const 537 { 538 fprintf(mFile,"\tsetAttr \".eml[%i].emf.emfi[%i:%i]\"",eml_i,emfi_start,emfi_end); 539 fprintf(mFile," -type \"EmissionList::EmissionFunction::EmissionFunction_Inmap\" "); 540 } appendEmissionFunction_Inmap(const EmissionList::EmissionFunction::EmissionFunction_Inmap & emfi)541 void appendEmissionFunction_Inmap(const EmissionList::EmissionFunction::EmissionFunction_Inmap& emfi)const 542 { 543 fprintf(mFile," "); 544 emfi.write(mFile); 545 } endEmissionFunction_Inmap()546 void endEmissionFunction_Inmap()const 547 { 548 fprintf(mFile,";\n"); 549 } setEmissionFunction_InmapTo(size_t eml_i,size_t emfi_i,short emfit)550 void setEmissionFunction_InmapTo(size_t eml_i,size_t emfi_i,short emfit) 551 { 552 if(emfit == 0) return; 553 fprintf(mFile,"\tsetAttr \".eml[%i].emf.emfi[%i].emfit\" %i;\n", eml_i,emfi_i,emfit); 554 } setEmissionFunction_InmapFrom(size_t eml_i,size_t emfi_i,short emfif)555 void setEmissionFunction_InmapFrom(size_t eml_i,size_t emfi_i,short emfif) 556 { 557 if(emfif == 0) return; 558 fprintf(mFile,"\tsetAttr \".eml[%i].emf.emfi[%i].emfif\" %i;\n", eml_i,emfi_i,emfif); 559 } setEmissionFunction_Outmap(size_t eml_i,size_t emfo_i,const EmissionList::EmissionFunction::EmissionFunction_Outmap & emfo)560 void setEmissionFunction_Outmap(size_t eml_i,size_t emfo_i,const EmissionList::EmissionFunction::EmissionFunction_Outmap& emfo) 561 { 562 fprintf(mFile,"\tsetAttr \".eml[%i].emf.emfo[%i]\" ",eml_i,emfo_i); 563 emfo.write(mFile); 564 fprintf(mFile,";\n"); 565 } setEmissionFunction_Outmap(size_t eml_i,size_t emfo_start,size_t emfo_end,EmissionList::EmissionFunction::EmissionFunction_Outmap * emfo)566 void setEmissionFunction_Outmap(size_t eml_i,size_t emfo_start,size_t emfo_end,EmissionList::EmissionFunction::EmissionFunction_Outmap* emfo) 567 { 568 fprintf(mFile,"\tsetAttr \".eml[%i].emf.emfo[%i:%i]\" ", eml_i,emfo_start,emfo_end); 569 size_t size = (emfo_end-emfo_start)*1+1; 570 for(size_t i=0;i<size;++i) 571 { 572 emfo[i].write(mFile); 573 fprintf(mFile,"\n"); 574 } 575 fprintf(mFile,";\n"); 576 } startEmissionFunction_Outmap(size_t eml_i,size_t emfo_start,size_t emfo_end)577 void startEmissionFunction_Outmap(size_t eml_i,size_t emfo_start,size_t emfo_end)const 578 { 579 fprintf(mFile,"\tsetAttr \".eml[%i].emf.emfo[%i:%i]\"",eml_i,emfo_start,emfo_end); 580 fprintf(mFile," -type \"EmissionList::EmissionFunction::EmissionFunction_Outmap\" "); 581 } appendEmissionFunction_Outmap(const EmissionList::EmissionFunction::EmissionFunction_Outmap & emfo)582 void appendEmissionFunction_Outmap(const EmissionList::EmissionFunction::EmissionFunction_Outmap& emfo)const 583 { 584 fprintf(mFile," "); 585 emfo.write(mFile); 586 } endEmissionFunction_Outmap()587 void endEmissionFunction_Outmap()const 588 { 589 fprintf(mFile,";\n"); 590 } setEmissionFunction_OutmapTo(size_t eml_i,size_t emfo_i,short emfot)591 void setEmissionFunction_OutmapTo(size_t eml_i,size_t emfo_i,short emfot) 592 { 593 if(emfot == 0) return; 594 fprintf(mFile,"\tsetAttr \".eml[%i].emf.emfo[%i].emfot\" %i;\n", eml_i,emfo_i,emfot); 595 } setEmissionFunction_OutmapFrom(size_t eml_i,size_t emfo_i,short emfof)596 void setEmissionFunction_OutmapFrom(size_t eml_i,size_t emfo_i,short emfof) 597 { 598 if(emfof == 0) return; 599 fprintf(mFile,"\tsetAttr \".eml[%i].emf.emfo[%i].emfof\" %i;\n", eml_i,emfo_i,emfof); 600 } setSlices(int sli)601 void setSlices(int sli) 602 { 603 if(sli == 2) return; 604 fprintf(mFile,"\tsetAttr \".sli\" %i;\n", sli); 605 } setVoxelQuality(unsigned int vqu)606 void setVoxelQuality(unsigned int vqu) 607 { 608 if(vqu == 0) return; 609 fprintf(mFile,"\tsetAttr \".vqu\" %i;\n", vqu); 610 } setDrawSubVolume(bool dsv)611 void setDrawSubVolume(bool dsv) 612 { 613 if(dsv == false) return; 614 fprintf(mFile,"\tsetAttr \".dsv\" %i;\n", dsv); 615 } setSubVolumeCenter(const SubVolumeCenter & svc)616 void setSubVolumeCenter(const SubVolumeCenter& svc) 617 { 618 fprintf(mFile,"\tsetAttr \".svc\" "); 619 svc.write(mFile); 620 fprintf(mFile,";\n"); 621 } setSubVolumeCenterW(int scw)622 void setSubVolumeCenterW(int scw) 623 { 624 if(scw == -1) return; 625 fprintf(mFile,"\tsetAttr \".svc.scw\" %i;\n", scw); 626 } setSubVolumeCenterH(int sch)627 void setSubVolumeCenterH(int sch) 628 { 629 if(sch == -1) return; 630 fprintf(mFile,"\tsetAttr \".svc.sch\" %i;\n", sch); 631 } setSubVolumeCenterD(int scd)632 void setSubVolumeCenterD(int scd) 633 { 634 if(scd == -1) return; 635 fprintf(mFile,"\tsetAttr \".svc.scd\" %i;\n", scd); 636 } setSubVolumeSize(const SubVolumeSize & svs)637 void setSubVolumeSize(const SubVolumeSize& svs) 638 { 639 fprintf(mFile,"\tsetAttr \".svs\" "); 640 svs.write(mFile); 641 fprintf(mFile,";\n"); 642 } setSubVolumeSizeW(int ssw)643 void setSubVolumeSizeW(int ssw) 644 { 645 if(ssw == -1) return; 646 fprintf(mFile,"\tsetAttr \".svs.ssw\" %i;\n", ssw); 647 } setSubVolumeSizeH(int ssh)648 void setSubVolumeSizeH(int ssh) 649 { 650 if(ssh == -1) return; 651 fprintf(mFile,"\tsetAttr \".svs.ssh\" %i;\n", ssh); 652 } setSubVolumeSizeD(int ssd)653 void setSubVolumeSizeD(int ssd) 654 { 655 if(ssd == -1) return; 656 fprintf(mFile,"\tsetAttr \".svs.ssd\" %i;\n", ssd); 657 } setBoundaryDraw(unsigned int bod)658 void setBoundaryDraw(unsigned int bod) 659 { 660 if(bod == 0) return; 661 fprintf(mFile,"\tsetAttr \".bod\" %i;\n", bod); 662 } setDrawHeads(bool dhd)663 void setDrawHeads(bool dhd) 664 { 665 if(dhd == true) return; 666 fprintf(mFile,"\tsetAttr \".dhd\" %i;\n", dhd); 667 } setVelocityDraw(bool vld)668 void setVelocityDraw(bool vld) 669 { 670 if(vld == false) return; 671 fprintf(mFile,"\tsetAttr \".vld\" %i;\n", vld); 672 } setVelocityDrawLength(double vdl)673 void setVelocityDrawLength(double vdl) 674 { 675 if(vdl == 1) return; 676 fprintf(mFile,"\tsetAttr \".vdl\" %f;\n", vdl); 677 } setVelocityDrawSkip(int vds)678 void setVelocityDrawSkip(int vds) 679 { 680 if(vds == 1) return; 681 fprintf(mFile,"\tsetAttr \".vds\" %i;\n", vds); 682 } setShadedDisplay(unsigned int sdp)683 void setShadedDisplay(unsigned int sdp) 684 { 685 if(sdp == 1) return; 686 fprintf(mFile,"\tsetAttr \".sdp\" %i;\n", sdp); 687 } setOpacityPreviewGain(float opg)688 void setOpacityPreviewGain(float opg) 689 { 690 if(opg == 0.5) return; 691 fprintf(mFile,"\tsetAttr \".opg\" %f;\n", opg); 692 } setWireframeDisplay(unsigned int wdp)693 void setWireframeDisplay(unsigned int wdp) 694 { 695 if(wdp == 2) return; 696 fprintf(mFile,"\tsetAttr \".wdp\" %i;\n", wdp); 697 } setNumericDisplay(unsigned int nud)698 void setNumericDisplay(unsigned int nud) 699 { 700 if(nud == 0) return; 701 fprintf(mFile,"\tsetAttr \".nud\" %i;\n", nud); 702 } setHardwareSelfShadow(bool hss)703 void setHardwareSelfShadow(bool hss) 704 { 705 if(hss == true) return; 706 fprintf(mFile,"\tsetAttr \".hss\" %i;\n", hss); 707 } setCoordinateMethod(unsigned int cmet)708 void setCoordinateMethod(unsigned int cmet) 709 { 710 if(cmet == 0) return; 711 fprintf(mFile,"\tsetAttr \".cmet\" %i;\n", cmet); 712 } setOverrideTimeStep(double ots)713 void setOverrideTimeStep(double ots) 714 { 715 if(ots == 1) return; 716 fprintf(mFile,"\tsetAttr \".ots\" %f;\n", ots); 717 } setSimulationRateScale(float srs)718 void setSimulationRateScale(float srs) 719 { 720 if(srs == 1) return; 721 fprintf(mFile,"\tsetAttr \".srs\" %f;\n", srs); 722 } setGridInterpolator(unsigned int gdi)723 void setGridInterpolator(unsigned int gdi) 724 { 725 if(gdi == 0) return; 726 fprintf(mFile,"\tsetAttr \".gdi\" %i;\n", gdi); 727 } setForceDynamics(bool fdn)728 void setForceDynamics(bool fdn) 729 { 730 if(fdn == false) return; 731 fprintf(mFile,"\tsetAttr \".fdn\" %i;\n", fdn); 732 } setSolver(unsigned int sol)733 void setSolver(unsigned int sol) 734 { 735 if(sol == 1) return; 736 fprintf(mFile,"\tsetAttr \".sol\" %i;\n", sol); 737 } setSolverQuality(int sql)738 void setSolverQuality(int sql) 739 { 740 if(sql == 20) return; 741 fprintf(mFile,"\tsetAttr \".sql\" %i;\n", sql); 742 } setHighDetailSolve(unsigned int hds)743 void setHighDetailSolve(unsigned int hds) 744 { 745 if(hds == 0) return; 746 fprintf(mFile,"\tsetAttr \".hds\" %i;\n", hds); 747 } setBoundaryX(unsigned int bndx)748 void setBoundaryX(unsigned int bndx) 749 { 750 if(bndx == 1) return; 751 fprintf(mFile,"\tsetAttr \".bndx\" %i;\n", bndx); 752 } setBoundaryY(unsigned int bndy)753 void setBoundaryY(unsigned int bndy) 754 { 755 if(bndy == 1) return; 756 fprintf(mFile,"\tsetAttr \".bndy\" %i;\n", bndy); 757 } setBoundaryZ(unsigned int bndz)758 void setBoundaryZ(unsigned int bndz) 759 { 760 if(bndz == 1) return; 761 fprintf(mFile,"\tsetAttr \".bndz\" %i;\n", bndz); 762 } setMassConversion(double mcv)763 void setMassConversion(double mcv) 764 { 765 if(mcv == 1) return; 766 fprintf(mFile,"\tsetAttr \".mcv\" %f;\n", mcv); 767 } setFalloffMethod(unsigned int fmt)768 void setFalloffMethod(unsigned int fmt) 769 { 770 if(fmt == 0) return; 771 fprintf(mFile,"\tsetAttr \".fmt\" %i;\n", fmt); 772 } setDensityMethod(unsigned int dmt)773 void setDensityMethod(unsigned int dmt) 774 { 775 if(dmt == 2) return; 776 fprintf(mFile,"\tsetAttr \".dmt\" %i;\n", dmt); 777 } setDensityGradient(unsigned int dgr)778 void setDensityGradient(unsigned int dgr) 779 { 780 if(dgr == 0) return; 781 fprintf(mFile,"\tsetAttr \".dgr\" %i;\n", dgr); 782 } setDensityScale(float dsc)783 void setDensityScale(float dsc) 784 { 785 if(dsc == 0.5) return; 786 fprintf(mFile,"\tsetAttr \".dsc\" %f;\n", dsc); 787 } setDensityDissipation(double dds)788 void setDensityDissipation(double dds) 789 { 790 if(dds == 0) return; 791 fprintf(mFile,"\tsetAttr \".dds\" %f;\n", dds); 792 } setDensityDiffusion(double ddf)793 void setDensityDiffusion(double ddf) 794 { 795 if(ddf == 0) return; 796 fprintf(mFile,"\tsetAttr \".ddf\" %f;\n", ddf); 797 } setConserveMass(bool cm)798 void setConserveMass(bool cm) 799 { 800 if(cm == true) return; 801 fprintf(mFile,"\tsetAttr \".cm\" %i;\n", cm); 802 } setDensityBuoyancy(float dsb)803 void setDensityBuoyancy(float dsb) 804 { 805 if(dsb == 1.0) return; 806 fprintf(mFile,"\tsetAttr \".dsb\" %f;\n", dsb); 807 } setGravity(float grv)808 void setGravity(float grv) 809 { 810 if(grv == 9.8) return; 811 fprintf(mFile,"\tsetAttr \".grv\" %f;\n", grv); 812 } setVelocityMethod(unsigned int vmt)813 void setVelocityMethod(unsigned int vmt) 814 { 815 if(vmt == 2) return; 816 fprintf(mFile,"\tsetAttr \".vmt\" %i;\n", vmt); 817 } setVelocityGradient(unsigned int vgr)818 void setVelocityGradient(unsigned int vgr) 819 { 820 if(vgr == 0) return; 821 fprintf(mFile,"\tsetAttr \".vgr\" %i;\n", vgr); 822 } setVelocityScale(const float3 & vsc)823 void setVelocityScale(const float3& vsc) 824 { 825 if(vsc == float3(1.0f,1.0f,1.0f)) return; 826 fprintf(mFile,"\tsetAttr \".vsc\" -type \"float3\" "); 827 vsc.write(mFile); 828 fprintf(mFile,";\n"); 829 } setVelocityScaleX(float vsx)830 void setVelocityScaleX(float vsx) 831 { 832 if(vsx == 0.0) return; 833 fprintf(mFile,"\tsetAttr \".vsc.vsx\" %f;\n", vsx); 834 } setVelocityScaleY(float vsy)835 void setVelocityScaleY(float vsy) 836 { 837 if(vsy == 0.0) return; 838 fprintf(mFile,"\tsetAttr \".vsc.vsy\" %f;\n", vsy); 839 } setVelocityScaleZ(float vsz)840 void setVelocityScaleZ(float vsz) 841 { 842 if(vsz == 0.0) return; 843 fprintf(mFile,"\tsetAttr \".vsc.vsz\" %f;\n", vsz); 844 } setViscosity(float viy)845 void setViscosity(float viy) 846 { 847 if(viy == 0) return; 848 fprintf(mFile,"\tsetAttr \".viy\" %f;\n", viy); 849 } setFriction(float fri)850 void setFriction(float fri) 851 { 852 if(fri == 0) return; 853 fprintf(mFile,"\tsetAttr \".fri\" %f;\n", fri); 854 } setVelocitySwirl(float vsw)855 void setVelocitySwirl(float vsw) 856 { 857 if(vsw == 0) return; 858 fprintf(mFile,"\tsetAttr \".vsw\" %f;\n", vsw); 859 } setVelocityDamp(float vdp)860 void setVelocityDamp(float vdp) 861 { 862 if(vdp == 0) return; 863 fprintf(mFile,"\tsetAttr \".vdp\" %f;\n", vdp); 864 } setVelocityAdvect(bool va)865 void setVelocityAdvect(bool va) 866 { 867 if(va == true) return; 868 fprintf(mFile,"\tsetAttr \".va\" %i;\n", va); 869 } setVelocityProject(bool vi)870 void setVelocityProject(bool vi) 871 { 872 if(vi == true) return; 873 fprintf(mFile,"\tsetAttr \".vi\" %i;\n", vi); 874 } setTurbulenceStrength(float tst)875 void setTurbulenceStrength(float tst) 876 { 877 if(tst == 0) return; 878 fprintf(mFile,"\tsetAttr \".tst\" %f;\n", tst); 879 } setTurbulenceFrequency(float tfr)880 void setTurbulenceFrequency(float tfr) 881 { 882 if(tfr == 0.2) return; 883 fprintf(mFile,"\tsetAttr \".tfr\" %f;\n", tfr); 884 } setTurbulenceSpeed(float tbs)885 void setTurbulenceSpeed(float tbs) 886 { 887 if(tbs == .2) return; 888 fprintf(mFile,"\tsetAttr \".tbs\" %f;\n", tbs); 889 } setTurbulenceRes(int trs)890 void setTurbulenceRes(int trs) 891 { 892 if(trs == 10) return; 893 fprintf(mFile,"\tsetAttr \".trs\" %i;\n", trs); 894 } setTemperatureMethod(unsigned int tmet)895 void setTemperatureMethod(unsigned int tmet) 896 { 897 if(tmet == 0) return; 898 fprintf(mFile,"\tsetAttr \".tmet\" %i;\n", tmet); 899 } setTemperatureGradient(unsigned int tgr)900 void setTemperatureGradient(unsigned int tgr) 901 { 902 if(tgr == 0) return; 903 fprintf(mFile,"\tsetAttr \".tgr\" %i;\n", tgr); 904 } setTemperatureScale(float tmsc)905 void setTemperatureScale(float tmsc) 906 { 907 if(tmsc == 1.0) return; 908 fprintf(mFile,"\tsetAttr \".tmsc\" %f;\n", tmsc); 909 } setTemperatureDissipation(double tds)910 void setTemperatureDissipation(double tds) 911 { 912 if(tds == 0.1) return; 913 fprintf(mFile,"\tsetAttr \".tds\" %f;\n", tds); 914 } setTemperatureDiffusion(double tdf)915 void setTemperatureDiffusion(double tdf) 916 { 917 if(tdf == 0.1) return; 918 fprintf(mFile,"\tsetAttr \".tdf\" %f;\n", tdf); 919 } setTemperatureTurbulence(float ttb)920 void setTemperatureTurbulence(float ttb) 921 { 922 if(ttb == 0.1) return; 923 fprintf(mFile,"\tsetAttr \".ttb\" %f;\n", ttb); 924 } setBuoyancy(float buo)925 void setBuoyancy(float buo) 926 { 927 if(buo == 3) return; 928 fprintf(mFile,"\tsetAttr \".buo\" %f;\n", buo); 929 } setColorMethod(unsigned int cmt)930 void setColorMethod(unsigned int cmt) 931 { 932 if(cmt == 0) return; 933 fprintf(mFile,"\tsetAttr \".cmt\" %i;\n", cmt); 934 } setColorDissipation(double cds)935 void setColorDissipation(double cds) 936 { 937 if(cds == 0) return; 938 fprintf(mFile,"\tsetAttr \".cds\" %f;\n", cds); 939 } setColorDiffusion(double cdf)940 void setColorDiffusion(double cdf) 941 { 942 if(cdf == 0) return; 943 fprintf(mFile,"\tsetAttr \".cdf\" %f;\n", cdf); 944 } setFuelMethod(unsigned int fmet)945 void setFuelMethod(unsigned int fmet) 946 { 947 if(fmet == 0) return; 948 fprintf(mFile,"\tsetAttr \".fmet\" %i;\n", fmet); 949 } setFuelGradient(unsigned int fgr)950 void setFuelGradient(unsigned int fgr) 951 { 952 if(fgr == 0) return; 953 fprintf(mFile,"\tsetAttr \".fgr\" %i;\n", fgr); 954 } setFuelScale(float fesc)955 void setFuelScale(float fesc) 956 { 957 if(fesc == 1.0) return; 958 fprintf(mFile,"\tsetAttr \".fesc\" %f;\n", fesc); 959 } setReactionSpeed(float resp)960 void setReactionSpeed(float resp) 961 { 962 if(resp == 0.05) return; 963 fprintf(mFile,"\tsetAttr \".resp\" %f;\n", resp); 964 } setFuelIgnitionTemp(float fuit)965 void setFuelIgnitionTemp(float fuit) 966 { 967 if(fuit == 0.0) return; 968 fprintf(mFile,"\tsetAttr \".fuit\" %f;\n", fuit); 969 } setMaxReactionTemp(float mxrt)970 void setMaxReactionTemp(float mxrt) 971 { 972 if(mxrt == 1.0) return; 973 fprintf(mFile,"\tsetAttr \".mxrt\" %f;\n", mxrt); 974 } setHeatReleased(float hre)975 void setHeatReleased(float hre) 976 { 977 if(hre == 1.0) return; 978 fprintf(mFile,"\tsetAttr \".hre\" %f;\n", hre); 979 } setLightReleased(float lre)980 void setLightReleased(float lre) 981 { 982 if(lre == 0.0) return; 983 fprintf(mFile,"\tsetAttr \".lre\" %f;\n", lre); 984 } setLightColor(const float3 & lco)985 void setLightColor(const float3& lco) 986 { 987 fprintf(mFile,"\tsetAttr \".lco\" -type \"float3\" "); 988 lco.write(mFile); 989 fprintf(mFile,";\n"); 990 } setLightColorR(float lcor)991 void setLightColorR(float lcor) 992 { 993 if(lcor == 1.0) return; 994 fprintf(mFile,"\tsetAttr \".lco.lcor\" %f;\n", lcor); 995 } setLightColorG(float lcog)996 void setLightColorG(float lcog) 997 { 998 if(lcog == 1.0) return; 999 fprintf(mFile,"\tsetAttr \".lco.lcog\" %f;\n", lcog); 1000 } setLightColorB(float lcob)1001 void setLightColorB(float lcob) 1002 { 1003 if(lcob == 1.0) return; 1004 fprintf(mFile,"\tsetAttr \".lco.lcob\" %f;\n", lcob); 1005 } setUsePre70Dynamics(bool updy)1006 void setUsePre70Dynamics(bool updy) 1007 { 1008 if(updy == false) return; 1009 fprintf(mFile,"\tsetAttr \".updy\" %i;\n", updy); 1010 } setInputData(size_t ind_i,const InputData & ind)1011 void setInputData(size_t ind_i,const InputData& ind) 1012 { 1013 fprintf(mFile,"\tsetAttr \".ind[%i]\" ",ind_i); 1014 ind.write(mFile); 1015 fprintf(mFile,";\n"); 1016 } setInputData(size_t ind_start,size_t ind_end,InputData * ind)1017 void setInputData(size_t ind_start,size_t ind_end,InputData* ind) 1018 { 1019 fprintf(mFile,"\tsetAttr \".ind[%i:%i]\" ", ind_start,ind_end); 1020 size_t size = (ind_end-ind_start)*1+1; 1021 for(size_t i=0;i<size;++i) 1022 { 1023 ind[i].write(mFile); 1024 fprintf(mFile,"\n"); 1025 } 1026 fprintf(mFile,";\n"); 1027 } startInputData(size_t ind_start,size_t ind_end)1028 void startInputData(size_t ind_start,size_t ind_end)const 1029 { 1030 fprintf(mFile,"\tsetAttr \".ind[%i:%i]\"",ind_start,ind_end); 1031 fprintf(mFile," -type \"InputData\" "); 1032 } appendInputData(const InputData & ind)1033 void appendInputData(const InputData& ind)const 1034 { 1035 fprintf(mFile," "); 1036 ind.write(mFile); 1037 } endInputData()1038 void endInputData()const 1039 { 1040 fprintf(mFile,";\n"); 1041 } setInputPositions(size_t ind_i,const vectorArray & inp)1042 void setInputPositions(size_t ind_i,const vectorArray& inp) 1043 { 1044 if(inp.size == 0) return; 1045 fprintf(mFile,"\tsetAttr \".ind[%i].inp\" -type \"vectorArray\" ",ind_i); 1046 inp.write(mFile); 1047 fprintf(mFile,";\n"); 1048 } setInputVelocities(size_t ind_i,const vectorArray & inv)1049 void setInputVelocities(size_t ind_i,const vectorArray& inv) 1050 { 1051 if(inv.size == 0) return; 1052 fprintf(mFile,"\tsetAttr \".ind[%i].inv\" -type \"vectorArray\" ",ind_i); 1053 inv.write(mFile); 1054 fprintf(mFile,";\n"); 1055 } setInputMass(size_t ind_i,const doubleArray & inm)1056 void setInputMass(size_t ind_i,const doubleArray& inm) 1057 { 1058 if(inm.size == 0) return; 1059 fprintf(mFile,"\tsetAttr \".ind[%i].inm\" -type \"doubleArray\" ",ind_i); 1060 inm.write(mFile); 1061 fprintf(mFile,";\n"); 1062 } setDeltaTime(size_t ind_i,double dt)1063 void setDeltaTime(size_t ind_i,double dt) 1064 { 1065 if(dt == 0) return; 1066 fprintf(mFile,"\tsetAttr \".ind[%i].dt\" %f;\n", ind_i,dt); 1067 } setMatteOpacityMode(unsigned int mom)1068 void setMatteOpacityMode(unsigned int mom) 1069 { 1070 if(mom == 2) return; 1071 fprintf(mFile,"\tsetAttr \".mom\" %i;\n", mom); 1072 } setMatteOpacity(float mog)1073 void setMatteOpacity(float mog) 1074 { 1075 if(mog == 1.0) return; 1076 fprintf(mFile,"\tsetAttr \".mog\" %f;\n", mog); 1077 } setSelfShadowing(bool ss)1078 void setSelfShadowing(bool ss) 1079 { 1080 if(ss == false) return; 1081 fprintf(mFile,"\tsetAttr \".ss\" %i;\n", ss); 1082 } setQuality(float qua)1083 void setQuality(float qua) 1084 { 1085 if(qua == 1.0) return; 1086 fprintf(mFile,"\tsetAttr \".qua\" %f;\n", qua); 1087 } setRenderInterpolator(unsigned int rin)1088 void setRenderInterpolator(unsigned int rin) 1089 { 1090 if(rin == 0) return; 1091 fprintf(mFile,"\tsetAttr \".rin\" %i;\n", rin); 1092 } setColor(size_t cl_i,const Color & cl)1093 void setColor(size_t cl_i,const Color& cl) 1094 { 1095 fprintf(mFile,"\tsetAttr \".cl[%i]\" ",cl_i); 1096 cl.write(mFile); 1097 fprintf(mFile,";\n"); 1098 } setColor(size_t cl_start,size_t cl_end,Color * cl)1099 void setColor(size_t cl_start,size_t cl_end,Color* cl) 1100 { 1101 fprintf(mFile,"\tsetAttr \".cl[%i:%i]\" ", cl_start,cl_end); 1102 size_t size = (cl_end-cl_start)*1+1; 1103 for(size_t i=0;i<size;++i) 1104 { 1105 cl[i].write(mFile); 1106 fprintf(mFile,"\n"); 1107 } 1108 fprintf(mFile,";\n"); 1109 } startColor(size_t cl_start,size_t cl_end)1110 void startColor(size_t cl_start,size_t cl_end)const 1111 { 1112 fprintf(mFile,"\tsetAttr \".cl[%i:%i]\"",cl_start,cl_end); 1113 fprintf(mFile," -type \"Color\" "); 1114 } appendColor(const Color & cl)1115 void appendColor(const Color& cl)const 1116 { 1117 fprintf(mFile," "); 1118 cl.write(mFile); 1119 } endColor()1120 void endColor()const 1121 { 1122 fprintf(mFile,";\n"); 1123 } setColor_Position(size_t cl_i,float clp)1124 void setColor_Position(size_t cl_i,float clp) 1125 { 1126 if(clp == 0.0) return; 1127 fprintf(mFile,"\tsetAttr \".cl[%i].clp\" %f;\n", cl_i,clp); 1128 } setColor_Color(size_t cl_i,const float3 & clc)1129 void setColor_Color(size_t cl_i,const float3& clc) 1130 { 1131 fprintf(mFile,"\tsetAttr \".cl[%i].clc\" -type \"float3\" ",cl_i); 1132 clc.write(mFile); 1133 fprintf(mFile,";\n"); 1134 } setColor_ColorR(size_t cl_i,float clcr)1135 void setColor_ColorR(size_t cl_i,float clcr) 1136 { 1137 if(clcr == 0.0) return; 1138 fprintf(mFile,"\tsetAttr \".cl[%i].clc.clcr\" %f;\n", cl_i,clcr); 1139 } setColor_ColorG(size_t cl_i,float clcg)1140 void setColor_ColorG(size_t cl_i,float clcg) 1141 { 1142 if(clcg == 0.0) return; 1143 fprintf(mFile,"\tsetAttr \".cl[%i].clc.clcg\" %f;\n", cl_i,clcg); 1144 } setColor_ColorB(size_t cl_i,float clcb)1145 void setColor_ColorB(size_t cl_i,float clcb) 1146 { 1147 if(clcb == 0.0) return; 1148 fprintf(mFile,"\tsetAttr \".cl[%i].clc.clcb\" %f;\n", cl_i,clcb); 1149 } setColor_Interp(size_t cl_i,unsigned int cli)1150 void setColor_Interp(size_t cl_i,unsigned int cli) 1151 { 1152 if(cli == 0) return; 1153 fprintf(mFile,"\tsetAttr \".cl[%i].cli\" %i;\n", cl_i,cli); 1154 } setColorInput(unsigned int coi)1155 void setColorInput(unsigned int coi) 1156 { 1157 if(coi == 0) return; 1158 fprintf(mFile,"\tsetAttr \".coi\" %i;\n", coi); 1159 } setColorInputBias(float cib)1160 void setColorInputBias(float cib) 1161 { 1162 if(cib == 0.0) return; 1163 fprintf(mFile,"\tsetAttr \".cib\" %f;\n", cib); 1164 } setOpacity(size_t opa_i,const Opacity & opa)1165 void setOpacity(size_t opa_i,const Opacity& opa) 1166 { 1167 fprintf(mFile,"\tsetAttr \".opa[%i]\" ",opa_i); 1168 opa.write(mFile); 1169 fprintf(mFile,";\n"); 1170 } setOpacity(size_t opa_start,size_t opa_end,Opacity * opa)1171 void setOpacity(size_t opa_start,size_t opa_end,Opacity* opa) 1172 { 1173 fprintf(mFile,"\tsetAttr \".opa[%i:%i]\" ", opa_start,opa_end); 1174 size_t size = (opa_end-opa_start)*1+1; 1175 for(size_t i=0;i<size;++i) 1176 { 1177 opa[i].write(mFile); 1178 fprintf(mFile,"\n"); 1179 } 1180 fprintf(mFile,";\n"); 1181 } startOpacity(size_t opa_start,size_t opa_end)1182 void startOpacity(size_t opa_start,size_t opa_end)const 1183 { 1184 fprintf(mFile,"\tsetAttr \".opa[%i:%i]\"",opa_start,opa_end); 1185 fprintf(mFile," -type \"Opacity\" "); 1186 } appendOpacity(const Opacity & opa)1187 void appendOpacity(const Opacity& opa)const 1188 { 1189 fprintf(mFile," "); 1190 opa.write(mFile); 1191 } endOpacity()1192 void endOpacity()const 1193 { 1194 fprintf(mFile,";\n"); 1195 } setOpacity_Position(size_t opa_i,float opap)1196 void setOpacity_Position(size_t opa_i,float opap) 1197 { 1198 if(opap == 0.0) return; 1199 fprintf(mFile,"\tsetAttr \".opa[%i].opap\" %f;\n", opa_i,opap); 1200 } setOpacity_FloatValue(size_t opa_i,float opafv)1201 void setOpacity_FloatValue(size_t opa_i,float opafv) 1202 { 1203 if(opafv == 0.0) return; 1204 fprintf(mFile,"\tsetAttr \".opa[%i].opafv\" %f;\n", opa_i,opafv); 1205 } setOpacity_Interp(size_t opa_i,unsigned int opai)1206 void setOpacity_Interp(size_t opa_i,unsigned int opai) 1207 { 1208 if(opai == 0) return; 1209 fprintf(mFile,"\tsetAttr \".opa[%i].opai\" %i;\n", opa_i,opai); 1210 } setOpacityInput(unsigned int opi)1211 void setOpacityInput(unsigned int opi) 1212 { 1213 if(opi == 5) return; 1214 fprintf(mFile,"\tsetAttr \".opi\" %i;\n", opi); 1215 } setOpacityInputBias(float oib)1216 void setOpacityInputBias(float oib) 1217 { 1218 if(oib == 0.0) return; 1219 fprintf(mFile,"\tsetAttr \".oib\" %f;\n", oib); 1220 } setTransparency(const float3 & t)1221 void setTransparency(const float3& t) 1222 { 1223 fprintf(mFile,"\tsetAttr \".t\" -type \"float3\" "); 1224 t.write(mFile); 1225 fprintf(mFile,";\n"); 1226 } setTransparencyR(float tr)1227 void setTransparencyR(float tr) 1228 { 1229 if(tr == 0.25) return; 1230 fprintf(mFile,"\tsetAttr \".t.tr\" %f;\n", tr); 1231 } setTransparencyG(float tg)1232 void setTransparencyG(float tg) 1233 { 1234 if(tg == 0.25) return; 1235 fprintf(mFile,"\tsetAttr \".t.tg\" %f;\n", tg); 1236 } setTransparencyB(float tb)1237 void setTransparencyB(float tb) 1238 { 1239 if(tb == 0.25) return; 1240 fprintf(mFile,"\tsetAttr \".t.tb\" %f;\n", tb); 1241 } setShadowOpacity(float shp)1242 void setShadowOpacity(float shp) 1243 { 1244 if(shp == 0.5) return; 1245 fprintf(mFile,"\tsetAttr \".shp\" %f;\n", shp); 1246 } setIncandescence(size_t i_i,const Incandescence & i_)1247 void setIncandescence(size_t i_i,const Incandescence& i_) 1248 { 1249 fprintf(mFile,"\tsetAttr \".i[%i]\" ",i_i); 1250 i_.write(mFile); 1251 fprintf(mFile,";\n"); 1252 } setIncandescence(size_t i_start,size_t i_end,Incandescence * i_)1253 void setIncandescence(size_t i_start,size_t i_end,Incandescence* i_) 1254 { 1255 fprintf(mFile,"\tsetAttr \".i[%i:%i]\" ", i_start,i_end); 1256 size_t size = (i_end-i_start)*1+1; 1257 for(size_t i=0;i<size;++i) 1258 { 1259 i_[i].write(mFile); 1260 fprintf(mFile,"\n"); 1261 } 1262 fprintf(mFile,";\n"); 1263 } startIncandescence(size_t i_start,size_t i_end)1264 void startIncandescence(size_t i_start,size_t i_end)const 1265 { 1266 fprintf(mFile,"\tsetAttr \".i[%i:%i]\"",i_start,i_end); 1267 fprintf(mFile," -type \"Incandescence\" "); 1268 } appendIncandescence(const Incandescence & i)1269 void appendIncandescence(const Incandescence& i)const 1270 { 1271 fprintf(mFile," "); 1272 i.write(mFile); 1273 } endIncandescence()1274 void endIncandescence()const 1275 { 1276 fprintf(mFile,";\n"); 1277 } setIncandescence_Position(size_t i_i,float ip)1278 void setIncandescence_Position(size_t i_i,float ip) 1279 { 1280 if(ip == 0.0) return; 1281 fprintf(mFile,"\tsetAttr \".i[%i].ip\" %f;\n", i_i,ip); 1282 } setIncandescence_Color(size_t i_i,const float3 & ic)1283 void setIncandescence_Color(size_t i_i,const float3& ic) 1284 { 1285 fprintf(mFile,"\tsetAttr \".i[%i].ic\" -type \"float3\" ",i_i); 1286 ic.write(mFile); 1287 fprintf(mFile,";\n"); 1288 } setIncandescence_ColorR(size_t i_i,float icr)1289 void setIncandescence_ColorR(size_t i_i,float icr) 1290 { 1291 if(icr == 0.0) return; 1292 fprintf(mFile,"\tsetAttr \".i[%i].ic.icr\" %f;\n", i_i,icr); 1293 } setIncandescence_ColorG(size_t i_i,float icg)1294 void setIncandescence_ColorG(size_t i_i,float icg) 1295 { 1296 if(icg == 0.0) return; 1297 fprintf(mFile,"\tsetAttr \".i[%i].ic.icg\" %f;\n", i_i,icg); 1298 } setIncandescence_ColorB(size_t i_i,float icb)1299 void setIncandescence_ColorB(size_t i_i,float icb) 1300 { 1301 if(icb == 0.0) return; 1302 fprintf(mFile,"\tsetAttr \".i[%i].ic.icb\" %f;\n", i_i,icb); 1303 } setIncandescence_Interp(size_t i_i,unsigned int ii)1304 void setIncandescence_Interp(size_t i_i,unsigned int ii) 1305 { 1306 if(ii == 0) return; 1307 fprintf(mFile,"\tsetAttr \".i[%i].ii\" %i;\n", i_i,ii); 1308 } setIncandescenceInput(unsigned int ili)1309 void setIncandescenceInput(unsigned int ili) 1310 { 1311 if(ili == 6) return; 1312 fprintf(mFile,"\tsetAttr \".ili\" %i;\n", ili); 1313 } setIncandescenceInputBias(float iib)1314 void setIncandescenceInputBias(float iib) 1315 { 1316 if(iib == 0.0) return; 1317 fprintf(mFile,"\tsetAttr \".iib\" %f;\n", iib); 1318 } setGlowIntensity(float gi)1319 void setGlowIntensity(float gi) 1320 { 1321 if(gi == 0.0) return; 1322 fprintf(mFile,"\tsetAttr \".gi\" %f;\n", gi); 1323 } setSpecularColor(const float3 & spc)1324 void setSpecularColor(const float3& spc) 1325 { 1326 fprintf(mFile,"\tsetAttr \".spc\" -type \"float3\" "); 1327 spc.write(mFile); 1328 fprintf(mFile,";\n"); 1329 } setSpecularColorR(float spr)1330 void setSpecularColorR(float spr) 1331 { 1332 if(spr == 0.0) return; 1333 fprintf(mFile,"\tsetAttr \".spc.spr\" %f;\n", spr); 1334 } setSpecularColorG(float spg)1335 void setSpecularColorG(float spg) 1336 { 1337 if(spg == 0.0) return; 1338 fprintf(mFile,"\tsetAttr \".spc.spg\" %f;\n", spg); 1339 } setSpecularColorB(float spb)1340 void setSpecularColorB(float spb) 1341 { 1342 if(spb == 0.0) return; 1343 fprintf(mFile,"\tsetAttr \".spc.spb\" %f;\n", spb); 1344 } setCosinePower(float csp)1345 void setCosinePower(float csp) 1346 { 1347 if(csp == 20.0) return; 1348 fprintf(mFile,"\tsetAttr \".csp\" %f;\n", csp); 1349 } setEnvironment(size_t env_i,const Environment & env)1350 void setEnvironment(size_t env_i,const Environment& env) 1351 { 1352 fprintf(mFile,"\tsetAttr \".env[%i]\" ",env_i); 1353 env.write(mFile); 1354 fprintf(mFile,";\n"); 1355 } setEnvironment(size_t env_start,size_t env_end,Environment * env)1356 void setEnvironment(size_t env_start,size_t env_end,Environment* env) 1357 { 1358 fprintf(mFile,"\tsetAttr \".env[%i:%i]\" ", env_start,env_end); 1359 size_t size = (env_end-env_start)*1+1; 1360 for(size_t i=0;i<size;++i) 1361 { 1362 env[i].write(mFile); 1363 fprintf(mFile,"\n"); 1364 } 1365 fprintf(mFile,";\n"); 1366 } startEnvironment(size_t env_start,size_t env_end)1367 void startEnvironment(size_t env_start,size_t env_end)const 1368 { 1369 fprintf(mFile,"\tsetAttr \".env[%i:%i]\"",env_start,env_end); 1370 fprintf(mFile," -type \"Environment\" "); 1371 } appendEnvironment(const Environment & env)1372 void appendEnvironment(const Environment& env)const 1373 { 1374 fprintf(mFile," "); 1375 env.write(mFile); 1376 } endEnvironment()1377 void endEnvironment()const 1378 { 1379 fprintf(mFile,";\n"); 1380 } setEnvironment_Position(size_t env_i,float envp)1381 void setEnvironment_Position(size_t env_i,float envp) 1382 { 1383 if(envp == 0.0) return; 1384 fprintf(mFile,"\tsetAttr \".env[%i].envp\" %f;\n", env_i,envp); 1385 } setEnvironment_Color(size_t env_i,const float3 & envc)1386 void setEnvironment_Color(size_t env_i,const float3& envc) 1387 { 1388 fprintf(mFile,"\tsetAttr \".env[%i].envc\" -type \"float3\" ",env_i); 1389 envc.write(mFile); 1390 fprintf(mFile,";\n"); 1391 } setEnvironment_ColorR(size_t env_i,float envcr)1392 void setEnvironment_ColorR(size_t env_i,float envcr) 1393 { 1394 if(envcr == 0.0) return; 1395 fprintf(mFile,"\tsetAttr \".env[%i].envc.envcr\" %f;\n", env_i,envcr); 1396 } setEnvironment_ColorG(size_t env_i,float envcg)1397 void setEnvironment_ColorG(size_t env_i,float envcg) 1398 { 1399 if(envcg == 0.0) return; 1400 fprintf(mFile,"\tsetAttr \".env[%i].envc.envcg\" %f;\n", env_i,envcg); 1401 } setEnvironment_ColorB(size_t env_i,float envcb)1402 void setEnvironment_ColorB(size_t env_i,float envcb) 1403 { 1404 if(envcb == 0.0) return; 1405 fprintf(mFile,"\tsetAttr \".env[%i].envc.envcb\" %f;\n", env_i,envcb); 1406 } setEnvironment_Interp(size_t env_i,unsigned int envi)1407 void setEnvironment_Interp(size_t env_i,unsigned int envi) 1408 { 1409 if(envi == 0) return; 1410 fprintf(mFile,"\tsetAttr \".env[%i].envi\" %i;\n", env_i,envi); 1411 } setDropoffShape(unsigned int dos)1412 void setDropoffShape(unsigned int dos) 1413 { 1414 if(dos == 2) return; 1415 fprintf(mFile,"\tsetAttr \".dos\" %i;\n", dos); 1416 } setEdgeDropoff(float edr)1417 void setEdgeDropoff(float edr) 1418 { 1419 if(edr == .05) return; 1420 fprintf(mFile,"\tsetAttr \".edr\" %f;\n", edr); 1421 } setContrastTolerance(float ctl)1422 void setContrastTolerance(float ctl) 1423 { 1424 if(ctl == 0.01) return; 1425 fprintf(mFile,"\tsetAttr \".ctl\" %f;\n", ctl); 1426 } setHeightField(bool hfld)1427 void setHeightField(bool hfld) 1428 { 1429 if(hfld == false) return; 1430 fprintf(mFile,"\tsetAttr \".hfld\" %i;\n", hfld); 1431 } setSurfaceRender(bool srr)1432 void setSurfaceRender(bool srr) 1433 { 1434 if(srr == false) return; 1435 fprintf(mFile,"\tsetAttr \".srr\" %i;\n", srr); 1436 } setSurfaceThreshold(float srt)1437 void setSurfaceThreshold(float srt) 1438 { 1439 if(srt == 0.01) return; 1440 fprintf(mFile,"\tsetAttr \".srt\" %f;\n", srt); 1441 } setSurfaceTolerance(float stl)1442 void setSurfaceTolerance(float stl) 1443 { 1444 if(stl == 0.1) return; 1445 fprintf(mFile,"\tsetAttr \".stl\" %f;\n", stl); 1446 } setSoftSurface(bool ssf)1447 void setSoftSurface(bool ssf) 1448 { 1449 if(ssf == false) return; 1450 fprintf(mFile,"\tsetAttr \".ssf\" %i;\n", ssf); 1451 } setRefractiveIndex(float rei)1452 void setRefractiveIndex(float rei) 1453 { 1454 if(rei == 1.8) return; 1455 fprintf(mFile,"\tsetAttr \".rei\" %f;\n", rei); 1456 } setSampleMethod(unsigned int smpm)1457 void setSampleMethod(unsigned int smpm) 1458 { 1459 if(smpm == 3) return; 1460 fprintf(mFile,"\tsetAttr \".smpm\" %i;\n", smpm); 1461 } setRealLights(bool rl)1462 void setRealLights(bool rl) 1463 { 1464 if(rl == true) return; 1465 fprintf(mFile,"\tsetAttr \".rl\" %i;\n", rl); 1466 } setDirectionalLight(const float3 & dl)1467 void setDirectionalLight(const float3& dl) 1468 { 1469 fprintf(mFile,"\tsetAttr \".dl\" -type \"float3\" "); 1470 dl.write(mFile); 1471 fprintf(mFile,";\n"); 1472 } setDirectionalLightX(float dlx)1473 void setDirectionalLightX(float dlx) 1474 { 1475 if(dlx == 0.5) return; 1476 fprintf(mFile,"\tsetAttr \".dl.dlx\" %f;\n", dlx); 1477 } setDirectionalLightY(float dly)1478 void setDirectionalLightY(float dly) 1479 { 1480 if(dly == 0.8) return; 1481 fprintf(mFile,"\tsetAttr \".dl.dly\" %f;\n", dly); 1482 } setDirectionalLightZ(float dlz)1483 void setDirectionalLightZ(float dlz) 1484 { 1485 if(dlz == 0.5) return; 1486 fprintf(mFile,"\tsetAttr \".dl.dlz\" %f;\n", dlz); 1487 } setTextureType(unsigned int tty)1488 void setTextureType(unsigned int tty) 1489 { 1490 if(tty == 0) return; 1491 fprintf(mFile,"\tsetAttr \".tty\" %i;\n", tty); 1492 } setColorTexture(bool ctx)1493 void setColorTexture(bool ctx) 1494 { 1495 if(ctx == false) return; 1496 fprintf(mFile,"\tsetAttr \".ctx\" %i;\n", ctx); 1497 } setColorTexGain(float ctxg)1498 void setColorTexGain(float ctxg) 1499 { 1500 if(ctxg == 1.0) return; 1501 fprintf(mFile,"\tsetAttr \".ctxg\" %f;\n", ctxg); 1502 } setIncandTexture(bool itx)1503 void setIncandTexture(bool itx) 1504 { 1505 if(itx == false) return; 1506 fprintf(mFile,"\tsetAttr \".itx\" %i;\n", itx); 1507 } setIncandTexGain(float itxg)1508 void setIncandTexGain(float itxg) 1509 { 1510 if(itxg == 1.0) return; 1511 fprintf(mFile,"\tsetAttr \".itxg\" %f;\n", itxg); 1512 } setOpacityTexture(bool otx)1513 void setOpacityTexture(bool otx) 1514 { 1515 if(otx == false) return; 1516 fprintf(mFile,"\tsetAttr \".otx\" %i;\n", otx); 1517 } setOpacityTexGain(float otxg)1518 void setOpacityTexGain(float otxg) 1519 { 1520 if(otxg == 1.0) return; 1521 fprintf(mFile,"\tsetAttr \".otxg\" %f;\n", otxg); 1522 } setInvertTexture(bool ivt)1523 void setInvertTexture(bool ivt) 1524 { 1525 if(ivt == false) return; 1526 fprintf(mFile,"\tsetAttr \".ivt\" %i;\n", ivt); 1527 } setAmplitude(float a)1528 void setAmplitude(float a) 1529 { 1530 if(a == 1.0) return; 1531 fprintf(mFile,"\tsetAttr \".a\" %f;\n", a); 1532 } setRatio(float ra)1533 void setRatio(float ra) 1534 { 1535 if(ra == 0.707) return; 1536 fprintf(mFile,"\tsetAttr \".ra\" %f;\n", ra); 1537 } setThreshold(float th)1538 void setThreshold(float th) 1539 { 1540 if(th == 0.0) return; 1541 fprintf(mFile,"\tsetAttr \".th\" %f;\n", th); 1542 } setTextureScale(const float3 & txsc)1543 void setTextureScale(const float3& txsc) 1544 { 1545 if(txsc == float3(1.0f,1.0f,1.0f)) return; 1546 fprintf(mFile,"\tsetAttr \".txsc\" -type \"float3\" "); 1547 txsc.write(mFile); 1548 fprintf(mFile,";\n"); 1549 } setTextureScaleX(float tscx)1550 void setTextureScaleX(float tscx) 1551 { 1552 if(tscx == 0.0) return; 1553 fprintf(mFile,"\tsetAttr \".txsc.tscx\" %f;\n", tscx); 1554 } setTextureScaleY(float tscy)1555 void setTextureScaleY(float tscy) 1556 { 1557 if(tscy == 0.0) return; 1558 fprintf(mFile,"\tsetAttr \".txsc.tscy\" %f;\n", tscy); 1559 } setTextureScaleZ(float tscz)1560 void setTextureScaleZ(float tscz) 1561 { 1562 if(tscz == 0.0) return; 1563 fprintf(mFile,"\tsetAttr \".txsc.tscz\" %f;\n", tscz); 1564 } setTextureOrigin(const float3 & tor)1565 void setTextureOrigin(const float3& tor) 1566 { 1567 if(tor == float3(0.0f,0.0f,0.0f)) return; 1568 fprintf(mFile,"\tsetAttr \".tor\" -type \"float3\" "); 1569 tor.write(mFile); 1570 fprintf(mFile,";\n"); 1571 } setTextureOriginX(float torx)1572 void setTextureOriginX(float torx) 1573 { 1574 if(torx == 0.0) return; 1575 fprintf(mFile,"\tsetAttr \".tor.torx\" %f;\n", torx); 1576 } setTextureOriginY(float tory)1577 void setTextureOriginY(float tory) 1578 { 1579 if(tory == 0.0) return; 1580 fprintf(mFile,"\tsetAttr \".tor.tory\" %f;\n", tory); 1581 } setTextureOriginZ(float torz)1582 void setTextureOriginZ(float torz) 1583 { 1584 if(torz == 0.0) return; 1585 fprintf(mFile,"\tsetAttr \".tor.torz\" %f;\n", torz); 1586 } setDepthMax(short dm)1587 void setDepthMax(short dm) 1588 { 1589 if(dm == 2) return; 1590 fprintf(mFile,"\tsetAttr \".dm\" %i;\n", dm); 1591 } setFrequency(float fq)1592 void setFrequency(float fq) 1593 { 1594 if(fq == 1.0) return; 1595 fprintf(mFile,"\tsetAttr \".fq\" %f;\n", fq); 1596 } setFrequencyRatio(float fr)1597 void setFrequencyRatio(float fr) 1598 { 1599 if(fr == 2.0) return; 1600 fprintf(mFile,"\tsetAttr \".fr\" %f;\n", fr); 1601 } setInflection(bool in)1602