Particle Universe  1.2
ParticleUniverse::MatrixForceFieldCalculationFactory Class Reference

#include <ParticleUniverseForceField.h>

Inheritance diagram for ParticleUniverse::MatrixForceFieldCalculationFactory:

Classes

struct  MatrixPosition
 
struct  MatrixRequest
 
struct  MatrixResponse
 

Public Member Functions

 MatrixForceFieldCalculationFactory (void)
 
virtual ~MatrixForceFieldCalculationFactory (void)
 
virtual void generate (unsigned int forceFieldSize, ushort octaves, double frequency, double amplitude, double persistence, const Vector3 &worldSize)
 
void deleteMatrix (void)
 
virtual void determineForce (const Vector3 &position, Vector3 &force, Real delta)
 
bool canHandleRequest (const Ogre::WorkQueue::Request *req, const Ogre::WorkQueue *srcQ)
 
Ogre::WorkQueue::ResponsehandleRequest (const Ogre::WorkQueue::Request *req, const Ogre::WorkQueue *srcQ)
 
bool canHandleResponse (const Ogre::WorkQueue::Response *res, const Ogre::WorkQueue *srcQ)
 
void handleResponse (const Ogre::WorkQueue::Response *res, const Ogre::WorkQueue *srcQ)
 
virtual unsigned int getForceFieldSize (void) const
 
virtual void setForceFieldSize (unsigned int forceFieldSize)
 
- Public Member Functions inherited from ParticleUniverse::ForceFieldCalculationFactory
 ForceFieldCalculationFactory (void)
 
virtual ~ForceFieldCalculationFactory (void)
 
virtual ushort getOctaves (void) const
 
virtual void setOctaves (ushort octaves)
 
virtual double getFrequency (void) const
 
virtual void setFrequency (double frequency)
 
virtual double getAmplitude (void) const
 
virtual void setAmplitude (double amplitude)
 
virtual double getPersistence (void) const
 
virtual void setPersistence (double persistence)
 
virtual Vector3 getWorldSize (void) const
 
virtual void setWorldSize (const Vector3 &worldSize)
 
- Public Member Functions inherited from Ogre::WorkQueue::RequestHandler
 RequestHandler ()
 
virtual ~RequestHandler ()
 
- Public Member Functions inherited from Ogre::WorkQueue::ResponseHandler
 ResponseHandler ()
 
virtual ~ResponseHandler ()
 

Static Public Attributes

static const uint16 WORKQUEUE_GENERATE_REQUEST
 
- Static Public Attributes inherited from ParticleUniverse::ForceFieldCalculationFactory
static const Vector3 DEFAULT_WORLDSIZE
 

Protected Attributes

MatrixPosition *** mMatrixPositions
 
unsigned int mForceFieldSize
 
unsigned int mX
 
unsigned int mY
 
unsigned int mZ
 
uint16 mWorkQueueChannel
 
bool mInitialising
 
- Protected Attributes inherited from ParticleUniverse::ForceFieldCalculationFactory
Noise3D mNoise3D
 
ushort mOctaves
 
double mFrequency
 
double mAmplitude
 
double mPersistence
 
Vector3 mMapScale
 
Vector3 mWorldSize
 
Vector3 mMappedPosition
 

Detailed Description

Factory class to calculate forces based on a precalculated force field

Constructor & Destructor Documentation

ParticleUniverse::MatrixForceFieldCalculationFactory::MatrixForceFieldCalculationFactory ( void  )
virtual ParticleUniverse::MatrixForceFieldCalculationFactory::~MatrixForceFieldCalculationFactory ( void  )
virtual

Member Function Documentation

bool ParticleUniverse::MatrixForceFieldCalculationFactory::canHandleRequest ( const Ogre::WorkQueue::Request req,
const Ogre::WorkQueue srcQ 
)
virtual

WorkQueue::RequestHandler override

Reimplemented from Ogre::WorkQueue::RequestHandler.

bool ParticleUniverse::MatrixForceFieldCalculationFactory::canHandleResponse ( const Ogre::WorkQueue::Response res,
const Ogre::WorkQueue srcQ 
)
virtual

WorkQueue::ResponseHandler override

Reimplemented from Ogre::WorkQueue::ResponseHandler.

void ParticleUniverse::MatrixForceFieldCalculationFactory::deleteMatrix ( void  )

Delete the internally build matrix

virtual void ParticleUniverse::MatrixForceFieldCalculationFactory::determineForce ( const Vector3 position,
Vector3 force,
Real  delta 
)
virtual
virtual void ParticleUniverse::MatrixForceFieldCalculationFactory::generate ( unsigned int  forceFieldSize,
ushort  octaves,
double  frequency,
double  amplitude,
double  persistence,
const Vector3 worldSize 
)
virtual
virtual unsigned int ParticleUniverse::MatrixForceFieldCalculationFactory::getForceFieldSize ( void  ) const
virtual

Get/Set Forcefield size.

Remarks
These get/set functions override default ones.

Reimplemented from ParticleUniverse::ForceFieldCalculationFactory.

Ogre::WorkQueue::Response* ParticleUniverse::MatrixForceFieldCalculationFactory::handleRequest ( const Ogre::WorkQueue::Request req,
const Ogre::WorkQueue srcQ 
)
virtual

WorkQueue::RequestHandler override

Implements Ogre::WorkQueue::RequestHandler.

void ParticleUniverse::MatrixForceFieldCalculationFactory::handleResponse ( const Ogre::WorkQueue::Response res,
const Ogre::WorkQueue srcQ 
)
virtual

WorkQueue::ResponseHandler override

Implements Ogre::WorkQueue::ResponseHandler.

virtual void ParticleUniverse::MatrixForceFieldCalculationFactory::setForceFieldSize ( unsigned int  forceFieldSize)
virtual

Member Data Documentation

unsigned int ParticleUniverse::MatrixForceFieldCalculationFactory::mForceFieldSize
protected
bool ParticleUniverse::MatrixForceFieldCalculationFactory::mInitialising
protected
MatrixPosition*** ParticleUniverse::MatrixForceFieldCalculationFactory::mMatrixPositions
protected
uint16 ParticleUniverse::MatrixForceFieldCalculationFactory::mWorkQueueChannel
protected
unsigned int ParticleUniverse::MatrixForceFieldCalculationFactory::mX
protected
unsigned int ParticleUniverse::MatrixForceFieldCalculationFactory::mY
protected
unsigned int ParticleUniverse::MatrixForceFieldCalculationFactory::mZ
protected
const uint16 ParticleUniverse::MatrixForceFieldCalculationFactory::WORKQUEUE_GENERATE_REQUEST
static

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