QSDK 1.1 Documentation
Main Page | Modules | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

Q::FxSourceCuboid Struct Reference
[Particle Effects]

Particle-generating Geom. More...

#include <Q/q.h>

Inheritance diagram for Q::FxSourceCuboid:

Q::FxSource Q::Geom Q::Object Q::ObjectBase List of all members.

Public Member Functions

 FxSourceCuboid ()
 FxSourceCuboid (const char *name)
Maths::Vec3f locationRange () const
FxClass::distribution locationDist (unsigned int i) const
Maths::Vec3f velocity () const
Maths::Vec3f velocityRange () const
FxClass::distribution velocityDist (unsigned int i) const
bool worldVelocity () const
bool addEmitterVelocity () const
Utils::Result setLocationRange (const Maths::Vec3f &)
Utils::Result setLocationDist (unsigned int, FxClass::distribution)
Utils::Result setVelocity (const Maths::Vec3f &)
Utils::Result setVelocityRange (const Maths::Vec3f &)
Utils::Result setVelocityDist (unsigned int, FxClass::distribution)
Utils::Result setWorldVelocity (bool)
Utils::Result setAddEmitterVelocity (bool)

Static Public Member Functions

FxSourceCuboid create (const char *name, const FxClassSequence &fxcs, const Database &db=Database())
FxSourceCuboid create (const char *name, const Database &db=Database())
FxSourceCuboid find (const char *name)
ClassType classType ()
FxSourceCuboid cast (const ObjectBase &)

Detailed Description

Particle-generating Geom.

An FxSourceCuboid defines a source of atoms distributed throughout a cuboid volume centered on a point in space. Atoms can be given a velocity distributed around a central value, with a given distribution. This is ideal for representing explosions, fountains, drips etc.

See also:
QDemo2 production guide for guidance on how to build and import particle effects in Q files.


Constructor & Destructor Documentation

Q::FxSourceCuboid::FxSourceCuboid  ) 
 

Create a null cuboid source reference.

Q::FxSourceCuboid::FxSourceCuboid const char *  name  ) 
 

Search the currently attached databases for a cuboid source with the given name.


Member Function Documentation

bool Q::FxSourceCuboid::addEmitterVelocity  )  const
 

return true if the velocity of the emitter is added to the atom velocity as they are emitted.

FxSourceCuboid Q::FxSourceCuboid::cast const ObjectBase  )  [static]
 

If the object referenced by obj is a cuboid source, then return a suitable FxSourceCuboid reference to the object.

Note:
Casting this object will cause it to be loaded from the database if it is not currently resident.

Reimplemented from Q::FxSource.

ClassType Q::FxSourceCuboid::classType  )  [static]
 

Return the type for this class.

Reimplemented from Q::FxSource.

FxSourceCuboid Q::FxSourceCuboid::create const char *  name,
const Database db = Database()
[static]
 

Create a new cuboid source named name in the given database, db, (or the most recently attached read-write database if db is null). The class sequence for the new source should be set using FxSource::setFxClassSequence.

FxSourceCuboid Q::FxSourceCuboid::create const char *  name,
const FxClassSequence fxcs,
const Database db = Database()
[static]
 

Create a new cuboid source named name in the given database, db, (or the most recently attached read-write database if db is null). The class sequence for the new source is given by fxcs. The values of the new object's intersectable, collidee, collider, boundsEvent and lightable flags are set to false. Its visible flag is set to true.

FxSourceCuboid Q::FxSourceCuboid::find const char *  name  )  [static]
 

Search the currently attached databases for a source with the given name and return that object, if it exists.

FxClass::distribution Q::FxSourceCuboid::locationDist unsigned int  i  )  const
 

Return the location distribution function for the i axis of the source.

Maths::Vec3f Q::FxSourceCuboid::locationRange  )  const
 

Return the range of locations within which atoms are generated. This range is centered around the source's location.

Utils::Result Q::FxSourceCuboid::setAddEmitterVelocity bool   ) 
 

Set to true if the velocity of the emitter is added to the velocity of the atoms when they are created. The default (on creating an FxSource) is false.

Utils::Result Q::FxSourceCuboid::setLocationDist unsigned  int,
FxClass::distribution 
 

Set the location distribution function for one axis of the source.

Utils::Result Q::FxSourceCuboid::setLocationRange const Maths::Vec3f  ) 
 

Set the location range for the source.

Utils::Result Q::FxSourceCuboid::setVelocity const Maths::Vec3f  ) 
 

Set the base velocity for the source.

Utils::Result Q::FxSourceCuboid::setVelocityDist unsigned  int,
FxClass::distribution 
 

Set the velocity distribution function for one axis of the source.

Utils::Result Q::FxSourceCuboid::setVelocityRange const Maths::Vec3f  ) 
 

Set the velocity range for the source.

Utils::Result Q::FxSourceCuboid::setWorldVelocity bool   ) 
 

Set to true if the velocity set using setVelocity() is the world- space velocity of the particles. The default (on creating an FxSource) is false.

Maths::Vec3f Q::FxSourceCuboid::velocity  )  const
 

Return the base velocity of the source. Atoms generated by the source have velocities distributed in a range centered around this value.

FxClass::distribution Q::FxSourceCuboid::velocityDist unsigned int  i  )  const
 

Return the velocity distribution function for the i axis of the source.

Maths::Vec3f Q::FxSourceCuboid::velocityRange  )  const
 

Return the range of velocities for atoms generated by this source.

bool Q::FxSourceCuboid::worldVelocity  )  const
 

return true if the velocity is the world-space velocity of the atoms.

Return to QSDK documentation Contents page. Contact details for support, information and fault-reporting.
Qube Software Limited © 2000-2004