Particle Universe  1.2
ParticleUniverse::SlaveEmitter Class Reference

#include <ParticleUniverseSlaveEmitter.h>

Inheritance diagram for ParticleUniverse::SlaveEmitter:

Public Member Functions

 SlaveEmitter (void)
 
virtual ~SlaveEmitter (void)
 
const StringgetMasterTechniqueName (void) const
 
void setMasterTechniqueName (const String &masterTechniqueName)
 
const StringgetMasterEmitterName (void) const
 
virtual void _initParticlePosition (Particle *particle)
 
virtual void _initParticleDirection (Particle *particle)
 
virtual void _prepare (ParticleTechnique *particleTechnique)
 
virtual void _unprepare (ParticleTechnique *particleTechnique)
 
virtual void _notifyStart (void)
 
virtual void particleEmitted (ParticleTechnique *particleTechnique, Particle *particle)
 
virtual void particleExpired (ParticleTechnique *particleTechnique, Particle *particle)
 
void setMasterEmitterName (const String &masterEmitterName)
 
virtual void copyAttributesTo (ParticleEmitter *emitter)
 
- Public Member Functions inherited from ParticleUniverse::ParticleEmitter
 ParticleEmitter (void)
 
virtual ~ParticleEmitter (void)
 
ParticleTechniquegetParentTechnique (void) const
 
void setParentTechnique (ParticleTechnique *parentTechnique)
 
const StringgetEmitterType (void) const
 
void setEmitterType (const String &emitterType)
 
const StringgetName (void) const
 
void setName (const String &name)
 
DynamicAttributegetDynAngle (void) const
 
void setDynAngle (DynamicAttribute *dynAngle)
 
DynamicAttributegetDynEmissionRate (void) const
 
void setDynEmissionRate (DynamicAttribute *dynEmissionRate)
 
DynamicAttributegetDynTotalTimeToLive (void) const
 
void setDynTotalTimeToLive (DynamicAttribute *dynTotalTimeToLive)
 
DynamicAttributegetDynParticleMass (void) const
 
void setDynParticleMass (DynamicAttribute *dynParticleMass)
 
DynamicAttributegetDynVelocity (void) const
 
void setDynVelocity (DynamicAttribute *dynVelocity)
 
DynamicAttributegetDynDuration (void) const
 
void setDynDuration (DynamicAttribute *dynDuration)
 
void setDynDurationSet (bool durationSet)
 
DynamicAttributegetDynRepeatDelay (void) const
 
void setDynRepeatDelay (DynamicAttribute *dynRepeatDelay)
 
void setDynRepeatDelaySet (bool repeatDelaySet)
 
DynamicAttributegetDynParticleAllDimensions (void) const
 
void setDynParticleAllDimensions (DynamicAttribute *dynParticleAllDimensions)
 
void setDynParticleAllDimensionsSet (bool particleAllDimensionsSet)
 
DynamicAttributegetDynParticleWidth (void) const
 
void setDynParticleWidth (DynamicAttribute *dynParticleWidth)
 
void setDynParticleWidthSet (bool particleWidthSet)
 
DynamicAttributegetDynParticleHeight (void) const
 
void setDynParticleHeight (DynamicAttribute *dynParticleHeight)
 
void setDynParticleHeightSet (bool particleHeightSet)
 
DynamicAttributegetDynParticleDepth (void) const
 
void setDynParticleDepth (DynamicAttribute *dynParticleDepth)
 
void setDynParticleDepthSet (bool particleDepthSet)
 
ParticleType getEmitsType (void) const
 
void setEmitsType (ParticleType emitsType)
 
const StringgetEmitsName (void) const
 
void setEmitsName (const String &emitsName)
 
void setEmissionRateCameraDependency (CameraDependency *cameraDependency)
 
void setEmissionRateCameraDependency (Real squareDistance, bool inc=false)
 
CameraDependencygetEmissionRateCameraDependency (void) const
 
virtual const Vector3getParticleDirection (void)
 
const Vector3getOriginalParticleDirection (void) const
 
const QuaterniongetParticleOrientation (void) const
 
void setParticleOrientation (const Quaternion &orientation)
 
const QuaterniongetParticleOrientationRangeStart (void) const
 
void setParticleOrientationRangeStart (const Quaternion &orientationRangeStart)
 
const QuaterniongetParticleOrientationRangeEnd (void) const
 
void setParticleOrientationRangeEnd (const Quaternion &orientationRangeEnd)
 
virtual void setEnabled (bool enabled)
 
virtual void setParticleDirection (const Vector3 &direction)
 
bool isAutoDirection (void) const
 
void setAutoDirection (bool autoDirection)
 
bool isForceEmission (void) const
 
void setForceEmission (bool forceEmission)
 
virtual void _preProcessParticles (ParticleTechnique *technique, Real timeElapsed)
 
virtual void _postProcessParticles (ParticleTechnique *technique, Real timeElapsed)
 
virtual void _initForEmission (void)
 
virtual void _initForExpiration (ParticleTechnique *technique, Real timeElapsed)
 
virtual void _initParticleForEmission (Particle *particle)
 
virtual void _initParticleOrientation (Particle *particle)
 
void _generateAngle (Radian &angle)
 
virtual void _initParticleVelocity (Particle *particle)
 
virtual void _initParticleMass (Particle *particle)
 
virtual void _initParticleColour (Particle *particle)
 
virtual void _initParticleTextureCoords (Particle *particle)
 
Real _initParticleTimeToLive (void)
 
virtual unsigned short _calculateRequestedParticles (Real timeElapsed)
 
void _initParticleDimensions (Particle *particle)
 
void _initTimeBased (void)
 
const Vector3getDerivedPosition (void)
 
virtual void _notifyStop (void)
 
virtual void _notifyPause (void)
 
virtual void _notifyResume (void)
 
virtual void _notifyRescaled (const Vector3 &scale)
 
virtual void copyParentAttributesTo (ParticleEmitter *emitter)
 
const ColourValuegetParticleColour (void) const
 
void setParticleColour (const ColourValue &particleColour)
 
const ColourValuegetParticleColourRangeStart (void) const
 
void setParticleColourRangeStart (const ColourValue &particleColourRangeStart)
 
const ColourValuegetParticleColourRangeEnd (void) const
 
void setParticleColourRangeEnd (const ColourValue &particleColourRangeEnd)
 
const uint16getParticleTextureCoords (void) const
 
void setParticleTextureCoords (const uint16 &particleTextureCoords)
 
const uint16getParticleTextureCoordsRangeStart (void) const
 
void setParticleTextureCoordsRangeStart (const uint16 &particleTextureCoordsRangeStart)
 
const uint16getParticleTextureCoordsRangeEnd (void) const
 
void setParticleTextureCoordsRangeEnd (const uint16 &particleTextureCoordsRangeEnd)
 
bool isKeepLocal (void) const
 
void setKeepLocal (bool keepLocal)
 
bool makeParticleLocal (Particle *particle)
 
void pushEvent (ParticleUniverseEvent &particleUniverseEvent)
 
- Public Member Functions inherited from ParticleUniverse::Particle
 Particle (void)
 
virtual ~Particle (void)
 
bool _isMarkedForEmission (void) const
 
void _setMarkedForEmission (bool markedForEmission)
 
virtual bool isEnabled (void) const
 
void _setOriginalEnabled (bool originalEnabled)
 
bool _getOriginalEnabled (void) const
 
bool isFreezed (void) const
 
void setFreezed (bool freezed)
 
void setEventFlags (uint32 flags)
 
void addEventFlags (uint32 flags)
 
void removeEventFlags (uint32 flags)
 
uint32 getEventFlags (void) const
 
bool hasEventFlags (uint32 flags) const
 
void copyBehaviours (ParticleBehaviourList &behaviours)
 
virtual void _process (ParticleTechnique *technique, Real timeElapsed)
 
ParticleBehaviourgetBehaviour (const String &behaviourType)
 
Real calculateVelocity (void) const
 
virtual void copyAttributesTo (Particle *particle)
 
- 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)
 

Protected Attributes

ParticlemMasterParticle
 
String mMasterTechniqueName
 
String mMasterEmitterName
 
Vector3 mMasterPosition
 
Vector3 mMasterDirection
 
bool mMasterEmitterNameSet
 
- Protected Attributes inherited from ParticleUniverse::ParticleEmitter
ParticleTechniquemParentTechnique
 
Vector3 _mEmitterScale
 
String mEmitterType
 
String mName
 
Vector3 mParticleDirection
 
Vector3 mOriginalParticleDirection
 
Quaternion mParticleOrientation
 
Quaternion mParticleOrientationRangeStart
 
Quaternion mParticleOrientationRangeEnd
 
bool mParticleOrientationRangeSet
 
DynamicAttributemDynAngle
 
DynamicAttributemDynEmissionRate
 
ParticleType mEmitsType
 
String mEmitsName
 
DynamicAttributemDynTotalTimeToLive
 
DynamicAttributemDynParticleMass
 
DynamicAttributemDynVelocity
 
DynamicAttributemDynDuration
 
DynamicAttributemDynRepeatDelay
 
DynamicAttributemDynParticleAllDimensions
 
bool mDynParticleAllDimensionsSet
 
DynamicAttributemDynParticleWidth
 
bool mDynParticleWidthSet
 
DynamicAttributemDynParticleHeight
 
bool mDynParticleHeightSet
 
DynamicAttributemDynParticleDepth
 
bool mDynParticleDepthSet
 
Vector3 mUpVector
 
Real mRemainder
 
DynamicAttributeFactory mDynamicAttributeFactory
 
DynamicAttributeHelper mDynamicAttributeHelper
 
Real mDurationRemain
 
bool mDynDurationSet
 
Real mRepeatDelayRemain
 
bool mDynRepeatDelaySet
 
CameraDependencymEmissionRateCameraDependency
 
CameraDependencyFactory mCameraDependencyFactory
 
bool mAutoDirection
 
bool mForceEmission
 
bool mOriginalForceEmission
 
bool mForceEmissionExecuted
 
bool mOriginalForceEmissionExecuted
 
ColourValue mParticleColour
 
ColourValue mParticleColourRangeStart
 
ColourValue mParticleColourRangeEnd
 
bool mParticleColourRangeSet
 
bool mKeepLocal
 
uint16 mParticleTextureCoords
 
uint16 mParticleTextureCoordsRangeStart
 
uint16 mParticleTextureCoordsRangeEnd
 
bool mParticleTextureCoordsRangeSet
 
- Protected Attributes inherited from ParticleUniverse::Particle
uint32 mEventFlags
 
bool mMarkedForEmission
 
bool mEnabled
 
bool mFreezed
 
bool mOriginalEnabled
 
bool mOriginalEnabledSet
 
Vector3 mDerivedPosition
 
ParticleBehaviourList mBehaviours
 
- Protected Attributes inherited from ParticleUniverse::IAlias
String mAliasName
 
AliasType mAliasType
 

Additional Inherited Members

- Public Types inherited from ParticleUniverse::Particle
enum  ParticleType {
  PT_VISUAL, PT_TECHNIQUE, PT_EMITTER, PT_AFFECTOR,
  PT_SYSTEM
}
 
enum  ReservedParticleEventFlags { PEF_EXPIRED = 1<<0, PEF_EMITTED = 1<<1, PEF_COLLIDED = 1<<2 }
 
typedef vector< ParticleBehaviour * > ParticleBehaviourList
 
typedef ParticleBehaviourList::const_iterator ParticleBehaviourIterator
 
- 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::Particle
ParticleEmitterparentEmitter
 
Vector3 position
 
Vector3 direction
 
Real mass
 
Real timeToLive
 
Real totalTimeToLive
 
Real timeFraction
 
ParticleType particleType
 
Any mUserDefinedObject
 
PhysicsActorphysicsActor
 
IVisualDatavisualData
 
Vector3 originalPosition
 
Vector3 originalDirection
 
Real originalVelocity
 
Real originalDirectionLength
 
Real originalScaledDirectionLength
 
Vector3 latestPosition
 
- Static Public Attributes inherited from ParticleUniverse::ParticleEmitter
static const bool DEFAULT_ENABLED
 
static const Vector3 DEFAULT_POSITION
 
static const bool DEFAULT_KEEP_LOCAL
 
static const Vector3 DEFAULT_DIRECTION
 
static const Quaternion DEFAULT_ORIENTATION
 
static const Quaternion DEFAULT_ORIENTATION_RANGE_START
 
static const Quaternion DEFAULT_ORIENTATION_RANGE_END
 
static const Particle::ParticleType DEFAULT_EMITS
 
static const uint16 DEFAULT_START_TEXTURE_COORDS
 
static const uint16 DEFAULT_END_TEXTURE_COORDS
 
static const uint16 DEFAULT_TEXTURE_COORDS
 
static const ColourValue DEFAULT_START_COLOUR_RANGE
 
static const ColourValue DEFAULT_END_COLOUR_RANGE
 
static const ColourValue DEFAULT_COLOUR
 
static const bool DEFAULT_AUTO_DIRECTION
 
static const bool DEFAULT_FORCE_EMISSION
 
static const Real DEFAULT_EMISSION_RATE
 
static const Real DEFAULT_TIME_TO_LIVE
 
static const Real DEFAULT_MASS
 
static const Real DEFAULT_VELOCITY
 
static const Real DEFAULT_DURATION
 
static const Real DEFAULT_REPEAT_DELAY
 
static const Real DEFAULT_ANGLE
 
static const Real DEFAULT_DIMENSIONS
 
static const Real DEFAULT_WIDTH
 
static const Real DEFAULT_HEIGHT
 
static const Real DEFAULT_DEPTH
 
- Static Public Attributes inherited from ParticleUniverse::Particle
static Real DEFAULT_TTL
 
static Real DEFAULT_MASS
 
- Protected Member Functions inherited from ParticleUniverse::ParticleEmitter
void _pushEmitterEvent (EventType eventType)
 

Detailed Description

The SlaveEmitter makes the particle act as a slave, so it follows another particle to which it is related. This only applies at the creation (initialisation) of the particle. For further slave behaviour during the lifespan of the particle, the SlaveBehaviour must be used also.

Constructor & Destructor Documentation

ParticleUniverse::SlaveEmitter::SlaveEmitter ( void  )
virtual ParticleUniverse::SlaveEmitter::~SlaveEmitter ( void  )
inlinevirtual

Member Function Documentation

virtual void ParticleUniverse::SlaveEmitter::_initParticleDirection ( Particle particle)
virtual
virtual void ParticleUniverse::SlaveEmitter::_initParticlePosition ( Particle particle)
virtual
virtual void ParticleUniverse::SlaveEmitter::_notifyStart ( void  )
virtual
virtual void ParticleUniverse::SlaveEmitter::_prepare ( ParticleTechnique particleTechnique)
virtual
virtual void ParticleUniverse::SlaveEmitter::_unprepare ( ParticleTechnique particleTechnique)
virtual
virtual void ParticleUniverse::SlaveEmitter::copyAttributesTo ( ParticleEmitter emitter)
virtual

Copy attributes to another emitter.

Reimplemented from ParticleUniverse::ParticleEmitter.

const String& ParticleUniverse::SlaveEmitter::getMasterEmitterName ( void  ) const
const String& ParticleUniverse::SlaveEmitter::getMasterTechniqueName ( void  ) const
virtual void ParticleUniverse::SlaveEmitter::particleEmitted ( ParticleTechnique particleTechnique,
Particle particle 
)
virtual

Initialise the emitted particle. This means that its position is set.

Implements ParticleUniverse::TechniqueListener.

virtual void ParticleUniverse::SlaveEmitter::particleExpired ( ParticleTechnique particleTechnique,
Particle particle 
)
inlinevirtual

No implementation.

Implements ParticleUniverse::TechniqueListener.

void ParticleUniverse::SlaveEmitter::setMasterEmitterName ( const String masterEmitterName)
void ParticleUniverse::SlaveEmitter::setMasterTechniqueName ( const String masterTechniqueName)

Member Data Documentation

Vector3 ParticleUniverse::SlaveEmitter::mMasterDirection
protected
String ParticleUniverse::SlaveEmitter::mMasterEmitterName
protected
bool ParticleUniverse::SlaveEmitter::mMasterEmitterNameSet
protected
Particle* ParticleUniverse::SlaveEmitter::mMasterParticle
protected
Vector3 ParticleUniverse::SlaveEmitter::mMasterPosition
protected
String ParticleUniverse::SlaveEmitter::mMasterTechniqueName
protected

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