Particle Universe  1.2
ParticleUniverse::BeamRenderer Class Reference

#include <ParticleUniverseBeamRenderer.h>

Inheritance diagram for ParticleUniverse::BeamRenderer:

Public Member Functions

 BeamRenderer (void)
 
virtual ~BeamRenderer (void)
 
bool isUseVertexColours (void) const
 
void setUseVertexColours (bool useVertexColours)
 
size_t getMaxChainElements (void) const
 
void setMaxChainElements (size_t maxChainElements)
 
Real getUpdateInterval (void) const
 
void setUpdateInterval (Real updateInterval)
 
Real getDeviation (void) const
 
void setDeviation (Real deviation)
 
size_t getNumberOfSegments (void) const
 
void setNumberOfSegments (size_t numberOfSegments)
 
bool isJump (void) const
 
void setJump (bool jump)
 
Ogre::BillboardChain::TexCoordDirection getTexCoordDirection (void) const
 
void setTexCoordDirection (Ogre::BillboardChain::TexCoordDirection texCoordDirection)
 
virtual void _prepare (ParticleTechnique *technique)
 
virtual void _unprepare (ParticleTechnique *technique)
 
void _destroyAll (void)
 
virtual void _updateRenderQueue (Ogre::RenderQueue *queue, ParticlePool *pool)
 
virtual void _processParticle (ParticleTechnique *particleTechnique, Particle *particle, Real timeElapsed, bool firstParticle)
 
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)
 
virtual void setRenderQueueGroup (uint8 queueId)
 
virtual SortMode _getSortMode (void) const
 
virtual void setVisible (bool visible)
 
virtual void copyAttributesTo (ParticleRenderer *renderer)
 
virtual void particleEmitted (ParticleTechnique *particleTechnique, Particle *particle)
 
virtual void particleExpired (ParticleTechnique *particleTechnique, Particle *particle)
 
- 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)
 
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)
 
- Public Member Functions inherited from ParticleUniverse::TechniqueListener
 TechniqueListener (void)
 
virtual ~TechniqueListener (void)
 

Static Public Attributes

static const bool DEFAULT_USE_VERTEX_COLOURS
 
static const size_t DEFAULT_MAX_ELEMENTS
 
static const Real DEFAULT_UPDATE_INTERVAL
 
static const Real DEFAULT_DEVIATION
 
static const size_t DEFAULT_NUMBER_OF_SEGMENTS
 
static const Ogre::BillboardChain::TexCoordDirection DEFAULT_TEXTURE_DIRECTION
 
- 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 Attributes

String mBillboardChainName
 
Ogre::BillboardChainmBillboardChain
 
vector< BeamRendererVisualData * > mAllVisualData
 
vector< BeamRendererVisualData * > mVisualData
 
size_t mQuota
 
bool mUseVertexColours
 
size_t mMaxChainElements
 
Real mUpdateInterval
 
Real mDeviation
 
size_t mNumberOfSegments
 
bool mJump
 
Ogre::BillboardChain::TexCoordDirection mTexCoordDirection
 
- 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 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 Attributes inherited from ParticleUniverse::ParticleRenderer
bool autoRotate
 
- Protected Member Functions inherited from ParticleUniverse::ParticleRenderer
void _createSoftMaterial (void)
 
void _stripNameFromSoftPrefix (String &name)
 

Detailed Description

The BeamRenderer class is responsible to render particles as a BillboardChain.

Constructor & Destructor Documentation

ParticleUniverse::BeamRenderer::BeamRenderer ( void  )
virtual ParticleUniverse::BeamRenderer::~BeamRenderer ( void  )
virtual

Member Function Documentation

void ParticleUniverse::BeamRenderer::_destroyAll ( void  )

Destroys the BillboarChain

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

Gets the particles sort mode

Implements ParticleUniverse::ParticleRenderer.

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

The particle default size has changed

Implements ParticleUniverse::ParticleRenderer.

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

The particle quota has changed

Implements ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::BeamRenderer::_notifyParticleResized ( void  )
inlinevirtual

Callback when particles are resized

Implements ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::BeamRenderer::_notifyParticleZRotated ( void  )
inlinevirtual

Callback when particles are rotated

Reimplemented from ParticleUniverse::ParticleRenderer.

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

Prepare the renderer before it can be used.

Implements ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::BeamRenderer::_processParticle ( ParticleTechnique particleTechnique,
Particle particle,
Real  timeElapsed,
bool  firstParticle 
)
inlinevirtual
virtual void ParticleUniverse::BeamRenderer::_setMaterialName ( const String materialName)
virtual

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

Implements ParticleUniverse::ParticleRenderer.

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

Reverse the actions from the _prepare.

Reimplemented from ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::BeamRenderer::_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::BeamRenderer::copyAttributesTo ( ParticleRenderer renderer)
virtual

Copy attributes to another renderer.

Reimplemented from ParticleUniverse::ParticleRenderer.

Real ParticleUniverse::BeamRenderer::getDeviation ( void  ) const
size_t ParticleUniverse::BeamRenderer::getMaxChainElements ( void  ) const
size_t ParticleUniverse::BeamRenderer::getNumberOfSegments ( void  ) const
Ogre::BillboardChain::TexCoordDirection ParticleUniverse::BeamRenderer::getTexCoordDirection ( void  ) const
Real ParticleUniverse::BeamRenderer::getUpdateInterval ( void  ) const
bool ParticleUniverse::BeamRenderer::isJump ( void  ) const
bool ParticleUniverse::BeamRenderer::isUseVertexColours ( void  ) const

Getters and Setters

virtual void ParticleUniverse::BeamRenderer::particleEmitted ( ParticleTechnique particleTechnique,
Particle particle 
)
virtual
virtual void ParticleUniverse::BeamRenderer::particleExpired ( ParticleTechnique particleTechnique,
Particle particle 
)
virtual
void ParticleUniverse::BeamRenderer::setDeviation ( Real  deviation)
void ParticleUniverse::BeamRenderer::setJump ( bool  jump)
void ParticleUniverse::BeamRenderer::setMaxChainElements ( size_t  maxChainElements)
void ParticleUniverse::BeamRenderer::setNumberOfSegments ( size_t  numberOfSegments)
virtual void ParticleUniverse::BeamRenderer::setRenderQueueGroup ( uint8  queueId)
virtual

Sets renderqueue group

Reimplemented from ParticleUniverse::ParticleRenderer.

void ParticleUniverse::BeamRenderer::setTexCoordDirection ( Ogre::BillboardChain::TexCoordDirection  texCoordDirection)
void ParticleUniverse::BeamRenderer::setUpdateInterval ( Real  updateInterval)
void ParticleUniverse::BeamRenderer::setUseVertexColours ( bool  useVertexColours)
virtual void ParticleUniverse::BeamRenderer::setVisible ( bool  visible)
virtual

To make currently displayed objects visible or not.

Reimplemented from ParticleUniverse::ParticleRenderer.

Member Data Documentation

const Real ParticleUniverse::BeamRenderer::DEFAULT_DEVIATION
static
const size_t ParticleUniverse::BeamRenderer::DEFAULT_MAX_ELEMENTS
static
const size_t ParticleUniverse::BeamRenderer::DEFAULT_NUMBER_OF_SEGMENTS
static
const Ogre::BillboardChain::TexCoordDirection ParticleUniverse::BeamRenderer::DEFAULT_TEXTURE_DIRECTION
static
const Real ParticleUniverse::BeamRenderer::DEFAULT_UPDATE_INTERVAL
static
const bool ParticleUniverse::BeamRenderer::DEFAULT_USE_VERTEX_COLOURS
static
vector<BeamRendererVisualData*> ParticleUniverse::BeamRenderer::mAllVisualData
protected
Ogre::BillboardChain* ParticleUniverse::BeamRenderer::mBillboardChain
protected
String ParticleUniverse::BeamRenderer::mBillboardChainName
protected
Real ParticleUniverse::BeamRenderer::mDeviation
protected
bool ParticleUniverse::BeamRenderer::mJump
protected
size_t ParticleUniverse::BeamRenderer::mMaxChainElements
protected
size_t ParticleUniverse::BeamRenderer::mNumberOfSegments
protected
size_t ParticleUniverse::BeamRenderer::mQuota
protected
Ogre::BillboardChain::TexCoordDirection ParticleUniverse::BeamRenderer::mTexCoordDirection
protected
Real ParticleUniverse::BeamRenderer::mUpdateInterval
protected
bool ParticleUniverse::BeamRenderer::mUseVertexColours
protected
vector<BeamRendererVisualData*> ParticleUniverse::BeamRenderer::mVisualData
protected

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