Particle Universe
1.2
|
#include <ParticleUniverseExtern.h>
Public Member Functions | |
Extern (void) | |
virtual | ~Extern (void) |
const String & | getName (void) const |
void | setName (const String &name) |
const String & | getExternType (void) const |
void | setExternType (const String &externType) |
ParticleTechnique * | getParentTechnique (void) const |
void | setParentTechnique (ParticleTechnique *parentTechnique) |
virtual void | _notifyRescaled (const Vector3 &scale) |
virtual void | copyAttributesTo (Extern *externObject) |
virtual void | copyParentAttributesTo (Extern *externObject) |
virtual void | _prepare (ParticleTechnique *technique)=0 |
virtual void | _unprepare (ParticleTechnique *particleTechnique) |
virtual void | _notifyStart (void) |
virtual void | _notifyPause (void) |
virtual void | _notifyResume (void) |
virtual void | _notifyStop (void) |
virtual void | _preProcessParticles (ParticleTechnique *technique, Real timeElapsed) |
virtual void | _initParticleForEmission (Particle *particle) |
virtual void | _initParticleForExpiration (Particle *particle) |
virtual void | _firstParticle (ParticleTechnique *particleTechnique, Particle *particle, Real timeElapsed) |
virtual void | _processParticle (ParticleTechnique *technique, Particle *particle, Real timeElapsed, bool firstParticle) |
virtual void | _interface (ParticleTechnique *technique, Particle *particle, Real timeElapsed)=0 |
virtual void | _postProcessParticles (ParticleTechnique *technique, Real timeElapsed) |
Public Member Functions inherited from ParticleUniverse::IAlias | |
IAlias (void) | |
virtual | ~IAlias (void) |
const String & | getAliasName (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) |
Protected Attributes | |
String | mExternType |
String | mName |
ParticleTechnique * | mParentTechnique |
Vector3 | _mExternScale |
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 } |
The Extern class is the abstract class for all extern components. Each subclass of Extern wraps a particular external component and forms a bridge between the external component and the ParticleUniverse (or to be more specific, the ParticleTechnique).
|
inline |
|
inlinevirtual |
|
inlinevirtual |
Perform precalculations if the first Particle in the update-loop is processed.
|
inlinevirtual |
Initialise a newly emitted particle.
particle | Pointer to a Particle to initialise. |
Reimplemented in ParticleUniverse::PhysicsExtern.
|
inlinevirtual |
Perform actions if a particle gets expired.
Reimplemented in ParticleUniverse::PhysicsExtern.
|
pure virtual |
Actually processes a particle.
Implemented in ParticleUniverse::Attachable, ParticleUniverse::GravityExtern, ParticleUniverse::VortexExtern, ParticleUniverse::SceneDecoratorExtern, ParticleUniverse::BoxColliderExtern, and ParticleUniverse::SphereColliderExtern.
|
inlinevirtual |
Perform activities when an Extern is paused.
|
virtual |
Notify that the Particle System is rescaled.
|
inlinevirtual |
Perform activities when an Extern is resumed.
|
inlinevirtual |
Perform activities when an Extern is started.
Reimplemented in ParticleUniverse::SceneDecoratorExtern.
|
inlinevirtual |
Perform activities when an Extern is stopped.
Reimplemented in ParticleUniverse::SceneDecoratorExtern.
|
inlinevirtual |
Perform activities after the individual particles are processed.
|
pure virtual |
Perform initialisation actions.
Implemented in ParticleUniverse::Attachable, and ParticleUniverse::SceneDecoratorExtern.
|
inlinevirtual |
Perform activities before the individual particles are processed.
Reimplemented in ParticleUniverse::GravityExtern, ParticleUniverse::VortexExtern, ParticleUniverse::BoxColliderExtern, and ParticleUniverse::SphereColliderExtern.
|
virtual |
Processes a particle.
|
inlinevirtual |
Reverse the actions from the _prepare.
Reimplemented in ParticleUniverse::Attachable, and ParticleUniverse::SceneDecoratorExtern.
|
virtual |
Copy attributes to another extern object.
Reimplemented in ParticleUniverse::Attachable, ParticleUniverse::SceneDecoratorExtern, ParticleUniverse::GravityExtern, ParticleUniverse::VortexExtern, ParticleUniverse::BoxColliderExtern, and ParticleUniverse::SphereColliderExtern.
|
virtual |
Copy parent attributes to another extern object.
|
inline |
Todo
|
inline |
Todo
|
inline |
Todo
|
inline |
|
inline |
|
inline |
|
protected |
Although the scale is on a Particle System level, the extern can also be scaled.
|
protected |
|
protected |
|
protected |