Particle Universe  1.2
ParticleUniverse::ScaleAffector Class Reference

#include <ParticleUniverseScaleAffector.h>

Inheritance diagram for ParticleUniverse::ScaleAffector:

Public Member Functions

 ScaleAffector (void)
 
virtual ~ScaleAffector (void)
 
virtual void copyAttributesTo (ParticleAffector *affector)
 
virtual void _affect (ParticleTechnique *particleTechnique, Particle *particle, Real timeElapsed)
 
DynamicAttributegetDynScaleX (void) const
 
void setDynScaleX (DynamicAttribute *dynScaleX)
 
void resetDynScaleX (bool resetToDefault=true)
 
DynamicAttributegetDynScaleY (void) const
 
void setDynScaleY (DynamicAttribute *dynScaleY)
 
void resetDynScaleY (bool resetToDefault=true)
 
DynamicAttributegetDynScaleZ (void) const
 
void setDynScaleZ (DynamicAttribute *dynScaleZ)
 
void resetDynScaleZ (bool resetToDefault=true)
 
DynamicAttributegetDynScaleXYZ (void) const
 
void setDynScaleXYZ (DynamicAttribute *dynScaleXYZ)
 
void resetDynScaleXYZ (bool resetToDefault=true)
 
bool isSinceStartSystem (void) const
 
void setSinceStartSystem (bool sinceStartSystem)
 
- Public Member Functions inherited from ParticleUniverse::ParticleAffector
 ParticleAffector (void)
 
virtual ~ParticleAffector (void)
 
const AffectSpecialisationgetAffectSpecialisation (void) const
 
void setAffectSpecialisation (const AffectSpecialisation &affectSpecialisation)
 
const StringgetAffectorType (void) const
 
void setAffectorType (const String &affectorType)
 
const StringgetName (void) const
 
void setName (const String &name)
 
ParticleTechniquegetParentTechnique (void) const
 
void setParentTechnique (ParticleTechnique *parentTechnique)
 
virtual void _prepare (ParticleTechnique *particleTechnique)
 
virtual void _unprepare (ParticleTechnique *particleTechnique)
 
virtual void _notifyStart (void)
 
virtual void _notifyStop (void)
 
virtual void _notifyPause (void)
 
virtual void _notifyResume (void)
 
virtual void _notifyRescaled (const Vector3 &scale)
 
virtual void _preProcessParticles (ParticleTechnique *particleTechnique, Real timeElapsed)
 
virtual void _firstParticle (ParticleTechnique *particleTechnique, Particle *particle, Real timeElapsed)
 
virtual void _initForEmission (void)
 
virtual void _initForExpiration (ParticleTechnique *technique, Real timeElapsed)
 
virtual void _initParticleForEmission (Particle *particle)
 
void _processParticle (ParticleTechnique *particleTechnique, Particle *particle, Real timeElapsed, bool firstParticle)
 
virtual void _postProcessParticles (ParticleTechnique *technique, Real timeElapsed)
 
void addEmitterToExclude (const String &emitterName)
 
void removeEmitterToExclude (const String &emitterName)
 
void removeAllEmittersToExclude (void)
 
const list< String > & getEmittersToExclude (void) const
 
bool hasEmitterToExclude (const String &emitterName)
 
virtual void copyParentAttributesTo (ParticleAffector *affector)
 
const Vector3getDerivedPosition (void)
 
Real _calculateAffectSpecialisationFactor (const Particle *particle)
 
- 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
 
virtual void setEnabled (bool enabled)
 
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)
 

Static Public Attributes

static const Real DEFAULT_X_SCALE
 
static const Real DEFAULT_Y_SCALE
 
static const Real DEFAULT_Z_SCALE
 
static const Real DEFAULT_XYZ_SCALE
 
- Static Public Attributes inherited from ParticleUniverse::ParticleAffector
static const bool DEFAULT_ENABLED
 
static const Vector3 DEFAULT_POSITION
 
static const AffectSpecialisation DEFAULT_SPECIALISATION
 
- Static Public Attributes inherited from ParticleUniverse::Particle
static Real DEFAULT_TTL
 
static Real DEFAULT_MASS
 

Protected Member Functions

Real _calculateScale (DynamicAttribute *dynScale, Particle *particle)
 

Protected Attributes

DynamicAttributemDynScaleX
 
DynamicAttributemDynScaleY
 
DynamicAttributemDynScaleZ
 
DynamicAttributemDynScaleXYZ
 
bool mDynScaleXSet
 
bool mDynScaleYSet
 
bool mDynScaleZSet
 
bool mDynScaleXYZSet
 
DynamicAttributeFactory mDynamicAttributeFactory
 
DynamicAttributeHelper mDynamicAttributeHelper
 
bool mSinceStartSystem
 
Real mLatestTimeElapsed
 
- Protected Attributes inherited from ParticleUniverse::ParticleAffector
ParticleTechniquemParentTechnique
 
String mAffectorType
 
String mName
 
AffectSpecialisation mAffectSpecialisation
 
list< StringmExcludedEmitters
 
Vector3 _mAffectorScale
 
- 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::ParticleAffector
enum  AffectSpecialisation { AFSP_DEFAULT, AFSP_TTL_INCREASE, AFSP_TTL_DECREASE }
 
- 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
 

Detailed Description

Scales a particle. This can be a linear scale, but scaling that changes over time is possible.

Constructor & Destructor Documentation

ParticleUniverse::ScaleAffector::ScaleAffector ( void  )
virtual ParticleUniverse::ScaleAffector::~ScaleAffector ( void  )
virtual

Member Function Documentation

virtual void ParticleUniverse::ScaleAffector::_affect ( ParticleTechnique particleTechnique,
Particle particle,
Real  timeElapsed 
)
virtual

Affect a particle.

Parameters
particlePointer to a ParticleTechnique to which the particle belongs.
particlePointer to a Particle.
timeElapsedThe number of seconds which have elapsed since the last call.

Implements ParticleUniverse::ParticleAffector.

Real ParticleUniverse::ScaleAffector::_calculateScale ( DynamicAttribute dynScale,
Particle particle 
)
protected

Returns the scale value for the dynamic Scale.

virtual void ParticleUniverse::ScaleAffector::copyAttributesTo ( ParticleAffector affector)
virtual

Copy attributes to another affector.

Reimplemented from ParticleUniverse::ParticleAffector.

DynamicAttribute* ParticleUniverse::ScaleAffector::getDynScaleX ( void  ) const
inline
DynamicAttribute* ParticleUniverse::ScaleAffector::getDynScaleXYZ ( void  ) const
inline
DynamicAttribute* ParticleUniverse::ScaleAffector::getDynScaleY ( void  ) const
inline
DynamicAttribute* ParticleUniverse::ScaleAffector::getDynScaleZ ( void  ) const
inline
bool ParticleUniverse::ScaleAffector::isSinceStartSystem ( void  ) const
inline
void ParticleUniverse::ScaleAffector::resetDynScaleX ( bool  resetToDefault = true)
void ParticleUniverse::ScaleAffector::resetDynScaleXYZ ( bool  resetToDefault = true)
void ParticleUniverse::ScaleAffector::resetDynScaleY ( bool  resetToDefault = true)
void ParticleUniverse::ScaleAffector::resetDynScaleZ ( bool  resetToDefault = true)
void ParticleUniverse::ScaleAffector::setDynScaleX ( DynamicAttribute dynScaleX)
void ParticleUniverse::ScaleAffector::setDynScaleXYZ ( DynamicAttribute dynScaleXYZ)
void ParticleUniverse::ScaleAffector::setDynScaleY ( DynamicAttribute dynScaleY)
void ParticleUniverse::ScaleAffector::setDynScaleZ ( DynamicAttribute dynScaleZ)
void ParticleUniverse::ScaleAffector::setSinceStartSystem ( bool  sinceStartSystem)
inline

Member Data Documentation

const Real ParticleUniverse::ScaleAffector::DEFAULT_X_SCALE
static
const Real ParticleUniverse::ScaleAffector::DEFAULT_XYZ_SCALE
static
const Real ParticleUniverse::ScaleAffector::DEFAULT_Y_SCALE
static
const Real ParticleUniverse::ScaleAffector::DEFAULT_Z_SCALE
static
DynamicAttributeFactory ParticleUniverse::ScaleAffector::mDynamicAttributeFactory
protected
DynamicAttributeHelper ParticleUniverse::ScaleAffector::mDynamicAttributeHelper
protected
DynamicAttribute* ParticleUniverse::ScaleAffector::mDynScaleX
protected
bool ParticleUniverse::ScaleAffector::mDynScaleXSet
protected
DynamicAttribute* ParticleUniverse::ScaleAffector::mDynScaleXYZ
protected
bool ParticleUniverse::ScaleAffector::mDynScaleXYZSet
protected
DynamicAttribute* ParticleUniverse::ScaleAffector::mDynScaleY
protected
bool ParticleUniverse::ScaleAffector::mDynScaleYSet
protected
DynamicAttribute* ParticleUniverse::ScaleAffector::mDynScaleZ
protected
bool ParticleUniverse::ScaleAffector::mDynScaleZSet
protected
Real ParticleUniverse::ScaleAffector::mLatestTimeElapsed
protected
bool ParticleUniverse::ScaleAffector::mSinceStartSystem
protected

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