Particle Universe
1.2
|
#include <ParticleUniverseEmitter.h>
Protected Member Functions | |
void | _pushEmitterEvent (EventType eventType) |
Abstract class defining the interface to be implemented by particle emitters.
ParticleUniverse::ParticleEmitter::ParticleEmitter | ( | void | ) |
|
virtual |
|
virtual |
Calculate the number of particles that the emitter wants to emit.
Reimplemented in ParticleUniverse::MeshSurfaceEmitter, ParticleUniverse::VertexEmitter, ParticleUniverse::PositionEmitter, and ParticleUniverse::LineEmitter.
void ParticleUniverse::ParticleEmitter::_generateAngle | ( | Radian & | angle | ) |
Internal method for generating the angle.
|
virtual |
Perform initialising activities as soon as the emitter is emitted.
Reimplemented from ParticleUniverse::Particle.
|
virtual |
Initialise the ParticleEmitter before it is expired itself.
Reimplemented from ParticleUniverse::Particle.
|
virtual |
Internal method for generating the colour of a particle.
|
inline |
Internal method for generating particles' own dimensions.
particle | Pointer to a particle |
|
virtual |
Internal method for generating the particle direction.
Reimplemented in ParticleUniverse::MeshSurfaceEmitter, ParticleUniverse::LineEmitter, ParticleUniverse::CircleEmitter, ParticleUniverse::SlaveEmitter, and ParticleUniverse::SphereSurfaceEmitter.
|
virtual |
Todo
|
virtual |
Internal method for generating the mass of a particle.
|
virtual |
Internal method for generating the particle orientation.
|
virtual |
|
virtual |
Internal method for setting the texture coords of a particle.
|
inline |
Internal method for generating the time to live of a particle.
|
virtual |
Internal method for generating the particle velocity.
dVector | Reference to vector direction * velocity |
|
inline |
Initialise some attributes that are time-based.
|
inlinevirtual |
Perform activities when a ParticleEmitter is paused.
|
virtual |
Notify that the Particle System is rescaled.
Reimplemented in ParticleUniverse::LineEmitter.
|
inlinevirtual |
Perform activities when a ParticleEmitter is resumed.
|
virtual |
Perform activities when a ParticleEmitter is started.
Reimplemented in ParticleUniverse::VertexEmitter, ParticleUniverse::CircleEmitter, ParticleUniverse::SlaveEmitter, ParticleUniverse::PositionEmitter, and ParticleUniverse::LineEmitter.
|
virtual |
Perform activities when a ParticleEmitter is stopped.
|
virtual |
Perform activities after the individual particles are processed.
|
inlinevirtual |
Perform initialisation actions.
Reimplemented in ParticleUniverse::MeshSurfaceEmitter, and ParticleUniverse::SlaveEmitter.
|
virtual |
Perform activities before the individual particles are processed.
Reimplemented in ParticleUniverse::VertexEmitter.
|
protected |
Convenient function to generate events.
|
inlinevirtual |
Reverse initialisation actions.
Reimplemented in ParticleUniverse::MeshSurfaceEmitter, and ParticleUniverse::SlaveEmitter.
|
virtual |
Copy attributes to another emitter.
Reimplemented in ParticleUniverse::MeshSurfaceEmitter, ParticleUniverse::VertexEmitter, ParticleUniverse::LineEmitter, ParticleUniverse::CircleEmitter, ParticleUniverse::SlaveEmitter, ParticleUniverse::PositionEmitter, ParticleUniverse::BoxEmitter, ParticleUniverse::SphereSurfaceEmitter, and ParticleUniverse::PointEmitter.
|
virtual |
Copy parent attributes to another emitter.
const Vector3& ParticleUniverse::ParticleEmitter::getDerivedPosition | ( | void | ) |
Calculate the derived position of the emitter.
|
inline |
Todo
|
inline |
Todo
|
inline |
Todo
|
inline |
Todo
|
inline |
Todo
|
inline |
Todo
|
inline |
Todo
|
inline |
Todo
|
inline |
Todo
|
inline |
Todo
|
inline |
Todo
CameraDependency* ParticleUniverse::ParticleEmitter::getEmissionRateCameraDependency | ( | void | ) | const |
Todo
|
inline |
Todo
|
inline |
Todo
|
inline |
Todo
|
inline |
Todo
const Vector3& ParticleUniverse::ParticleEmitter::getOriginalParticleDirection | ( | void | ) | const |
Returns the originally set particle direction. This value is not affected by affectors, angle, etc.
|
inline |
Todo
const ColourValue& ParticleUniverse::ParticleEmitter::getParticleColour | ( | void | ) | const |
Get the colour of a particle that will be emitted.
const ColourValue& ParticleUniverse::ParticleEmitter::getParticleColourRangeEnd | ( | void | ) | const |
Get the colour range end of an emitted particle.
const ColourValue& ParticleUniverse::ParticleEmitter::getParticleColourRangeStart | ( | void | ) | const |
Get the colour range start of an emitted particle.
|
virtual |
Returns the base direction of the particle that is going to be emitted.
const Quaternion& ParticleUniverse::ParticleEmitter::getParticleOrientation | ( | void | ) | const |
Returns the base orientation of the particle that is going to be emitted.
const Quaternion& ParticleUniverse::ParticleEmitter::getParticleOrientationRangeEnd | ( | void | ) | const |
Returns the end orientation of the particle that is going to be emitted.
const Quaternion& ParticleUniverse::ParticleEmitter::getParticleOrientationRangeStart | ( | void | ) | const |
Returns the start orientation of the particle that is going to be emitted.
const uint16& ParticleUniverse::ParticleEmitter::getParticleTextureCoords | ( | void | ) | const |
Get the texture coords of an emitted particle.
const uint16& ParticleUniverse::ParticleEmitter::getParticleTextureCoordsRangeEnd | ( | void | ) | const |
Get the texture coords range end of an emitted particle.
const uint16& ParticleUniverse::ParticleEmitter::getParticleTextureCoordsRangeStart | ( | void | ) | const |
Get the texture coords range start of an emitted particle.
bool ParticleUniverse::ParticleEmitter::isAutoDirection | ( | void | ) | const |
Todo
bool ParticleUniverse::ParticleEmitter::isForceEmission | ( | void | ) | const |
Todo
bool ParticleUniverse::ParticleEmitter::isKeepLocal | ( | void | ) | const |
Todo
bool ParticleUniverse::ParticleEmitter::makeParticleLocal | ( | Particle * | particle | ) |
Transforms the particle position in a local position relative to the emitter
void ParticleUniverse::ParticleEmitter::pushEvent | ( | ParticleUniverseEvent & | particleUniverseEvent | ) |
Forwards an event to the parent technique.
void ParticleUniverse::ParticleEmitter::setAutoDirection | ( | bool | autoDirection | ) |
Todo
void ParticleUniverse::ParticleEmitter::setDynAngle | ( | DynamicAttribute * | dynAngle | ) |
void ParticleUniverse::ParticleEmitter::setDynDuration | ( | DynamicAttribute * | dynDuration | ) |
void ParticleUniverse::ParticleEmitter::setDynDurationSet | ( | bool | durationSet | ) |
void ParticleUniverse::ParticleEmitter::setDynEmissionRate | ( | DynamicAttribute * | dynEmissionRate | ) |
void ParticleUniverse::ParticleEmitter::setDynParticleAllDimensions | ( | DynamicAttribute * | dynParticleAllDimensions | ) |
void ParticleUniverse::ParticleEmitter::setDynParticleAllDimensionsSet | ( | bool | particleAllDimensionsSet | ) |
void ParticleUniverse::ParticleEmitter::setDynParticleDepth | ( | DynamicAttribute * | dynParticleDepth | ) |
void ParticleUniverse::ParticleEmitter::setDynParticleDepthSet | ( | bool | particleDepthSet | ) |
void ParticleUniverse::ParticleEmitter::setDynParticleHeight | ( | DynamicAttribute * | dynParticleHeight | ) |
void ParticleUniverse::ParticleEmitter::setDynParticleHeightSet | ( | bool | particleHeightSet | ) |
void ParticleUniverse::ParticleEmitter::setDynParticleMass | ( | DynamicAttribute * | dynParticleMass | ) |
void ParticleUniverse::ParticleEmitter::setDynParticleWidth | ( | DynamicAttribute * | dynParticleWidth | ) |
void ParticleUniverse::ParticleEmitter::setDynParticleWidthSet | ( | bool | particleWidthSet | ) |
void ParticleUniverse::ParticleEmitter::setDynRepeatDelay | ( | DynamicAttribute * | dynRepeatDelay | ) |
void ParticleUniverse::ParticleEmitter::setDynRepeatDelaySet | ( | bool | repeatDelaySet | ) |
void ParticleUniverse::ParticleEmitter::setDynTotalTimeToLive | ( | DynamicAttribute * | dynTotalTimeToLive | ) |
void ParticleUniverse::ParticleEmitter::setDynVelocity | ( | DynamicAttribute * | dynVelocity | ) |
void ParticleUniverse::ParticleEmitter::setEmissionRateCameraDependency | ( | CameraDependency * | cameraDependency | ) |
Set the distance-value and inc. indication to recalculate the emission rate.
void ParticleUniverse::ParticleEmitter::setEmissionRateCameraDependency | ( | Real | squareDistance, |
bool | inc = false |
||
) |
void ParticleUniverse::ParticleEmitter::setEmitsName | ( | const String & | emitsName | ) |
|
inline |
|
inline |
|
virtual |
Enables or disables the emitter.
Reimplemented from ParticleUniverse::Particle.
void ParticleUniverse::ParticleEmitter::setForceEmission | ( | bool | forceEmission | ) |
Todo
void ParticleUniverse::ParticleEmitter::setKeepLocal | ( | bool | keepLocal | ) |
If this attribute is set to 'true', the particles are emitted relative to the emitter
|
inline |
void ParticleUniverse::ParticleEmitter::setParentTechnique | ( | ParticleTechnique * | parentTechnique | ) |
void ParticleUniverse::ParticleEmitter::setParticleColour | ( | const ColourValue & | particleColour | ) |
Set the colour of an emitted particle.
void ParticleUniverse::ParticleEmitter::setParticleColourRangeEnd | ( | const ColourValue & | particleColourRangeEnd | ) |
Set the colour range end of an emitted particle. This is the upper value used to generate a random colour.
void ParticleUniverse::ParticleEmitter::setParticleColourRangeStart | ( | const ColourValue & | particleColourRangeStart | ) |
Set the colour range start of an emitted particle. This is the lower value used to generate a random colour.
|
virtual |
Sets the direction of the particle that the emitter is emitting.
dir | The base direction of emitted particles. |
void ParticleUniverse::ParticleEmitter::setParticleOrientation | ( | const Quaternion & | orientation | ) |
Set the orientation of the particle.
void ParticleUniverse::ParticleEmitter::setParticleOrientationRangeEnd | ( | const Quaternion & | orientationRangeEnd | ) |
Set end orientation of the particle that is going to be emitted.
void ParticleUniverse::ParticleEmitter::setParticleOrientationRangeStart | ( | const Quaternion & | orientationRangeStart | ) |
Set start orientation of the particle that is going to be emitted.
void ParticleUniverse::ParticleEmitter::setParticleTextureCoords | ( | const uint16 & | particleTextureCoords | ) |
Set the texture coords of an emitted particle.
void ParticleUniverse::ParticleEmitter::setParticleTextureCoordsRangeEnd | ( | const uint16 & | particleTextureCoordsRangeEnd | ) |
Set the texture coords range end of an emitted particle. This is the upper value used to set a random texture coords.
void ParticleUniverse::ParticleEmitter::setParticleTextureCoordsRangeStart | ( | const uint16 & | particleTextureCoordsRangeStart | ) |
Set the texture coords range start of an emitted particle. This is the lower value used to set a random texture coords.
|
protected |
Although the scale is on a Particle System level, the emitter can also be scaled.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
protected |
Auto direction means that the direction of a particle is not determined by the direction vector that has been set, but the direction vector is generated based on the shape of the emitter. In most cases this means that the particle direction is perpendicular on the shape of the emitter.
|
protected |
Factory to create a CameraDependency.
|
protected |
Duration remainder.
|
protected |
Helper factory
|
protected |
Helper class
|
protected |
|
protected |
Dynamic attribute used to define the duration of the emitter.
|
protected |
Indication to determine whether duration is set.
|
protected |
|
protected |
Dynamic attribute used to define the (own) dimensions of a particle.
|
protected |
|
protected |
Dynamic attribute used to define the (own) depth of a particle.
|
protected |
|
protected |
Dynamic attribute used to define the (own) height of a particle.
|
protected |
|
protected |
Dynamic attribute used to generate the mass of a particle.
|
protected |
Dynamic attribute used to define the (own) width of a particle.
|
protected |
|
protected |
Dynamic attribute used to define the repeat/delay of the emitter.
|
protected |
Indication to determine whether repeat/delay is set.
|
protected |
Dynamic attribute used to generate the total time to live.
|
protected |
Dynamic attribute used to generate the velocity of a particle.
|
protected |
Distance value that causes a decrease (or increase if needed) of the particle emission rate.
|
protected |
|
protected |
|
protected |
|
protected |
In normal cases, emission is regulated by time. This prevents that too much particles are emitted at once, which causes a drop in the framerate. In some cases you just want to emit all particles immediately without any delay. Setting the 'mForceEmission' to true enables this. In that case, the emission rate defines the number of particles that are emitted immediately. If the emission rate is 100, the emitter emits 100 particles at once and then disables.
|
protected |
If mForceEmission has been set to true and if all particles are emitted, the mForceEmissionExecuted is also set to true, preventing any further 'forced emission'.
|
protected |
Determines whether particle positions should be kept local in relation to the emitter.
|
protected |
|
protected |
Original value, used to set it back.
|
protected |
Original value, used to set it back.
|
protected |
The original direction of the emitted particle
|
protected |
Technique to which this emitter belongs.
|
protected |
Colour that is assigned to an emitted particle.
|
protected |
Used to randomize the colour of an emitted particle.
|
protected |
Used to determine whether the colour range has been set.
|
protected |
Used to randomize the colour of an emitted particle.
|
protected |
Direction (and speed) of the emitted particle
|
protected |
Orientation of the particle as soon as it is emitted.
|
protected |
|
protected |
|
protected |
If set, the range generates a random orientation between start and end.
|
protected |
Texture coords that is assigned to an emitted particle (only works if the renderer uses it)
|
protected |
Used to randomize the texture coords of an emitted particle.
|
protected |
Used to determine whether the texture coords range has been set.
|
protected |
Used to randomize the texture coords of an emitted particle.
|
protected |
Particles that are left to be emitted from the previous time.
|
protected |
Repeat/delay remainder.
|
protected |
Notional up vector, just used to speed up generation of variant directions.