3ds Max C++ API Reference
|
#include <IParticleGroup.h>
Public Types | |
enum | { invalidateCurrent =0 , invalidateViewport =1 , invalidateRender =2 , invalidateBoth =3 } |
Public Types inherited from BaseInterface | |
enum | LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled } |
Public Member Functions | |
virtual INode * | GetParticleSystem () const =0 |
get a primary particle system for the particle group | |
virtual void | SetParticleSystem (INode *pSystem)=0 |
set a reference on a primary particle system | |
virtual INode * | GetActionList () const =0 |
get a primary action list for the particle group | |
virtual void | SetActionList (INode *aList)=0 |
set a reference on a primary action list | |
virtual int | GetActiveStatus () const =0 |
get activity status of the group; the group can be put into "idle" mode if returns zero then the group is in the "idle" mode | |
virtual void | SetActiveStatus (int status)=0 |
set activity status of the group | |
virtual int | UpdateActiveStatus ()=0 |
updates activity status of the group taking into consideration schematics of the primary particle system and primary action list if the group is "fertile" but the primary particle system does not have direct association with the primary action list then the group is put into "idle" mode returns activity status to be set | |
virtual void | UpdateActionSet ()=0 |
updates set of actions in the particle group the set is composed from global actions from the primary particle system and local actions from the associated primary actionList | |
virtual Mtl * | GetMaterial () const =0 |
get material from the list of actions the last action that has a material is the one | |
virtual DWORD | GetWireColor () const =0 |
get wire color from the list of actions the last action that has a PFViewport interface is the one | |
virtual IObject * | GetParticleContainer () const =0 |
get a particle container for the particle group | |
virtual const Interval & | GetValidityInterval () const =0 |
get validity interval for the particle group | |
virtual void | SetValidityInterval (const Interval &validInterval)=0 |
set validity interval for the particle group | |
virtual void | Init (TimeValue time)=0 |
set initial state for the particle group with time | |
virtual TimeValue | GetFertilityTime ()=0 |
returns fertility time of the particle group: the first time moment when the particle group can generate particles from scratch if the group is not active then it is not "fertile" | |
virtual bool | Update (TimeValue t)=0 |
advance particles in the group to the given time | |
virtual bool | PreUpdate (TimeValue t)=0 |
the following method allows to apply the actions Proceed method as a pre procedure before any modification to the particle container has been made. | |
virtual bool | PostUpdate (TimeValue t)=0 |
the following method allows to apply the actions Proceed method as a post procedure when the amount of particles in all particle groups has been established and there won't be any particle transfers from one particle group to another | |
virtual bool | TransferSurplusContainer (IObject *&pCont, INode *&actionListTo)=0 |
returns a ptr at particleContainer to be transferred to another Event the particle group looses this ptr completely if the group doesn't have surplus containers then it returns false | |
virtual bool | AppendSurplusContainer (IObject *pCont)=0 |
appends the given container to the container of the group but first the given container is advanced in time to be in sync with the container of the group | |
virtual bool | IsSync (TimeValue &time)=0 |
returns true if content of the particle group is synchronized in time if group is in "sync" then it doesn't have surplus containers if false then the method returns the closest sync time for the particle group it could be a time of the closest cache moment. | |
virtual bool | InstantUpdate (TimeValue t)=0 |
set particles in the group to the given time it should not involve any history dependent operations if the method is called it implies that the group is able to make an instant jump to the given time thus there is a cache for that time | |
virtual bool | SetFinalUpdateTime (TimeValue t)=0 |
inform the group what would be a final time for the series of update calls | |
virtual void | SetHandle (ULONG handle)=0 |
Informs the particle group about the handle of the particle group node the handle is later used to uniquely identify particle container for cache purposes. | |
virtual void | InvalidateContainer (int type=invalidateCurrent)=0 |
clear particle content in the particle group then enum should be in sync with IPFCache | |
virtual void | InvalidateCaches (int type=invalidateCurrent)=0 |
clear caches in the particle group | |
virtual bool | HasDelayedInvalidation () const =0 |
in normal circumstances when a particle group receives a change notification message from the encapsulated operator/test the particle group should invalidate itself. | |
virtual bool | DoDelayedInvalidation ()=0 |
check if the group has a delayed invalidation | |
virtual void | InvalidateActions ()=0 |
Particle Group stores pointers at IPFAction interfaces for efficiency. | |
FPInterfaceDesc * | GetDesc () |
perform invalidation that was delayed | |
Public Member Functions inherited from FPMixinInterface | |
FPMixinInterface () | |
virtual LifetimeType | LifetimeControl () |
virtual CoreExport bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
CoreExport | ~FPMixinInterface () |
virtual BaseInterface * | GetInterface (Interface_ID id) |
virtual FPInterfaceDesc * | GetDescByID (Interface_ID id) |
virtual Interface_ID | GetID () |
Public Member Functions inherited from FPInterface | |
virtual BaseInterface * | GetInterface (Interface_ID id) |
virtual FPInterfaceDesc * | GetDesc ()=0 |
virtual CoreExport FPStatus | Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL) |
virtual FPStatus | Invoke (FunctionID fid, FPParams *params) |
virtual CoreExport FPStatus | Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL) |
virtual FPStatus | Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL) |
virtual CoreExport FunctionID | FindFn (const MCHAR *name) |
virtual CoreExport BOOL | IsEnabled (FunctionID actionID) |
virtual CoreExport BOOL | IsChecked (FunctionID actionID) |
virtual CoreExport BOOL | IsVisible (FunctionID actionID) |
virtual CoreExport FunctionID | GetIsEnabled (FunctionID actionID) |
virtual CoreExport FunctionID | GetIsChecked (FunctionID actionID) |
virtual CoreExport FunctionID | GetIsVisible (FunctionID actionID) |
virtual ActionTable * | GetActionTable () |
virtual void | EnableActions (BOOL onOff) |
Public Member Functions inherited from BaseInterface | |
virtual UtilExport | ~BaseInterface () |
Destructor. | |
UtilExport BaseInterface * | GetInterface (Interface_ID id) override |
virtual UtilExport Interface_ID | GetID () |
virtual LifetimeType | LifetimeControl () |
virtual bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual BaseInterface * | AcquireInterface () |
virtual void | ReleaseInterface () |
virtual void | DeleteInterface () |
virtual BaseInterface * | CloneInterface (void *remapDir=nullptr) |
Public Member Functions inherited from InterfaceServer | |
virtual UtilExport | ~InterfaceServer () |
Destructor. | |
virtual UtilExport BaseInterface * | GetInterface (Interface_ID id) |
template<class InterfaceType > | |
InterfaceType * | GetTypedInterface () |
Additional Inherited Members | |
Static Public Member Functions inherited from MaxHeapOperators | |
static UtilExport void * | operator new (size_t size) |
Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e) |
Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new (size_t size, const char *filename, int line) |
New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, const char *filename, int line) |
New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new (size_t size, unsigned long flags) |
New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, unsigned long flags) |
New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new[] (size_t size) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new[] (size_t size, const char *filename, int line) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate arrays of objects. | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new[] (size_t size, unsigned long flags) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. | |
static UtilExport void | operator delete (void *ptr) |
Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e) |
Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete (void *ptr, const char *filename, int line) |
Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, int block_type, const char *filename, int line) |
Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete (void *ptr, unsigned long flags) |
Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags) |
Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete[] (void *ptr) |
Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e) |
Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete[] (void *ptr, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, int block_type, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete[] (void *ptr, unsigned long flags) |
Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags) |
Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
Placement new operator. | |
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
Placement delete operator. | |
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
Allocates memory on a specified alignment boundary. | |
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
Reallocates memory on a specified alignment boundary. | |
static UtilExport void | aligned_free (void *ptr) |
Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. | |
Static Public Attributes inherited from FPInterface | |
static CoreExport FPInterfaceDesc | nullInterface |
Protected Member Functions inherited from FPMixinInterface | |
FPMixinInterface (const FPMixinInterface &rhs) | |
FPMixinInterface & | operator= (const FPMixinInterface &rhs) |
Protected Member Functions inherited from FPInterface | |
virtual FPStatus | _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p) |
Protected Attributes inherited from FPMixinInterface | |
Tab< InterfaceNotifyCallback * > * | interfaceNotifyCBs |