Functions |
|
virtual Class_ID | GetClassID ()=0 |
Returns the unique ID for the particle
container class. |
|
virtual int | NumChannels () const =0 |
Returns number of channels in the container.
|
|
virtual IObject *& | GetChannel (int i)=0 |
Returns i-th channel in the container.
|
|
virtual IObject * | GetChannel (Interface_ID id, Object *privateOwner=NULL, INode *creatorAction=NULL)=0 |
Returns a channel with the given interface
id. |
|
IObject * | GetPublicChannel (int id_PartA, int id_PartB) |
FnPub alternative for the method virtual
IObject* GetChannel. |
|
IObject * | GetPrivateChannel (int id_PartA, int id_PartB, Object *privateOwner, INode *creatorAction) |
FnPub alternative for method virtual
IObject* GetChannel. |
|
virtual bool | AddChannel (IObject *channel)=0 |
Returns true if the channel has been added.
|
|
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. |
|
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. |
|
virtual BaseInterface * | GetPrivateInterface (Interface_ID id, Object *privateOwner)=0 |
Returns an interface of a channel with the
given interface id and private owner. |
|
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. |
|
virtual IObject * | Clone ()=0 |
Makes a clone copy of the whole container
(all channels), returns new container. |
|
virtual bool | Copy (IObject *container)=0 |
Makes a copy from the other container,
returns true if successful. |
|
virtual IOResult | Save (ISave *isave) const =0 |
Saves content of the channel to file.
|
|
virtual IOResult | Load (ILoad *iload)=0 |
Loads content of the channel from file.
|
|
virtual int | MemoryUsed () const =0 |
Returns amount of memory used (in bytes) by
the channel container to store the information. |
|
FPInterfaceDesc * | GetDesc () |
virtual bool | SetUVVert (int particleIndex, const UVVert &value)=0 |
sets all vertices of the particle have the
same UVVert value. |
|
virtual bool | SetUVVert (int particleIndex, const TabUVVert *tab)=0 |
copies UVVert data to be texture mapping for
the particle. |
|
virtual bool | SetUVVert (Tab< int > &particleIndices, const UVVert &value)=0 |
copies UVVert data to be a shared value with
indices in "particleIndeces" |
|
virtual bool | SetUVVert (Tab< int > &particleIndices, const TabUVVert *tab)=0 |
copies UVVert data to be a shared value with
indices in "particleIndeces" |
|
virtual bool | SetUVVert (const UVVert &value)=0 |
copies UVVert data to a global value for all
particles |
|
virtual bool | SetUVVert (const TabUVVert *tab)=0 |
copies UVVert data to a global value for all
particles |
|
virtual bool | CopyUVVert (int fromParticle, int toParticle)=0 |
copy UVVert data from fromParticle to
toParticle |
|
virtual bool | CopyUVVert (int fromParticle, Tab< int > &toParticles)=0 |
copy UVVert data from fromParticle to
toParticles |
|
virtual bool | CopyUVVert (int fromParticle)=0 |
copy UVVert data from fromParticle to all
particles |
|
virtual bool | SetTVFace (int particleIndex, const TabTVFace *tab)=0 |
copies TVFace
data to be texture facing for the particle. |
|
virtual bool | SetTVFace (Tab< int > &particleIndices, const TabTVFace *tab)=0 |
copies TVFace
data to be a shared value with indices in "particleIndeces"
|
|
virtual bool | SetTVFace (const TabTVFace *tab)=0 |
copies TVFace
data to a global value for all particles |
|
virtual bool | CopyTVFace (int fromParticle, int toParticle)=0 |
copy TVFace
data from fromParticle to toParticle |
|
virtual bool | CopyTVFace (int fromParticle, Tab< int > &toParticles)=0 |
copy TVFace
data from fromParticle to toParticles |
|
virtual bool | CopyTVFace (int fromParticle)=0 |
copy TVFace
data from fromParticle to all particles |
|
virtual IObject * | GetUVVertChannel () const =0 |
returns an object of TabUVVert channel
|
|
virtual IObject * | GetTVFaceChannel () const =0 |
returns an object of TabTVFace channel
|
|
bool | SetMap (int particleIndex, const UVVert &value) |
sets all vertices of the particle have the
same map value. |
|
bool | SetMap (int particleIndex, const TabUVVert *tabUVVert, const TabTVFace *tabTVFace=NULL) |
copies map data to be texture mapping for
the particle. |
|
bool | SetMap (Tab< int > &particleIndices, const UVVert &value) |
copies map data to be a shared value with
indices in "particleIndeces" |
|
bool | SetMap (Tab< int > &particleIndices, const TabUVVert *tabUVVert, const TabTVFace *tabTVFace=NULL) |
copies map data to be a shared value with
indices in "particleIndeces" |
|
bool | SetMap (const UVVert &value) |
copies map data to a global value for all
particles |
|
bool | SetMap (const TabUVVert *tabUVVert, const TabTVFace *tabTVFace=NULL) |
copies map data to a global value for all
particles |
|
bool | CopyMap (int fromParticle, int toParticle) |
copy map data from fromParticle to
toParticle |
|
bool | CopyMap (int fromParticle, Tab< int > &toParticles) |
copy map data from fromParticle to
toParticles |
|
bool | CopyMap (int fromParticle) |
copy map data from fromParticle to all
particles |
|
FPInterfaceDesc * | GetDesc () |
Class_ID GetClassID | ( | ) | [pure virtual, inherited] |
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
int NumChannels | ( | ) | const [pure virtual, inherited] |
Returns number of channels in the container.
IObject *& GetChannel | ( | int | i | ) | [pure virtual, inherited] |
Returns i-th channel in the container.
IObject * GetChannel | ( | Interface_ID | id, |
Object * | privateOwner =
NULL , |
||
INode * | creatorAction =
NULL |
||
) | [pure virtual, inherited] |
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.
IObject * GetPublicChannel | ( | int | id_PartA, |
int | id_PartB | ||
) | [inline, inherited] |
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) |
{ return GetChannel( Interface_ID(id_PartA, id_PartB), NULL); }
IObject * GetPrivateChannel | ( | int | id_PartA, |
int | id_PartB, | ||
Object * | privateOwner, | ||
INode * | creatorAction | ||
) | [inline, inherited] |
FnPub alternative for method virtual IObject* GetChannel.
{ return GetChannel( Interface_ID(id_PartA, id_PartB), privateOwner, creatorAction); }
bool AddChannel | ( | IObject * | channel | ) | [pure virtual, inherited] |
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.
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 |
||
) | [pure virtual, inherited] |
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 | & wrappingWriteID: read & 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 |
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 |
||
) | [pure virtual, inherited] |
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 | & wrappingWriteID: read & 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 |
BaseInterface * GetPrivateInterface | ( | Interface_ID | id, |
Object * | privateOwner | ||
) | [pure virtual, inherited] |
Returns an interface of a channel with the given interface id and private owner.
iChanID,: | interface id of channel to be present in the
container. |
privateOwner,: | the parameter is used to identify a private owner of the
channel. |
int RemoveNonTransferableChannels | ( | INode * | nextParticleGroup =
NULL |
) | [pure virtual, inherited] |
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.
IObject * Clone | ( | ) | [pure virtual, inherited] |
Makes a clone copy of the whole container (all channels), returns new container.
bool Copy | ( | IObject * | container | ) | [pure virtual, inherited] |
Makes a copy from the other container, returns true if successful.
Saves content of the channel to file.
Loads content of the channel from file.
int MemoryUsed | ( | ) | const [pure virtual, inherited] |
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.
FPInterfaceDesc * GetDesc | ( | ) | [inline, virtual, inherited] |
Implements FPInterface.
{ return GetDescByID(CHANNELCONTAINER_INTERFACE); }
bool SetUVVert | ( | int | particleIndex, |
const UVVert & | value | ||
) | [pure virtual, inherited] |
sets all vertices of the particle have the same UVVert value.
returns true if successful.
bool SetUVVert | ( | int | particleIndex, |
const TabUVVert * | tab | ||
) | [pure virtual, inherited] |
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"
bool SetUVVert | ( | Tab< int > & | particleIndices, |
const TabUVVert * | tab | ||
) | [pure virtual, inherited] |
copies UVVert data to be a shared value with indices in "particleIndeces"
bool SetUVVert | ( | const UVVert & | value | ) | [pure virtual, inherited] |
copies UVVert data to a global value for all particles
bool SetUVVert | ( | const TabUVVert * | tab | ) | [pure virtual, inherited] |
copies UVVert data to a global value for all particles
bool CopyUVVert | ( | int | fromParticle, |
int | toParticle | ||
) | [pure virtual, inherited] |
copy UVVert data from fromParticle to toParticle
bool CopyUVVert | ( | int | fromParticle, |
Tab< int > & | toParticles | ||
) | [pure virtual, inherited] |
copy UVVert data from fromParticle to toParticles
bool CopyUVVert | ( | int | fromParticle | ) | [pure virtual, inherited] |
copy UVVert data from fromParticle to all particles
bool SetTVFace | ( | int | particleIndex, |
const TabTVFace * | tab | ||
) | [pure virtual, inherited] |
copies TVFace data to be texture facing for the particle.
returns true if successful.
bool SetTVFace | ( | Tab< int > & | particleIndices, |
const TabTVFace * | tab | ||
) | [pure virtual, inherited] |
copies TVFace data to be a shared value with indices in "particleIndeces"
bool SetTVFace | ( | const TabTVFace * | tab | ) | [pure virtual, inherited] |
copies TVFace data to a global value for all particles
bool CopyTVFace | ( | int | fromParticle, |
int | toParticle | ||
) | [pure virtual, inherited] |
copy TVFace data from fromParticle to toParticle
bool CopyTVFace | ( | int | fromParticle, |
Tab< int > & | toParticles | ||
) | [pure virtual, inherited] |
copy TVFace data from fromParticle to toParticles
bool CopyTVFace | ( | int | fromParticle | ) | [pure virtual, inherited] |
copy TVFace data from fromParticle to all particles
IObject * GetUVVertChannel | ( | ) | const [pure virtual, inherited] |
returns an object of TabUVVert channel
IObject * GetTVFaceChannel | ( | ) | const [pure virtual, inherited] |
returns an object of TabTVFace channel
bool SetMap | ( | int | particleIndex, |
const UVVert & | value | ||
) | [inline, inherited] |
sets all vertices of the particle have the same map value.
returns true if successful.
bool SetMap | ( | int | particleIndex, |
const TabUVVert * | tabUVVert, | ||
const TabTVFace * | tabTVFace =
NULL |
||
) | [inline, inherited] |
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"
bool SetMap | ( | Tab< int > & | particleIndices, |
const TabUVVert * | tabUVVert, | ||
const TabTVFace * | tabTVFace =
NULL |
||
) | [inline, inherited] |
copies map data to be a shared value with indices in "particleIndeces"
bool SetMap | ( | const UVVert & | value | ) | [inline, inherited] |
copies map data to a global value for all particles
bool SetMap | ( | const TabUVVert * | tabUVVert, |
const TabTVFace * | tabTVFace =
NULL |
||
) | [inline, inherited] |
copies map data to a global value for all particles
bool CopyMap | ( | int | fromParticle, |
int | toParticle | ||
) | [inline, inherited] |
copy map data from fromParticle to toParticle
{ return (CopyUVVert(fromParticle, toParticle) && CopyTVFace(fromParticle, toParticle)); }
bool CopyMap | ( | int | fromParticle, |
Tab< int > & | toParticles | ||
) | [inline, inherited] |
copy map data from fromParticle to toParticles
{ return (CopyUVVert(fromParticle, toParticles) && CopyTVFace(fromParticle, toParticles)); }
bool CopyMap | ( | int | fromParticle | ) | [inline, inherited] |
copy map data from fromParticle to all particles
{ return (CopyUVVert(fromParticle) && CopyTVFace(fromParticle)); }
FPInterfaceDesc * GetDesc | ( | ) | [inline, virtual, inherited] |
Implements FPInterface.
{ return GetDescByID(PARTICLECHANNELMAPW_INTERFACE); }