Functions | |
virtual Class_ID | GetClassID ()=0 |
Returns the unique ID for the particle container class. More... | |
virtual int | NumChannels () const =0 |
Returns number of channels in the container. More... | |
virtual IObject *& | GetChannel (int i)=0 |
Returns i-th channel in the container. More... | |
virtual IObject * | GetChannel (Interface_ID id, Object *privateOwner=NULL, INode *creatorAction=NULL)=0 |
Returns a channel with the given interface id. More... | |
IObject * | GetPublicChannel (int id_PartA, int id_PartB) |
FnPub alternative for the method virtual IObject* GetChannel. More... | |
IObject * | GetPrivateChannel (int id_PartA, int id_PartB, Object *privateOwner, INode *creatorAction) |
FnPub alternative for method virtual IObject* GetChannel. More... | |
virtual bool | AddChannel (IObject *channel)=0 |
Returns true if the channel has been added. More... | |
virtual IObject * | EnsureChannel (Interface_ID &iChanID, Class_ID &channelClassID, bool isWrapper, Interface_ID &wrappingReadID, Interface_ID &wrappingWriteID, bool isTransferable=TRUE, INode *creatorAction=NULL, Object *privateOwner=NULL, bool *initChannel=NULL)=0 |
Returns a channel object if a channel with the given interface id is in the container. More... | |
virtual BaseInterface * | EnsureInterface (Interface_ID &iChanID, Class_ID &channelClassID, bool isWrapper, Interface_ID &wrappingReadID, Interface_ID &wrappingWriteID, bool isTransferable=TRUE, INode *creatorAction=NULL, Object *privateOwner=NULL, bool *initChannel=NULL)=0 |
Returns an interface if the interface with the given interface id is in the container. More... | |
virtual BaseInterface * | GetPrivateInterface (Interface_ID id, Object *privateOwner)=0 |
Returns an interface of a channel with the given interface id and private owner. More... | |
virtual int | RemoveNonTransferableChannels (INode *nextParticleGroup=NULL)=0 |
Returns an interface of a channel with the given interface id and private owner parameters: iChanID: interface id of channel to be present in the container privateOwner: the parameter is used to identify a private owner of the channel. More... | |
virtual IObject * | Clone ()=0 |
Makes a clone copy of the whole container (all channels), returns new container. More... | |
virtual bool | Copy (IObject *container)=0 |
Makes a copy from the other container, returns true if successful. More... | |
virtual IOResult | Save (ISave *isave) const =0 |
Saves content of the channel to file. More... | |
virtual IOResult | Load (ILoad *iload)=0 |
Loads content of the channel from file. More... | |
virtual int | MemoryUsed () const =0 |
Returns amount of memory used (in bytes) by the channel container to store the information. More... | |
FPInterfaceDesc * | GetDesc () |
virtual bool | SetUVVert (int particleIndex, const UVVert &value)=0 |
sets all vertices of the particle have the same UVVert value. More... | |
virtual bool | SetUVVert (int particleIndex, const TabUVVert *tab)=0 |
copies UVVert data to be texture mapping for the particle. More... | |
virtual bool | SetUVVert (Tab< int > &particleIndices, const UVVert &value)=0 |
copies UVVert data to be a shared value with indices in "particleIndeces" More... | |
virtual bool | SetUVVert (Tab< int > &particleIndices, const TabUVVert *tab)=0 |
copies UVVert data to be a shared value with indices in "particleIndeces" More... | |
virtual bool | SetUVVert (const UVVert &value)=0 |
copies UVVert data to a global value for all particles More... | |
virtual bool | SetUVVert (const TabUVVert *tab)=0 |
copies UVVert data to a global value for all particles More... | |
virtual bool | CopyUVVert (int fromParticle, int toParticle)=0 |
copy UVVert data from fromParticle to toParticle More... | |
virtual bool | CopyUVVert (int fromParticle, Tab< int > &toParticles)=0 |
copy UVVert data from fromParticle to toParticles More... | |
virtual bool | CopyUVVert (int fromParticle)=0 |
copy UVVert data from fromParticle to all particles More... | |
virtual bool | SetTVFace (int particleIndex, const TabTVFace *tab)=0 |
copies TVFace data to be texture facing for the particle. More... | |
virtual bool | SetTVFace (Tab< int > &particleIndices, const TabTVFace *tab)=0 |
copies TVFace data to be a shared value with indices in "particleIndeces" More... | |
virtual bool | SetTVFace (const TabTVFace *tab)=0 |
copies TVFace data to a global value for all particles More... | |
virtual bool | CopyTVFace (int fromParticle, int toParticle)=0 |
copy TVFace data from fromParticle to toParticle More... | |
virtual bool | CopyTVFace (int fromParticle, Tab< int > &toParticles)=0 |
copy TVFace data from fromParticle to toParticles More... | |
virtual bool | CopyTVFace (int fromParticle)=0 |
copy TVFace data from fromParticle to all particles More... | |
virtual IObject * | GetUVVertChannel () const =0 |
returns an object of TabUVVert channel More... | |
virtual IObject * | GetTVFaceChannel () const =0 |
returns an object of TabTVFace channel More... | |
bool | SetMap (int particleIndex, const UVVert &value) |
sets all vertices of the particle have the same map value. More... | |
bool | SetMap (int particleIndex, const TabUVVert *tabUVVert, const TabTVFace *tabTVFace=NULL) |
copies map data to be texture mapping for the particle. More... | |
bool | SetMap (Tab< int > &particleIndices, const UVVert &value) |
copies map data to be a shared value with indices in "particleIndeces" More... | |
bool | SetMap (Tab< int > &particleIndices, const TabUVVert *tabUVVert, const TabTVFace *tabTVFace=NULL) |
copies map data to be a shared value with indices in "particleIndeces" More... | |
bool | SetMap (const UVVert &value) |
copies map data to a global value for all particles More... | |
bool | SetMap (const TabUVVert *tabUVVert, const TabTVFace *tabTVFace=NULL) |
copies map data to a global value for all particles More... | |
bool | CopyMap (int fromParticle, int toParticle) |
copy map data from fromParticle to toParticle More... | |
bool | CopyMap (int fromParticle, Tab< int > &toParticles) |
copy map data from fromParticle to toParticles More... | |
bool | CopyMap (int fromParticle) |
copy map data from fromParticle to all particles More... | |
FPInterfaceDesc * | GetDesc () |
|
pure virtual |
Returns the unique ID for the particle container class.
ID is used for constructing the container when loading since the particle container class is not inherited from class Animatable
|
pure virtual |
Returns number of channels in the container.
|
pure virtual |
Returns a channel with the given interface id.
If privateOwner is NULL, then the channel is public. If privateOwner is specified, then the channel is private with the given private owner.
FnPub alternative for the method virtual IObject* GetChannel.
Essentially takes in the two (2) components that make up the full Interface_ID CHANNELCONTAINER_INTERFACE
id_PartA | Corresponds to 0x74f93c00. Look at #define CHANNELCONTAINER_INTERFACE Interface_ID(0x74f93c00, 0x1eb34600) |
id_PartB | Corresponds to 0x1eb34600. Look at #define CHANNELCONTAINER_INTERFACE Interface_ID(0x74f93c00, 0x1eb34600) |
|
inline |
FnPub alternative for method virtual IObject* GetChannel.
|
pure virtual |
Returns true if the channel has been added.
The channel may be rejected if there are duplicate interfaces in the added channel and in the container. The ParticleChannelReadWrite and ParticleChannelAmount interfaces don't count since every channel has them.
|
pure virtual |
Returns a channel object if a channel with the given interface id is in the container.
If such channel doesn't exist, that container makes an attempt to create and add a channel for the interface according to the specifications. The method is not for FnPub intentionally.
iChanID | interface id of channel to be present in the container |
channelClassID | if interface is not present then create particle channel with the classID |
isWrapper | if true then the created particle channel is wrapper |
wrappingReadID | read ID for wrapping the particle channel |
wrappingWriteID | write ID for wrapping the particle channel |
isTransferable | if true then the channel is transferable (contrary to temporary) |
creatorAction | the parameter is used to record an action that created the channel this record can be used later on to identify if the action needs to initialize the channel values for new particles |
privateOwner | the parameter is used to set a private owner of the channel. Only the action with the same object pointer may access this channel |
initChannel | if the channel was created by the same action node then it's responsibility of the action to initialize values |
|
pure virtual |
Returns an interface if the interface with the given interface id is in the container.
If such interface doesn't exist, that container makes an attempt to create and add a channel for the interface according to the specifications. The method is not for FnPub intentionally.
iChanID | interface id of channel to be present in the container |
channelClassID | if interface is not present then create particle channel with the classID |
isWrapper | if true then the created particle channel is wrapper |
wrappingReadID | read ID for wrapping the particle channel |
wrappingWriteID | write ID for wrapping the particle channel |
isTransferable | if true then the channel is transferable (contrary to temporary) |
creatorAction | the parameter is used to record an action that created the channel this record can be used later on to identify if the action needs to initialize the channel values for new particles |
privateOwner | the parameter is used to set a private owner of the channel. Only the action with the same object pointer may access this channel |
initChannel | if the channel was created by the same action node then it's responsibility of the action to initialize values |
|
pure virtual |
Returns an interface of a channel with the given interface id and private owner.
id | interface id of channel to be present in the container. |
privateOwner | the parameter is used to identify a private owner of the channel. |
Returns an interface of a channel with the given interface id and private owner parameters:
iChanID: interface id of channel to be present in the container
privateOwner: the parameter is used to identify a private owner of the channel.
|
pure virtual |
Makes a clone copy of the whole container (all channels), returns new container.
|
pure virtual |
Makes a copy from the other container, returns true if successful.
|
pure virtual |
Returns amount of memory used (in bytes) by the channel container to store the information.
This is a total sum of the memory used by all channels and the data from the container itself.
|
inlinevirtual |
Implements FPInterface.
sets all vertices of the particle have the same UVVert value.
returns true if successful.
copies UVVert data to be texture mapping for the particle.
returns true if successful.
copies UVVert data to be a shared value with indices in "particleIndeces"
copies UVVert data to be a shared value with indices in "particleIndeces"
|
pure virtual |
copies UVVert data to a global value for all particles
|
pure virtual |
copies UVVert data to a global value for all particles
copy UVVert data from fromParticle to toParticle
copy UVVert data from fromParticle to toParticles
|
pure virtual |
copy UVVert data from fromParticle to all particles
copies TVFace data to be texture facing for the particle.
returns true if successful.
copies TVFace data to be a shared value with indices in "particleIndeces"
|
pure virtual |
copies TVFace data to a global value for all particles
copy TVFace data from fromParticle to toParticle
copy TVFace data from fromParticle to toParticles
|
pure virtual |
copy TVFace data from fromParticle to all particles
|
pure virtual |
returns an object of TabUVVert channel
|
pure virtual |
returns an object of TabTVFace channel
sets all vertices of the particle have the same map value.
returns true if successful.
|
inline |
copies map data to be texture mapping for the particle.
returns true if successful.
copies map data to be a shared value with indices in "particleIndeces"
|
inline |
copies map data to be a shared value with indices in "particleIndeces"
|
inline |
copies map data to a global value for all particles
copies map data to a global value for all particles
copy map data from fromParticle to toParticle
copy map data from fromParticle to toParticles
|
inline |
copy map data from fromParticle to all particles
|
inlinevirtual |
Implements FPInterface.