# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::CPSTexturedParticle Class Reference

this class adds a texture to a particle. More...

#include <ps_particle_basic.h>

Inheritance diagram for NL3D::CPSTexturedParticle:

NL3D::CPSQuad NL3D::CPSShockWave NL3D::CPSFace NL3D::CPSFaceLookAt List of all members.

Public Methods

void setTextureIndexScheme (CPSAttribMaker< sint32 > *animOrder)
 ===================================================================================. More...

CPSAttribMaker< sint32 > * getTextureIndexScheme (void)
 get the texture scheme (null if none). More...

const CPSAttribMaker< sint32 > * getTextureIndexScheme (void) const
 get the texture scheme (null if none) const version. More...

void setTextureIndex (sint32 index)
 ===================================================================================. More...

sint32 getTextureIndex (void) const
 get the animated texture index. MeaningFul only if a texture group was set. More...

void setTextureGroup (NLMISC::CSmartPtr< CTextureGrouped > texGroup)
 ===================================================================================. More...

CTextureGroupedgetTextureGroup (void)
 get the texture group used. it discard any previous single texture. (if null, there's no texture animation). More...

const CTextureGroupedgetTextureGroup (void) const
 get the texture group used if there's a texture scheme, const version. (if null, there's no texture animation). More...

void setTexture (CSmartPtr< ITexture > tex)
 ===================================================================================. More...

ITexturegetTexture (void)
 get the constant texture. More...

const ITexturegetTexture (void) const
 CPSTexturedParticle ()
 ===================================================================================. More...

virtual ~CPSTexturedParticle ()
 ===================================================================================. More...

void serialTextureScheme (NLMISC::IStream &f) throw (NLMISC::EStream)
 ===================================================================================. More...


Protected Methods

virtual CPSLocatedgetTextureIndexOwner (void)=0
 deriver must return their owner there. More...

virtual void updateMatAndVbForTexture (void)=0
 Update the material so that it match the texture scheme. More...

void newTextureIndexElement (CPSLocated *emitterLocated, uint32 emitterIndex)
void deleteTextureIndexElement (uint32 index)
void resizeTextureIndex (uint32 size)

Protected Attributes

CSmartPtr< ITexture_Tex
CSmartPtr< CTextureGrouped_TexGroup
CPSAttribMaker< sint32 > * _TextureIndexScheme
sint32 _TextureIndex

Detailed Description

this class adds a texture to a particle.

The texture can be animated or not. it can be used by public multiple inheritance. The frame animation are all stored in the same texture for optimisation so it's not suited for large anim...

Definition at line 388 of file ps_particle_basic.h.


Constructor & Destructor Documentation

NL3D::CPSTexturedParticle::CPSTexturedParticle  
 

===================================================================================.

Definition at line 357 of file ps_particle_basic.cpp.

NL3D::CPSTexturedParticle::~CPSTexturedParticle   [virtual]
 

===================================================================================.

Definition at line 364 of file ps_particle_basic.cpp.

References _TextureIndexScheme.


Member Function Documentation

void NL3D::CPSTexturedParticle::deleteTextureIndexElement uint32    index [inline, protected]
 

Definition at line 463 of file ps_particle_basic.h.

References _TextureIndexScheme, and index.

Referenced by NL3D::CPSShockWave::deleteElement, and NL3D::CPSQuad::deleteElement.

const ITexture* NL3D::CPSTexturedParticle::getTexture void    const [inline]
 

Definition at line 430 of file ps_particle_basic.h.

References _Tex.

ITexture* NL3D::CPSTexturedParticle::getTexture void    [inline]
 

get the constant texture.

Definition at line 428 of file ps_particle_basic.h.

References _Tex.

const CTextureGrouped* NL3D::CPSTexturedParticle::getTextureGroup void    const [inline]
 

get the texture group used if there's a texture scheme, const version. (if null, there's no texture animation).

Definition at line 419 of file ps_particle_basic.h.

References _TexGroup.

CTextureGrouped* NL3D::CPSTexturedParticle::getTextureGroup void    [inline]
 

get the texture group used. it discard any previous single texture. (if null, there's no texture animation).

Definition at line 416 of file ps_particle_basic.h.

References _TexGroup.

sint32 NL3D::CPSTexturedParticle::getTextureIndex void    const [inline]
 

get the animated texture index. MeaningFul only if a texture group was set.

Definition at line 410 of file ps_particle_basic.h.

References _TextureIndex.

virtual CPSLocated* NL3D::CPSTexturedParticle::getTextureIndexOwner void    [protected, pure virtual]
 

deriver must return their owner there.

Implemented in NL3D::CPSQuad.

Referenced by resizeTextureIndex.

const CPSAttribMaker<sint32>* NL3D::CPSTexturedParticle::getTextureIndexScheme void    const [inline]
 

get the texture scheme (null if none) const version.

Definition at line 404 of file ps_particle_basic.h.

References _TextureIndexScheme.

CPSAttribMaker<sint32>* NL3D::CPSTexturedParticle::getTextureIndexScheme void    [inline]
 

get the texture scheme (null if none).

Definition at line 401 of file ps_particle_basic.h.

References _TextureIndexScheme.

void NL3D::CPSTexturedParticle::newTextureIndexElement CPSLocated   emitterLocated,
uint32    emitterIndex
[inline, protected]
 

Definition at line 459 of file ps_particle_basic.h.

References _TextureIndexScheme.

Referenced by NL3D::CPSShockWave::newElement, and NL3D::CPSQuad::newElement.

void NL3D::CPSTexturedParticle::resizeTextureIndex uint32    size [inline, protected]
 

Definition at line 467 of file ps_particle_basic.h.

References _TextureIndexScheme, getTextureIndexOwner, and nlassert.

Referenced by NL3D::CPSShockWave::resize, and NL3D::CPSQuad::resize.

void NL3D::CPSTexturedParticle::serialTextureScheme NLMISC::IStream   f throw (NLMISC::EStream)
 

===================================================================================.

Definition at line 370 of file ps_particle_basic.cpp.

void NL3D::CPSTexturedParticle::setTexture CSmartPtr< ITexture   tex
 

===================================================================================.

See also:
setTextureScheme()

Definition at line 347 of file ps_particle_basic.cpp.

References _Tex, _TexGroup, _TextureIndexScheme, and updateMatAndVbForTexture.

Referenced by NL3D::CPSQuad::CPSQuad, and NL3D::CPSShockWave::CPSShockWave.

void NL3D::CPSTexturedParticle::setTextureGroup NLMISC::CSmartPtr< CTextureGrouped   texGroup
 

===================================================================================.

Definition at line 336 of file ps_particle_basic.cpp.

References _Tex, _TexGroup, and nlassert.

void NL3D::CPSTexturedParticle::setTextureIndex sint32    index
 

===================================================================================.

Definition at line 328 of file ps_particle_basic.cpp.

References _TextureIndex, _TextureIndexScheme, and index.

void NL3D::CPSTexturedParticle::setTextureIndexScheme CPSAttribMaker< sint32 > *    animOrder
 

===================================================================================.

It tells which frame to use

Definition at line 315 of file ps_particle_basic.cpp.

References nlassert.

virtual void NL3D::CPSTexturedParticle::updateMatAndVbForTexture void    [protected, pure virtual]
 

Update the material so that it match the texture scheme.

Implemented in NL3D::CPSQuad.

Referenced by setTexture.


Member Data Documentation

CSmartPtr<ITexture> NL3D::CPSTexturedParticle::_Tex [protected]
 

Definition at line 446 of file ps_particle_basic.h.

Referenced by getTexture, setTexture, setTextureGroup, NL3D::CPSShockWave::updateMatAndVbForTexture, NL3D::CPSQuad::updateMatAndVbForTexture, NL3D::CPSQuad::updateMatBeforeRendering, and NL3D::CPSQuad::updateVbColNUVForRender.

CSmartPtr<CTextureGrouped> NL3D::CPSTexturedParticle::_TexGroup [protected]
 

Definition at line 449 of file ps_particle_basic.h.

Referenced by getTextureGroup, NL3D::CPSShockWave::getVBnPB, setTexture, setTextureGroup, NL3D::CPSShockWave::updateMatAndVbForTexture, NL3D::CPSQuad::updateMatAndVbForTexture, NL3D::CPSShockWave::updateVbColNUVForRender, and NL3D::CPSQuad::updateVbColNUVForRender.

sint32 NL3D::CPSTexturedParticle::_TextureIndex [protected]
 

Definition at line 454 of file ps_particle_basic.h.

Referenced by getTextureIndex, setTextureIndex, NL3D::CPSShockWave::updateVbColNUVForRender, and NL3D::CPSQuad::updateVbColNUVForRender.

CPSAttribMaker<sint32>* NL3D::CPSTexturedParticle::_TextureIndexScheme [protected]
 

Definition at line 451 of file ps_particle_basic.h.

Referenced by deleteTextureIndexElement, getTextureIndexScheme, newTextureIndexElement, resizeTextureIndex, setTexture, setTextureIndex, NL3D::CPSShockWave::updateVbColNUVForRender, NL3D::CPSQuad::updateVbColNUVForRender, and ~CPSTexturedParticle.


The documentation for this class was generated from the following files: