00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #pragma once
00021
00022 #include "ifnpub.h"
00023 #include "maxtypes.h"
00024 #include "point3.h"
00025 #include "quat.h"
00026
00027 class View;
00028
00029
00030 #define PARTICLEOBJECTEXT_INTERFACE Interface_ID(0x66c2429a, 0x38d60a0b)
00031
00032 #define GetParticleObjectExtInterface(obj) ((IParticleObjectExt*)(obj)->GetInterface(PARTICLEOBJECTEXT_INTERFACE))
00033 #pragma warning(push)
00034 #pragma warning(disable:4100)
00035 class IParticleObjectExt : public FPMixinInterface
00036 {
00037 public:
00038
00039
00040 enum { kUpdateParticles,
00041 kSetEveryStepUpdateScriptLine,
00042 kSetEveryStepUpdateScriptFile,
00043 kSetFinalStepUpdateScriptLine,
00044 kSetFinalStepUpdateScriptFile,
00045 kExecuteEveryStepUpdateScript,
00046 kExecuteFinalStepUpdateScript,
00047 kGetUpdateTime,
00048 kGetUpdateInterval,
00049 kNumParticles,
00050 kNumParticlesGenerated,
00051 kAddParticle,
00052 kAddParticles,
00053 kDeleteParticle,
00054 kDeleteParticles,
00055 kGetParticleBornIndex,
00056 kHasParticleBornIndex,
00057 kGetParticleGroup,
00058 kGetParticleIndex,
00059 kGetCurrentParticleIndex,
00060 kGetCurrentParticleBornIndex,
00061 kSetCurrentParticleIndex,
00062 kSetCurrentParticleBornIndex,
00063 kGetParticleAgeByIndex,
00064 kGetParticleAgeByBornIndex,
00065 kSetParticleAgeByIndex,
00066 kSetParticleAgeByBornIndex,
00067 kGetParticleAge,
00068 kSetParticleAge,
00069 kGetParticleLifeSpanByIndex,
00070 kGetParticleLifeSpanByBornIndex,
00071 kSetParticleLifeSpanByIndex,
00072 kSetParticleLifeSpanByBornIndex,
00073 kGetParticleLifeSpan,
00074 kSetParticleLifeSpan,
00075 kGetParticleGroupTimeByIndex,
00076 kGetParticleGroupTimeByBornIndex,
00077 kSetParticleGroupTimeByIndex,
00078 kSetParticleGroupTimeByBornIndex,
00079 kGetParticleGroupTime,
00080 kSetParticleGroupTime,
00081 kGetParticlePositionByIndex,
00082 kGetParticlePositionByBornIndex,
00083 kSetParticlePositionByIndex,
00084 kSetParticlePositionByBornIndex,
00085 kGetParticlePosition,
00086 kSetParticlePosition,
00087 kGetParticleSpeedByIndex,
00088 kGetParticleSpeedByBornIndex,
00089 kSetParticleSpeedByIndex,
00090 kSetParticleSpeedByBornIndex,
00091 kGetParticleSpeed,
00092 kSetParticleSpeed,
00093 kGetParticleOrientationByIndex,
00094 kGetParticleOrientationByBornIndex,
00095 kSetParticleOrientationByIndex,
00096 kSetParticleOrientationByBornIndex,
00097 kGetParticleOrientation,
00098 kSetParticleOrientation,
00099 kGetParticleSpinByIndex,
00100 kGetParticleSpinByBornIndex,
00101 kSetParticleSpinByIndex,
00102 kSetParticleSpinByBornIndex,
00103 kGetParticleSpin,
00104 kSetParticleSpin,
00105 kGetParticleScaleByIndex,
00106 kGetParticleScaleByBornIndex,
00107 kSetParticleScaleByIndex,
00108 kSetParticleScaleByBornIndex,
00109 kGetParticleScale,
00110 kSetParticleScale,
00111 kGetParticleScaleXYZByIndex,
00112 kGetParticleScaleXYZByBornIndex,
00113 kSetParticleScaleXYZByIndex,
00114 kSetParticleScaleXYZByBornIndex,
00115 kGetParticleScaleXYZ,
00116 kSetParticleScaleXYZ,
00117 kGetParticleTMByIndex,
00118 kGetParticleTMByBornIndex,
00119 kSetParticleTMByIndex,
00120 kSetParticleTMByBornIndex,
00121 kGetParticleTM,
00122 kSetParticleTM,
00123 kGetParticleSelectedByIndex,
00124 kGetParticleSelectedByBornIndex,
00125 kSetParticleSelectedByIndex,
00126 kSetParticleSelectedByBornIndex,
00127 kGetParticleSelected,
00128 kSetParticleSelected,
00129 kGetParticleShapeByIndex,
00130 kGetParticleShapeByBornIndex,
00131 kSetParticleShapeByIndex,
00132 kSetParticleShapeByBornIndex,
00133 kGetParticleShape,
00134 kSetParticleShape,
00135 kSetGlobalParticleShape,
00136 };
00137
00138
00139
00140
00141 BEGIN_FUNCTION_MAP
00142
00143 VFN_2(kUpdateParticles, UpdateParticles, TYPE_INODE, TYPE_TIMEVALUE);
00144 VFN_1(kSetEveryStepUpdateScriptLine, SetEveryStepUpdateScriptLine, TYPE_STRING);
00145 VFN_1(kSetEveryStepUpdateScriptFile, SetEveryStepUpdateScriptFile, TYPE_FILENAME);
00146 VFN_1(kSetFinalStepUpdateScriptLine, SetFinalStepUpdateScriptLine, TYPE_STRING);
00147 VFN_1(kSetFinalStepUpdateScriptFile, SetFinalStepUpdateScriptFile, TYPE_FILENAME);
00148 VFN_0(kExecuteEveryStepUpdateScript, ExecuteEveryStepUpdateScript );
00149 VFN_0(kExecuteFinalStepUpdateScript, ExecuteFinalStepUpdateScript );
00150 FN_0(kGetUpdateTime, TYPE_TIMEVALUE, GetUpdateTime );
00151 VFN_2(kGetUpdateInterval, GetUpdateInterval, TYPE_TIMEVALUE_BR, TYPE_TIMEVALUE_BR);
00152
00153 RO_PROP_FN(kNumParticles, NumParticles, TYPE_INT);
00154 RO_PROP_FN(kNumParticlesGenerated, NumParticlesGenerated, TYPE_INT);
00155
00156 FN_0(kAddParticle, TYPE_bool, AddParticle );
00157 FN_1(kAddParticles, TYPE_bool, AddParticles, TYPE_INT);
00158 FN_1(kDeleteParticle, TYPE_bool, DeleteParticle, TYPE_INDEX);
00159 FN_2(kDeleteParticles, TYPE_bool, DeleteParticles, TYPE_INDEX, TYPE_INT);
00160
00161 FN_1(kGetParticleBornIndex, TYPE_INDEX, GetParticleBornIndex, TYPE_INDEX);
00162 FN_2(kHasParticleBornIndex, TYPE_bool, HasParticleBornIndex, TYPE_INDEX, TYPE_INDEX_BR);
00163 FN_1(kGetParticleGroup, TYPE_INODE, GetParticleGroup, TYPE_INDEX);
00164 FN_1(kGetParticleIndex, TYPE_INDEX, GetParticleIndex, TYPE_INDEX);
00165
00166 PROP_FNS(kGetCurrentParticleIndex, GetCurrentParticleIndex, kSetCurrentParticleIndex, SetCurrentParticleIndex, TYPE_INDEX);
00167 PROP_FNS(kGetCurrentParticleBornIndex, GetCurrentParticleBornIndex, kSetCurrentParticleBornIndex, SetCurrentParticleBornIndex,TYPE_INDEX);
00168
00169 FN_1(kGetParticleAgeByIndex, TYPE_TIMEVALUE, GetParticleAgeByIndex, TYPE_INDEX);
00170 FN_1(kGetParticleAgeByBornIndex, TYPE_TIMEVALUE, GetParticleAgeByBornIndex, TYPE_INDEX);
00171 VFN_2(kSetParticleAgeByIndex, SetParticleAgeByIndex, TYPE_INDEX, TYPE_TIMEVALUE);
00172 VFN_2(kSetParticleAgeByBornIndex, SetParticleAgeByBornIndex, TYPE_INDEX, TYPE_TIMEVALUE);
00173 PROP_FNS(kGetParticleAge, GetParticleAge, kSetParticleAge, SetParticleAge, TYPE_TIMEVALUE);
00174
00175 FN_1(kGetParticleLifeSpanByIndex, TYPE_TIMEVALUE, GetParticleLifeSpanByIndex, TYPE_INDEX);
00176 FN_1(kGetParticleLifeSpanByBornIndex, TYPE_TIMEVALUE, GetParticleLifeSpanByBornIndex, TYPE_INDEX);
00177 VFN_2(kSetParticleLifeSpanByIndex, SetParticleLifeSpanByIndex, TYPE_INDEX, TYPE_TIMEVALUE);
00178 VFN_2(kSetParticleLifeSpanByBornIndex, SetParticleLifeSpanByBornIndex, TYPE_INDEX, TYPE_TIMEVALUE);
00179 PROP_FNS(kGetParticleLifeSpan, GetParticleLifeSpan, kSetParticleLifeSpan, SetParticleLifeSpan, TYPE_TIMEVALUE);
00180
00181 FN_1(kGetParticleGroupTimeByIndex, TYPE_TIMEVALUE, GetParticleGroupTimeByIndex, TYPE_INDEX);
00182 FN_1(kGetParticleGroupTimeByBornIndex, TYPE_TIMEVALUE, GetParticleGroupTimeByBornIndex,TYPE_INDEX);
00183 VFN_2(kSetParticleGroupTimeByIndex, SetParticleGroupTimeByIndex, TYPE_INDEX, TYPE_TIMEVALUE);
00184 VFN_2(kSetParticleGroupTimeByBornIndex, SetParticleGroupTimeByBornIndex,TYPE_INDEX, TYPE_TIMEVALUE);
00185 PROP_FNS(kGetParticleGroupTime, GetParticleGroupTime, kSetParticleGroupTime, SetParticleGroupTime, TYPE_TIMEVALUE);
00186
00187 FN_1(kGetParticlePositionByIndex, TYPE_POINT3, GetParticlePositionByIndex, TYPE_INDEX);
00188 FN_1(kGetParticlePositionByBornIndex, TYPE_POINT3, GetParticlePositionByBornIndex, TYPE_INDEX);
00189 VFN_2(kSetParticlePositionByIndex, SetParticlePositionByIndex, TYPE_INDEX, TYPE_POINT3);
00190 VFN_2(kSetParticlePositionByBornIndex, SetParticlePositionByBornIndex, TYPE_INDEX, TYPE_POINT3);
00191 PROP_FNS(kGetParticlePosition, GetParticlePosition, kSetParticlePosition, SetParticlePosition, TYPE_POINT3);
00192
00193 FN_1(kGetParticleSpeedByIndex, TYPE_POINT3, GetParticleSpeedByIndex, TYPE_INDEX);
00194 FN_1(kGetParticleSpeedByBornIndex, TYPE_POINT3, GetParticleSpeedByBornIndex, TYPE_INDEX);
00195 VFN_2(kSetParticleSpeedByIndex, SetParticleSpeedByIndex, TYPE_INDEX, TYPE_POINT3);
00196 VFN_2(kSetParticleSpeedByBornIndex, SetParticleSpeedByBornIndex, TYPE_INDEX, TYPE_POINT3);
00197 PROP_FNS(kGetParticleSpeed, GetParticleSpeed, kSetParticleSpeed, SetParticleSpeed, TYPE_POINT3);
00198
00199 FN_1(kGetParticleOrientationByIndex, TYPE_POINT3, GetParticleOrientationByIndex, TYPE_INDEX);
00200 FN_1(kGetParticleOrientationByBornIndex, TYPE_POINT3, GetParticleOrientationByBornIndex, TYPE_INDEX);
00201 VFN_2(kSetParticleOrientationByIndex, SetParticleOrientationByIndex, TYPE_INDEX, TYPE_POINT3);
00202 VFN_2(kSetParticleOrientationByBornIndex, SetParticleOrientationByBornIndex, TYPE_INDEX, TYPE_POINT3);
00203 PROP_FNS(kGetParticleOrientation, GetParticleOrientation, kSetParticleOrientation, SetParticleOrientation, TYPE_POINT3);
00204
00205 FN_1(kGetParticleSpinByIndex, TYPE_ANGAXIS, GetParticleSpinByIndex, TYPE_INDEX);
00206 FN_1(kGetParticleSpinByBornIndex, TYPE_ANGAXIS, GetParticleSpinByBornIndex, TYPE_INDEX);
00207 VFN_2(kSetParticleSpinByIndex, SetParticleSpinByIndex, TYPE_INDEX, TYPE_ANGAXIS);
00208 VFN_2(kSetParticleSpinByBornIndex, SetParticleSpinByBornIndex, TYPE_INDEX, TYPE_ANGAXIS);
00209 PROP_FNS(kGetParticleSpin, GetParticleSpin, kSetParticleSpin, SetParticleSpin, TYPE_ANGAXIS);
00210
00211 FN_1(kGetParticleScaleByIndex, TYPE_FLOAT, GetParticleScaleByIndex, TYPE_INDEX);
00212 FN_1(kGetParticleScaleByBornIndex, TYPE_FLOAT, GetParticleScaleByBornIndex, TYPE_INDEX);
00213 VFN_2(kSetParticleScaleByIndex, SetParticleScaleByIndex, TYPE_INDEX, TYPE_FLOAT);
00214 VFN_2(kSetParticleScaleByBornIndex, SetParticleScaleByBornIndex, TYPE_INDEX, TYPE_FLOAT);
00215 PROP_FNS(kGetParticleScale, GetParticleScale, kSetParticleScale, SetParticleScale, TYPE_FLOAT);
00216 FN_1(kGetParticleScaleXYZByIndex, TYPE_POINT3,GetParticleScaleXYZByIndex, TYPE_INDEX);
00217 FN_1(kGetParticleScaleXYZByBornIndex, TYPE_POINT3,GetParticleScaleXYZByBornIndex, TYPE_INDEX);
00218 VFN_2(kSetParticleScaleXYZByIndex, SetParticleScaleXYZByIndex, TYPE_INDEX, TYPE_POINT3);
00219 VFN_2(kSetParticleScaleXYZByBornIndex, SetParticleScaleXYZByBornIndex, TYPE_INDEX, TYPE_POINT3);
00220 PROP_FNS(kGetParticleScaleXYZ, GetParticleScaleXYZ, kSetParticleScaleXYZ, SetParticleScaleXYZ, TYPE_POINT3);
00221
00222 FN_1(kGetParticleTMByIndex, TYPE_MATRIX3, GetParticleTMByIndex, TYPE_INDEX);
00223 FN_1(kGetParticleTMByBornIndex, TYPE_MATRIX3, GetParticleTMByBornIndex, TYPE_INDEX);
00224 VFN_2(kSetParticleTMByIndex, SetParticleTMByIndex, TYPE_INDEX, TYPE_MATRIX3);
00225 VFN_2(kSetParticleTMByBornIndex, SetParticleTMByBornIndex, TYPE_INDEX, TYPE_MATRIX3);
00226 PROP_FNS(kGetParticleTM, GetParticleTM, kSetParticleTM, SetParticleTM, TYPE_MATRIX3);
00227
00228 FN_1(kGetParticleSelectedByIndex, TYPE_bool, GetParticleSelectedByIndex, TYPE_INDEX);
00229 FN_1(kGetParticleSelectedByBornIndex, TYPE_bool, GetParticleSelectedByBornIndex, TYPE_INDEX);
00230 VFN_2(kSetParticleSelectedByIndex, SetParticleSelectedByIndex, TYPE_INDEX, TYPE_bool);
00231 VFN_2(kSetParticleSelectedByBornIndex, SetParticleSelectedByBornIndex, TYPE_INDEX, TYPE_bool);
00232 PROP_FNS(kGetParticleSelected, GetParticleSelected, kSetParticleSelected, SetParticleSelected, TYPE_bool);
00233
00234 FN_1(kGetParticleShapeByIndex, TYPE_MESH, GetParticleShapeByIndex, TYPE_INDEX);
00235 FN_1(kGetParticleShapeByBornIndex, TYPE_MESH, GetParticleShapeByBornIndex, TYPE_INDEX);
00236 VFN_2(kSetParticleShapeByIndex, SetParticleShapeByIndex, TYPE_INDEX, TYPE_MESH);
00237 VFN_2(kSetParticleShapeByBornIndex, SetParticleShapeByBornIndex, TYPE_INDEX, TYPE_MESH);
00238 VFN_1(kSetGlobalParticleShape, SetGlobalParticleShape, TYPE_MESH);
00239 PROP_FNS(kGetParticleShape, GetParticleShape, kSetParticleShape, SetParticleShape, TYPE_MESH);
00240
00241 END_FUNCTION_MAP
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257 virtual bool GetRenderMeshVertexSpeed(TimeValue t, INode *inode, View& view, Tab<Point3>& speed) { return false; }
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272 virtual int NumberOfRenderMeshes(TimeValue t, INode *inode, View& view) { return 0; }
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289
00290 virtual bool GetMultipleRenderMeshVertexSpeed(TimeValue t, INode *inode, View& view, int meshNumber, Tab<Point3>& speed) { return false; }
00291
00292
00293
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303 virtual void UpdateParticles(INode *node, TimeValue t) { ; }
00304
00305
00306
00307
00308
00309
00310
00311
00312
00313
00314
00315
00316 virtual void SetEveryStepUpdateScriptLine(MCHAR* script) { ; }
00317 virtual void SetEveryStepUpdateScriptFile(MCHAR* file) { ; }
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333
00334 virtual void SetFinalStepUpdateScriptLine(MCHAR* script) { ; }
00335 virtual void SetFinalStepUpdateScriptFile(MCHAR* file) { ; }
00336
00337
00338
00339
00340 virtual void ExecuteEveryStepUpdateScript() { ; }
00341 virtual void ExecuteFinalStepUpdateScript() { ; }
00342
00343
00344
00345
00346 virtual TimeValue GetUpdateTime() { return 0; }
00347
00348
00349
00350 virtual void GetUpdateInterval(TimeValue& start, TimeValue& finish) { ; }
00351
00352
00353
00354
00355 virtual int NumParticles() = 0;
00356
00357
00358
00359
00360
00361
00362 virtual int NumParticlesGenerated() { return NumParticles(); }
00363
00364
00365
00366
00367
00368 virtual bool AddParticle() { return false; }
00369
00370 virtual bool AddParticles(int num) { return false; }
00371
00372 virtual bool DeleteParticle(int index) { return false; }
00373
00374 virtual bool DeleteParticles(int start, int num) { return false; }
00375
00376
00377
00378
00379
00380
00381
00382
00383 virtual int GetParticleBornIndex(int i) { return 0; }
00384
00385
00386
00387
00388
00389
00390
00391
00392
00393
00394
00395
00396 virtual bool HasParticleBornIndex(int bornIndex, int& index) { return false; }
00397 virtual INode* GetParticleGroup(int index) { return NULL; }
00398 virtual int GetParticleIndex(int bornIndex) { return 0; }
00399
00400
00401
00402
00403 virtual int GetCurrentParticleIndex() { return 0; }
00404 virtual int GetCurrentParticleBornIndex() { return 5; }
00405 virtual void SetCurrentParticleIndex(int index) { ; }
00406 virtual void SetCurrentParticleBornIndex(int bornIndex) { ; }
00407
00408
00409
00410
00411
00412
00413
00414
00415
00416
00417
00418
00419 virtual TimeValue GetParticleAgeByIndex(int index) { return 0; }
00420 virtual TimeValue GetParticleAgeByBornIndex(int id) { return 0; }
00421 virtual void SetParticleAgeByIndex(int index, TimeValue age) { ; }
00422 virtual void SetParticleAgeByBornIndex(int id, TimeValue age) { ; }
00423 virtual TimeValue GetParticleAge() { return 0; }
00424 virtual void SetParticleAge(TimeValue age) { ; }
00425
00426
00427
00428
00429
00430
00431
00432
00433
00434
00435
00436
00437 virtual TimeValue GetParticleLifeSpanByIndex(int index) { return TIME_PosInfinity; }
00438 virtual TimeValue GetParticleLifeSpanByBornIndex(int id) { return TIME_PosInfinity; }
00439 virtual void SetParticleLifeSpanByIndex(int index, TimeValue LifeSpan) { ; }
00440 virtual void SetParticleLifeSpanByBornIndex(int id, TimeValue LifeSpan) { ; }
00441 virtual TimeValue GetParticleLifeSpan() { return TIME_PosInfinity; }
00442 virtual void SetParticleLifeSpan(TimeValue lifespan) { ; }
00443
00444
00445
00446
00447
00448
00449
00450
00451
00452
00453
00454
00455
00456 virtual TimeValue GetParticleGroupTimeByIndex(int index) { return 0; }
00457 virtual TimeValue GetParticleGroupTimeByBornIndex(int id) { return 0; }
00458 virtual void SetParticleGroupTimeByIndex(int index, TimeValue time) { ; }
00459 virtual void SetParticleGroupTimeByBornIndex(int id, TimeValue time) { ; }
00460 virtual TimeValue GetParticleGroupTime() { return 0; }
00461 virtual void SetParticleGroupTime(TimeValue time) { ; }
00462
00463
00464
00465
00466
00467
00468
00469
00470
00471
00472
00473
00474 virtual Point3* GetParticlePositionByIndex(int index) { return NULL; }
00475 virtual Point3* GetParticlePositionByBornIndex(int id) { return NULL; }
00476 virtual void SetParticlePositionByIndex(int index, Point3 pos) { ; }
00477 virtual void SetParticlePositionByBornIndex(int id, Point3 pos) { ; }
00478 virtual Point3* GetParticlePosition() { return NULL; }
00479 virtual void SetParticlePosition(Point3 pos) { ; }
00480
00481
00482
00483
00484
00485
00486
00487
00488
00489
00490
00491
00492 virtual Point3* GetParticleSpeedByIndex(int index) { return NULL; }
00493 virtual Point3* GetParticleSpeedByBornIndex(int id) { return NULL; }
00494 virtual void SetParticleSpeedByIndex(int index, Point3 speed) { ; }
00495 virtual void SetParticleSpeedByBornIndex(int id, Point3 speed) { ; }
00496 virtual Point3* GetParticleSpeed() { return NULL; }
00497 virtual void SetParticleSpeed(Point3 speed) { ; }
00498
00499
00500
00501
00502
00503
00504
00505
00506
00507
00508
00509
00510
00511 virtual Point3* GetParticleOrientationByIndex(int index) { return NULL; }
00512 virtual Point3* GetParticleOrientationByBornIndex(int id) { return NULL; }
00513 virtual void SetParticleOrientationByIndex(int index, Point3 orient) { ; }
00514 virtual void SetParticleOrientationByBornIndex(int id, Point3 orient) { ; }
00515 virtual Point3* GetParticleOrientation() { return NULL; }
00516 virtual void SetParticleOrientation(Point3 orient) { ; }
00517
00518
00519
00520
00521
00522
00523
00524
00525
00526
00527
00528
00529
00530 virtual AngAxis* GetParticleSpinByIndex(int index) { return NULL; }
00531 virtual AngAxis* GetParticleSpinByBornIndex(int id) { return NULL; }
00532 virtual void SetParticleSpinByIndex(int index, AngAxis spin) { ; }
00533 virtual void SetParticleSpinByBornIndex(int id, AngAxis spin) { ; }
00534 virtual AngAxis* GetParticleSpin() { return NULL; }
00535 virtual void SetParticleSpin(AngAxis spin) { ; }
00536
00537
00538
00539
00540
00541
00542
00543
00544
00545
00546
00547
00548
00549
00550
00551 virtual float GetParticleScaleByIndex(int index) { return 1.0f; }
00552 virtual float GetParticleScaleByBornIndex(int id) { return 1.0f; }
00553 virtual void SetParticleScaleByIndex(int index, float scale) { ; }
00554 virtual void SetParticleScaleByBornIndex(int id, float scale) { ; }
00555 virtual float GetParticleScale() { return 1.0f; }
00556 virtual void SetParticleScale(float scale) { ; }
00557 virtual Point3* GetParticleScaleXYZByIndex(int index) { return NULL; }
00558 virtual Point3* GetParticleScaleXYZByBornIndex(int id) { return NULL; }
00559 virtual void SetParticleScaleXYZByIndex(int index, Point3 scale) { ; }
00560 virtual void SetParticleScaleXYZByBornIndex(int id, Point3 scale) { ; }
00561 virtual Point3* GetParticleScaleXYZ() { return NULL; }
00562 virtual void SetParticleScaleXYZ(Point3 scale) { ; }
00563
00564
00565
00566
00567
00568
00569
00570
00571
00572
00573
00574
00575 virtual Matrix3* GetParticleTMByIndex(int index) { return NULL; }
00576 virtual Matrix3* GetParticleTMByBornIndex(int id) { return NULL; }
00577 virtual void SetParticleTMByIndex(int index, Matrix3 tm) { ; }
00578 virtual void SetParticleTMByBornIndex(int id, Matrix3 tm) { ; }
00579 virtual Matrix3* GetParticleTM() { return NULL; }
00580 virtual void SetParticleTM(Matrix3 tm) { ; }
00581
00582
00583
00584
00585
00586
00587
00588
00589
00590
00591
00592
00593 virtual bool GetParticleSelectedByIndex(int index) { return true; }
00594 virtual bool GetParticleSelectedByBornIndex(int id) { return true; }
00595 virtual void SetParticleSelectedByIndex(int index, bool selected) { ; }
00596 virtual void SetParticleSelectedByBornIndex(int id, bool selected) { ; }
00597 virtual bool GetParticleSelected() { return true; }
00598 virtual void SetParticleSelected(bool selected) { ; }
00599
00600
00601
00602
00603
00604
00605
00606
00607
00608
00609
00610
00611
00612 virtual Mesh* GetParticleShapeByIndex(int index) { return NULL; }
00613 virtual Mesh* GetParticleShapeByBornIndex(int id) { return NULL; }
00614 virtual void SetParticleShapeByIndex(int index, Mesh* shape) { ; }
00615 virtual void SetParticleShapeByBornIndex(int id, Mesh* shape) { ; }
00616 virtual Mesh* GetParticleShape() { return NULL; }
00617 virtual void SetParticleShape(Mesh* shape) { ; }
00618
00619 virtual void SetGlobalParticleShape(Mesh* shape) { ; }
00620
00621 FPInterfaceDesc* GetDesc() { return GetDescByID(PARTICLEOBJECTEXT_INTERFACE); }
00622 };
00623
00624 #pragma warning(pop)
00625