Particle Universe  1.2
ParticleUniverse::VisualParticle Class Reference

#include <ParticleUniverseVisualParticle.h>

Inheritance diagram for ParticleUniverse::VisualParticle:

Public Member Functions

 VisualParticle (void)
 
virtual ~VisualParticle (void)
 
void setOwnDimensions (Real newWidth, Real newHeight, Real newDepth)
 
virtual void _initForEmission (void)
 
virtual void _initForExpiration (ParticleTechnique *technique, Real timeElapsed)
 
void _calculateBoundingSphereRadius (void)
 
- 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 Attributes

ColourValue colour
 
ColourValue originalColour
 
Radian zRotation
 
Radian zRotationSpeed
 
Quaternion orientation
 
Quaternion originalOrientation
 
Real rotationSpeed
 
Vector3 rotationAxis
 
bool ownDimensions
 
Real width
 
Real height
 
Real depth
 
Real radius
 
Real textureAnimationTimeStep
 
Real textureAnimationTimeStepCount
 
uint16 textureCoordsCurrent
 
bool textureAnimationDirectionUp
 
- 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
 

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
 
- Static Public Attributes inherited from ParticleUniverse::Particle
static Real DEFAULT_TTL
 
static Real DEFAULT_MASS
 
- Protected Attributes inherited from ParticleUniverse::Particle
uint32 mEventFlags
 
bool mMarkedForEmission
 
bool mEnabled
 
bool mFreezed
 
bool mOriginalEnabled
 
bool mOriginalEnabledSet
 
Vector3 mDerivedPosition
 
ParticleBehaviourList mBehaviours
 

Detailed Description

A VisualParticle is the most obvious implementation of a particle. It represents that particles that can be visualised on the screen.

Constructor & Destructor Documentation

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

Member Function Documentation

void ParticleUniverse::VisualParticle::_calculateBoundingSphereRadius ( void  )

Calculate the bounding sphere radius

virtual void ParticleUniverse::VisualParticle::_initForEmission ( void  )
virtual
virtual void ParticleUniverse::VisualParticle::_initForExpiration ( ParticleTechnique technique,
Real  timeElapsed 
)
virtual
void ParticleUniverse::VisualParticle::setOwnDimensions ( Real  newWidth,
Real  newHeight,
Real  newDepth 
)

Set own dimensions

Member Data Documentation

ColourValue ParticleUniverse::VisualParticle::colour

Current and original colour

Real ParticleUniverse::VisualParticle::depth

Own depth

Real ParticleUniverse::VisualParticle::height

Own height

Quaternion ParticleUniverse::VisualParticle::orientation
ColourValue ParticleUniverse::VisualParticle::originalColour
Quaternion ParticleUniverse::VisualParticle::originalOrientation
bool ParticleUniverse::VisualParticle::ownDimensions

Does this particle have it's own dimensions?

Real ParticleUniverse::VisualParticle::radius

Radius of the particle, to be used for inter-particle collision and such.

Vector3 ParticleUniverse::VisualParticle::rotationAxis

The rotation axis is used in combination with orientation. Because the rotation axis is part of the particle itself, it can be changed independently.

Real ParticleUniverse::VisualParticle::rotationSpeed

The rotation is used in combination with orientation. Because the rotation speed is part of the particle itself, it can be changed independently.

bool ParticleUniverse::VisualParticle::textureAnimationDirectionUp
Real ParticleUniverse::VisualParticle::textureAnimationTimeStep

Animation attributes

Real ParticleUniverse::VisualParticle::textureAnimationTimeStepCount
uint16 ParticleUniverse::VisualParticle::textureCoordsCurrent
Real ParticleUniverse::VisualParticle::width

Own width

Radian ParticleUniverse::VisualParticle::zRotation

zRotation is used to rotate the particle in 2D (around the Z-axis)

Remarks
There is no relation between zRotation and orientation. rotationSpeed in combination with orientation are used for 3D rotation of the particle, while zRotation means the rotation around the Z-axis. This type of rotation is typically used for rotating textures. This also means that both types of rotation can be used together.
Radian ParticleUniverse::VisualParticle::zRotationSpeed

The zRotationSpeed is used in combination with zRotation and defines tha actual rotationspeed in 2D.


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