Particle Universe  1.2
ParticleUniverse::EntityRenderer Class Reference

#include <ParticleUniverseEntityRenderer.h>

Inheritance diagram for ParticleUniverse::EntityRenderer:

Public Types

enum  EntityOrientationType { ENT_ORIENTED_SELF, ENT_ORIENTED_SELF_MIRRORED, ENT_ORIENTED_SHAPE }
 
- Public Types inherited from ParticleUniverse::IAlias
enum  AliasType {
  AT_UNDEFINED, AT_TECHNIQUE, AT_RENDERER, AT_EMITTER,
  AT_AFFECTOR, AT_OBSERVER, AT_EXTERN, AT_HANDLER,
  AT_BEHAVIOUR
}
 

Public Member Functions

 EntityRenderer (void)
 
virtual ~EntityRenderer (void)
 
const StringgetMeshName (void) const
 
void setMeshName (const String &meshName)
 
void _destroyAll (void)
 
virtual void setVisible (bool visible)
 
virtual void _prepare (ParticleTechnique *technique)
 
virtual void _unprepare (ParticleTechnique *technique)
 
virtual void _updateRenderQueue (Ogre::RenderQueue *queue, ParticlePool *pool)
 
virtual void _notifyAttached (Ogre::Node *parent, bool isTagPoint=false)
 
virtual void _setMaterialName (const String &materialName)
 
virtual void _notifyCurrentCamera (Camera *cam)
 
virtual void _notifyParticleQuota (size_t quota)
 
virtual void _notifyDefaultDimensions (Real width, Real height, Real depth)
 
virtual void _notifyParticleResized (void)
 
virtual void _notifyParticleZRotated (void)
 
void _rotateTexture (VisualParticle *particle, Ogre::Entity *entity)
 
virtual void setRenderQueueGroup (uint8 queueId)
 
virtual SortMode _getSortMode (void) const
 
const EntityOrientationTypegetEntityOrientationType (void) const
 
void setEntityOrientationType (const EntityOrientationType &entityOrientationType)
 
virtual void copyAttributesTo (ParticleRenderer *renderer)
 
- Public Member Functions inherited from ParticleUniverse::ParticleRenderer
 ParticleRenderer (void)
 
virtual ~ParticleRenderer (void)
 
const StringgetRendererType (void) const
 
void setRendererType (String rendererType)
 
ParticleTechniquegetParentTechnique (void) const
 
void setParentTechnique (ParticleTechnique *parentTechnique)
 
bool isRendererInitialised (void) const
 
void setRendererInitialised (bool rendererInitialised)
 
virtual void _notifyStart (void)
 
virtual void _notifyStop (void)
 
virtual void _notifyRescaled (const Vector3 &scale)
 
virtual void _processParticle (ParticleTechnique *particleTechnique, Particle *particle, Real timeElapsed, bool firstParticle)
 
bool getUseSoftParticles (void) const
 
void setUseSoftParticles (bool useSoftParticles)
 
Real getSoftParticlesContrastPower (void) const
 
Real getSoftParticlesScale (void) const
 
Real getSoftParticlesDelta (void) const
 
void setSoftParticlesContrastPower (Real softParticlesContrastPower)
 
void setSoftParticlesScale (Real softParticlesScale)
 
void setSoftParticlesDelta (Real softParticlesDelta)
 
virtual uint8 getRenderQueueGroup (void) const
 
const bool isSorted (void) const
 
void setSorted (bool sorted)
 
const uchar getTextureCoordsRows (void) const
 
void setTextureCoordsRows (uchar const textureCoordsRows)
 
const uchar getTextureCoordsColumns (void) const
 
void setTextureCoordsColumns (uchar const textureCoordsColumns)
 
size_t getNumTextureCoords (void)
 
virtual void copyParentAttributesTo (ParticleRenderer *renderer)
 
void addTextureCoords (const Real u, const Real v, const Real width, const Real height)
 
const vector< Ogre::FloatRect * > & getTextureCoords (void) const
 
- Public Member Functions inherited from ParticleUniverse::IAlias
 IAlias (void)
 
virtual ~IAlias (void)
 
const StringgetAliasName (void) const
 
void setAliasName (String aliasName)
 
const AliasType getAliasType (void) const
 
void setAliasType (AliasType aliasType)
 
- Public Member Functions inherited from ParticleUniverse::IElement
 IElement (void)
 
virtual ~IElement (void)
 

Static Public Attributes

static const EntityOrientationType DEFAULT_ORIENTATION_TYPE
 
- Static Public Attributes inherited from ParticleUniverse::ParticleRenderer
static const uint8 DEFAULT_RENDER_QUEUE_GROUP
 
static const bool DEFAULT_SORTED
 
static const uchar DEFAULT_TEXTURECOORDS_ROWS
 
static const uchar DEFAULT_TEXTURECOORDS_COLUMNS
 
static const bool DEFAULT_USE_SOFT_PARTICLES
 
static const Real DEFAULT_SOFT_PARTICLES_CONTRAST_POWER
 
static const Real DEFAULT_SOFT_PARTICLES_SCALE
 
static const Real DEFAULT_SOFT_PARTICLES_DELTA
 

Protected Member Functions

void _makeNodesVisible (bool visible)
 
- Protected Member Functions inherited from ParticleUniverse::ParticleRenderer
void _createSoftMaterial (void)
 
void _stripNameFromSoftPrefix (String &name)
 

Protected Attributes

vector< EntityRendererVisualData * > mAllVisualData
 
vector< EntityRendererVisualData * > mVisualData
 
vector< Ogre::Entity * > mEntities
 
size_t mQuota
 
String mMeshName
 
String mEntityName
 
Real mBoxWidth
 
Real mBoxHeight
 
Real mBoxDepth
 
bool mZRotated
 
EntityOrientationType mEntityOrientationType
 
- Protected Attributes inherited from ParticleUniverse::ParticleRenderer
ParticleTechniquemParentTechnique
 
Ogre::BillboardSetmBillboardSet
 
String mRendererType
 
bool mCullIndividual
 
Real mHeight
 
Real mWidth
 
Real mDepth
 
bool mSorted
 
uint8 mQueueId
 
bool mRendererInitialised
 
Vector3 _mRendererScale
 
vector< Ogre::FloatRect * > mUVList
 
uchar mTextureCoordsRows
 
uchar mTextureCoordsColumns
 
bool mTextureCoordsRowsAndColumnsSet
 
bool mTextureCoordsSet
 
bool mUseSoftParticles
 
Real mSoftParticlesContrastPower
 
Real mSoftParticlesScale
 
Real mSoftParticlesDelta
 
bool mNotifiedDepthMap
 
bool mVisible
 
bool mDepthCheckEnabled
 
bool mDepthWriteEnabled
 
- Protected Attributes inherited from ParticleUniverse::IAlias
String mAliasName
 
AliasType mAliasType
 

Additional Inherited Members

- Public Attributes inherited from ParticleUniverse::ParticleRenderer
bool autoRotate
 

Detailed Description

The EntityRenderer class is responsible to render particles as an Entity.

Member Enumeration Documentation

Enumerator
ENT_ORIENTED_SELF 
ENT_ORIENTED_SELF_MIRRORED 
ENT_ORIENTED_SHAPE 

Constructor & Destructor Documentation

ParticleUniverse::EntityRenderer::EntityRenderer ( void  )
virtual ParticleUniverse::EntityRenderer::~EntityRenderer ( void  )
virtual

Member Function Documentation

void ParticleUniverse::EntityRenderer::_destroyAll ( void  )

Deletes all ChildSceneNodes en Entities.

virtual SortMode ParticleUniverse::EntityRenderer::_getSortMode ( void  ) const
virtual

Gets the particles sort mode

Implements ParticleUniverse::ParticleRenderer.

void ParticleUniverse::EntityRenderer::_makeNodesVisible ( bool  visible)
protected

Make all nodes to which the entities are attached visible or invisible.

virtual void ParticleUniverse::EntityRenderer::_notifyAttached ( Ogre::Node parent,
bool  isTagPoint = false 
)
virtual
virtual void ParticleUniverse::EntityRenderer::_notifyCurrentCamera ( Camera cam)
virtual
virtual void ParticleUniverse::EntityRenderer::_notifyDefaultDimensions ( Real  width,
Real  height,
Real  depth 
)
virtual

The particle default size has changed

Implements ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::EntityRenderer::_notifyParticleQuota ( size_t  quota)
virtual

The particle quota has changed

Implements ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::EntityRenderer::_notifyParticleResized ( void  )
virtual

Callback when particles are resized

Implements ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::EntityRenderer::_notifyParticleZRotated ( void  )
virtual

Callback when particles are rotated

Reimplemented from ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::EntityRenderer::_prepare ( ParticleTechnique technique)
virtual

Prepare the renderer before it can be used.

Implements ParticleUniverse::ParticleRenderer.

void ParticleUniverse::EntityRenderer::_rotateTexture ( VisualParticle particle,
Ogre::Entity entity 
)

Rotate the textures of eacht entity.

virtual void ParticleUniverse::EntityRenderer::_setMaterialName ( const String materialName)
virtual

Sets the material this renderer must use; called by ParticleTechnique.

Implements ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::EntityRenderer::_unprepare ( ParticleTechnique technique)
virtual

Reverse the actions from the _prepare.

Reimplemented from ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::EntityRenderer::_updateRenderQueue ( Ogre::RenderQueue queue,
ParticlePool pool 
)
virtual

Updates the renderqueue

Remarks
The subclass must update the render queue using whichever Renderable instance(s) it wishes.

Reimplemented from ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::EntityRenderer::copyAttributesTo ( ParticleRenderer renderer)
virtual

Copy attributes to another renderer.

Reimplemented from ParticleUniverse::ParticleRenderer.

const EntityOrientationType& ParticleUniverse::EntityRenderer::getEntityOrientationType ( void  ) const
const String& ParticleUniverse::EntityRenderer::getMeshName ( void  ) const

Get the mesh name.

void ParticleUniverse::EntityRenderer::setEntityOrientationType ( const EntityOrientationType entityOrientationType)
void ParticleUniverse::EntityRenderer::setMeshName ( const String meshName)

Set the mesh name.

virtual void ParticleUniverse::EntityRenderer::setRenderQueueGroup ( uint8  queueId)
virtual

Sets renderqueue group

Reimplemented from ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::EntityRenderer::setVisible ( bool  visible)
virtual

Disable all ChildSceneNodes.Make all objects visible or invisible.

Reimplemented from ParticleUniverse::ParticleRenderer.

Member Data Documentation

const EntityOrientationType ParticleUniverse::EntityRenderer::DEFAULT_ORIENTATION_TYPE
static
vector<EntityRendererVisualData*> ParticleUniverse::EntityRenderer::mAllVisualData
protected
Real ParticleUniverse::EntityRenderer::mBoxDepth
protected
Real ParticleUniverse::EntityRenderer::mBoxHeight
protected
Real ParticleUniverse::EntityRenderer::mBoxWidth
protected
vector<Ogre::Entity*> ParticleUniverse::EntityRenderer::mEntities
protected
String ParticleUniverse::EntityRenderer::mEntityName
protected
EntityOrientationType ParticleUniverse::EntityRenderer::mEntityOrientationType
protected
String ParticleUniverse::EntityRenderer::mMeshName
protected
size_t ParticleUniverse::EntityRenderer::mQuota
protected
vector<EntityRendererVisualData*> ParticleUniverse::EntityRenderer::mVisualData
protected
bool ParticleUniverse::EntityRenderer::mZRotated
protected

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