|
| VortexExtern (void) |
|
virtual | ~VortexExtern (void) |
|
virtual void | _preProcessParticles (ParticleTechnique *technique, Real timeElapsed) |
|
virtual void | _interface (ParticleTechnique *technique, Particle *particle, Real timeElapsed) |
|
virtual void | copyAttributesTo (Extern *externObject) |
|
Public Member Functions inherited from ParticleUniverse::Attachable |
| Attachable (void) |
|
virtual | ~Attachable (void) |
|
const Real | getDistanceThreshold (void) const |
|
void | setDistanceThreshold (const Real distanceThreshold) |
|
void | _notifyAttached (Ogre::Node *parent, bool isTagPoint=false) |
|
virtual void | _notifyCurrentCamera (Camera *cam) |
|
const String & | getMovableType (void) const |
|
const AxisAlignedBox & | getBoundingBox (void) const |
|
virtual Real | getBoundingRadius (void) const |
|
virtual void | _updateRenderQueue (Ogre::RenderQueue *queue) |
|
virtual void | visitRenderables (Ogre::Renderable::Visitor *visitor, bool debugRenderables=false) |
|
virtual void | _prepare (ParticleTechnique *technique) |
|
virtual void | _unprepare (ParticleTechnique *particleTechnique) |
|
Public Member Functions inherited from ParticleUniverse::Extern |
| 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 | copyParentAttributesTo (Extern *externObject) |
|
virtual void | _notifyStart (void) |
|
virtual void | _notifyPause (void) |
|
virtual void | _notifyResume (void) |
|
virtual void | _notifyStop (void) |
|
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 | _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) |
|
| MovableObject () |
|
| MovableObject (const String &name) |
|
virtual | ~MovableObject () |
|
MovableObjectFactory * | _getCreator (void) const |
|
LightList * | _getLightList () |
|
SceneManager * | _getManager (void) const |
|
virtual const Matrix4 & | _getParentNodeFullTransform (void) const |
|
virtual void | _notifyCreator (MovableObjectFactory *fact) |
|
virtual void | _notifyManager (SceneManager *man) |
|
virtual void | _notifyMoved (void) |
|
virtual void | _releaseManualHardwareResources () |
|
virtual void | _restoreManualHardwareResources () |
|
void | addQueryFlags (uint32 flags) |
|
void | addVisibilityFlags (uint32 flags) |
|
virtual AnimableValuePtr | createAnimableValue (const String &valueName) |
|
void | detachFromParent (void) |
|
const StringVector & | getAnimableValueNames (void) const |
|
bool | getCastShadows (void) const |
|
const AxisAlignedBox & | getDarkCapBounds (const Light &light, Real dirLightExtrusionDist) const |
|
EdgeData * | getEdgeList (void) |
|
const AxisAlignedBox & | getLightCapBounds (void) const |
|
uint32 | getLightMask () const |
|
Listener * | getListener (void) const |
|
const String & | getName (void) const |
|
Node * | getParentNode (void) const |
|
SceneNode * | getParentSceneNode (void) const |
|
Real | getPointExtrusionDistance (const Light *l) const |
|
uint32 | getQueryFlags (void) const |
|
bool | getReceivesShadows () |
|
Real | getRenderingDistance (void) const |
|
Real | getRenderingMinPixelSize () const |
|
uint8 | getRenderQueueGroup (void) const |
|
ShadowRenderableListIterator | getShadowVolumeRenderableIterator (ShadowTechnique shadowTechnique, const Light *light, HardwareIndexBufferSharedPtr *indexBuffer, size_t *indexBufferUsedSize, bool extrudeVertices, Real extrusionDist, unsigned long flags=0) |
|
virtual uint32 | getTypeFlags (void) const |
|
const Any & | getUserAny (void) const |
|
UserObjectBindings & | getUserObjectBindings () |
|
const UserObjectBindings & | getUserObjectBindings () const |
|
uint32 | getVisibilityFlags (void) const |
|
bool | getVisible (void) const |
|
virtual const AxisAlignedBox & | getWorldBoundingBox (bool derive=false) const |
|
virtual const Sphere & | getWorldBoundingSphere (bool derive=false) const |
|
bool | hasEdgeList (void) |
|
bool | isAttached (void) const |
|
bool | isDebugDisplayEnabled (void) const |
|
virtual bool | isInScene (void) const |
|
bool | isParentTagPoint () const |
|
virtual bool | isVisible (void) const |
|
const LightList & | queryLights (void) const |
|
void | removeQueryFlags (uint32 flags) |
|
void | removeVisibilityFlags (uint32 flags) |
|
void | setCastShadows (bool enabled) |
|
void | setDebugDisplayEnabled (bool enabled) |
|
void | setLightMask (uint32 lightMask) |
|
void | setListener (Listener *listener) |
|
void | setQueryFlags (uint32 flags) |
|
void | setRenderingDistance (Real dist) |
|
void | setRenderingMinPixelSize (Real pixelSize) |
|
virtual void | setRenderQueueGroup (uint8 queueID) |
|
virtual void | setRenderQueueGroupAndPriority (uint8 queueID, ushort priority) |
|
void | setUserAny (const Any &anything) |
|
void | setVisibilityFlags (uint32 flags) |
|
void | setVisible (bool visible) |
|
Public Member Functions inherited from Ogre::ShadowCaster |
virtual | ~ShadowCaster () |
|
| AnimableObject () |
|
virtual | ~AnimableObject () |
|
const StringVector & | getAnimableValueNames (void) const |
|
Public Member Functions inherited from ParticleUniverse::VortexAffector |
| VortexAffector (void) |
|
virtual | ~VortexAffector (void) |
|
const Vector3 & | getRotationVector (void) const |
|
void | setRotationVector (const Vector3 &rotationVector) |
|
DynamicAttribute * | getRotationSpeed (void) const |
|
void | setRotationSpeed (DynamicAttribute *dynRotationSpeed) |
|
virtual void | copyAttributesTo (ParticleAffector *affector) |
|
virtual void | _affect (ParticleTechnique *particleTechnique, Particle *particle, Real timeElapsed) |
|
Public Member Functions inherited from ParticleUniverse::ParticleAffector |
| ParticleAffector (void) |
|
virtual | ~ParticleAffector (void) |
|
const AffectSpecialisation & | getAffectSpecialisation (void) const |
|
void | setAffectSpecialisation (const AffectSpecialisation &affectSpecialisation) |
|
const String & | getAffectorType (void) const |
|
void | setAffectorType (const String &affectorType) |
|
const String & | getName (void) const |
|
void | setName (const String &name) |
|
ParticleTechnique * | getParentTechnique (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 | _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 Vector3 & | getDerivedPosition (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) |
|
ParticleBehaviour * | getBehaviour (const String &behaviourType) |
|
Real | calculateVelocity (void) const |
|
virtual void | copyAttributesTo (Particle *particle) |
|
|
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
} |
|
typedef vector< ShadowRenderable * >::type | ShadowRenderableList |
|
typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator |
|
Public Types inherited from Ogre::ShadowCaster |
typedef vector< ShadowRenderable * >::type | ShadowRenderableList |
|
typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator |
|
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 |
|
static void | clearShadowRenderableList (ShadowRenderableList &shadowRenderables) |
|
static void | extrudeVertices (const HardwareVertexBufferSharedPtr &vertexBuffer, size_t originalVertexCount, const Vector4 &lightPos, Real extrudeDist) |
|
static uint32 | getDefaultQueryFlags () |
|
static uint32 | getDefaultVisibilityFlags () |
|
static void | setDefaultQueryFlags (uint32 flags) |
|
static void | setDefaultVisibilityFlags (uint32 flags) |
|
Static Public Member Functions inherited from Ogre::ShadowCaster |
static void | clearShadowRenderableList (ShadowRenderableList &shadowRenderables) |
|
static void | extrudeVertices (const HardwareVertexBufferSharedPtr &vertexBuffer, size_t originalVertexCount, const Vector4 &lightPos, Real extrudeDist) |
|
Public Attributes inherited from ParticleUniverse::Particle |
ParticleEmitter * | parentEmitter |
|
Vector3 | position |
|
Vector3 | direction |
|
Real | mass |
|
Real | timeToLive |
|
Real | totalTimeToLive |
|
Real | timeFraction |
|
ParticleType | particleType |
|
Any | mUserDefinedObject |
|
PhysicsActor * | physicsActor |
|
IVisualData * | visualData |
|
Vector3 | originalPosition |
|
Vector3 | originalDirection |
|
Real | originalVelocity |
|
Real | originalDirectionLength |
|
Real | originalScaledDirectionLength |
|
Vector3 | latestPosition |
|
Static Public Attributes inherited from ParticleUniverse::Attachable |
static String | PU_ATTACHABLE |
|
Static Public Attributes inherited from ParticleUniverse::VortexAffector |
static const Vector3 | DEFAULT_ROTATION_VECTOR |
|
static const Real | DEFAULT_ROTATION_SPEED |
|
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 inherited from ParticleUniverse::VortexAffector |
Radian | _calculateRotationSpeed (void) |
|
Protected Attributes inherited from ParticleUniverse::Attachable |
AxisAlignedBox | mAABB |
|
Real | mBoundingRadius |
|
Real | mDistanceThreshold |
|
bool | mDistanceThresholdSet |
|
Protected Attributes inherited from ParticleUniverse::Extern |
String | mExternType |
|
String | mName |
|
ParticleTechnique * | mParentTechnique |
|
Vector3 | _mExternScale |
|
Protected Attributes inherited from ParticleUniverse::IAlias |
String | mAliasName |
|
AliasType | mAliasType |
|
Protected Attributes inherited from ParticleUniverse::VortexAffector |
Vector3 | mRotationVector |
|
Quaternion | mRotation |
|
DynamicAttribute * | mDynRotationSpeed |
|
DynamicAttributeHelper | mDynamicAttributeHelper |
|
DynamicAttributeFactory | mDynamicAttributeFactory |
|
Protected Attributes inherited from ParticleUniverse::ParticleAffector |
ParticleTechnique * | mParentTechnique |
|
String | mAffectorType |
|
String | mName |
|
AffectSpecialisation | mAffectSpecialisation |
|
list< String > | mExcludedEmitters |
|
Vector3 | _mAffectorScale |
|
Protected Attributes inherited from ParticleUniverse::Particle |
uint32 | mEventFlags |
|
bool | mMarkedForEmission |
|
bool | mEnabled |
|
bool | mFreezed |
|
bool | mOriginalEnabled |
|
bool | mOriginalEnabledSet |
|
Vector3 | mDerivedPosition |
|
ParticleBehaviourList | mBehaviours |
|
The VortexExtern is a wrapper of the VortexAffector, adding the functionality of a MovableObject. The VortexExtern can be attached to another SceneNode than the one where the ParticleSystem at which the VortexExtern is registered, is attached. This makes it possible to affect the particles in the Particle System, while both SceneNodes moves different from each other. This approach makes it possible to simulate something like a helicopter (SceneNode to which the VortexExtern is attached) that flies over a certain area and rotates the leaves on the ground (Particle System attached to another SceneNode).