Particle Universe  1.2
ParticleUniverse::ForceFieldCalculationFactory Class Referenceabstract

#include <ParticleUniverseForceField.h>

Inheritance diagram for ParticleUniverse::ForceFieldCalculationFactory:

Public Member Functions

 ForceFieldCalculationFactory (void)
 
virtual ~ForceFieldCalculationFactory (void)
 
virtual void generate (unsigned int forceFieldSize, ushort octaves, double frequency, double amplitude, double persistence, const Vector3 &worldSize)=0
 
virtual void determineForce (const Vector3 &position, Vector3 &force, Real delta)=0
 
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 unsigned int getForceFieldSize (void) const
 
virtual void setForceFieldSize (unsigned int forceFieldSize)
 
virtual Vector3 getWorldSize (void) const
 
virtual void setWorldSize (const Vector3 &worldSize)
 

Static Public Attributes

static const Vector3 DEFAULT_WORLDSIZE
 

Protected Attributes

Noise3D mNoise3D
 
ushort mOctaves
 
double mFrequency
 
double mAmplitude
 
double mPersistence
 
Vector3 mMapScale
 
Vector3 mWorldSize
 
Vector3 mMappedPosition
 

Detailed Description

Constructor & Destructor Documentation

ParticleUniverse::ForceFieldCalculationFactory::ForceFieldCalculationFactory ( void  )
inline
virtual ParticleUniverse::ForceFieldCalculationFactory::~ForceFieldCalculationFactory ( void  )
inlinevirtual

Member Function Documentation

virtual void ParticleUniverse::ForceFieldCalculationFactory::determineForce ( const Vector3 position,
Vector3 force,
Real  delta 
)
pure virtual

Determine force, based on the position of a particle. #remarks The position is the position of a particle. The argument 'delta' defines the radius around the position that contributes to the calculation of the force.

Implemented in ParticleUniverse::MatrixForceFieldCalculationFactory, and ParticleUniverse::RealTimeForceFieldCalculationFactory.

virtual void ParticleUniverse::ForceFieldCalculationFactory::generate ( unsigned int  forceFieldSize,
ushort  octaves,
double  frequency,
double  amplitude,
double  persistence,
const Vector3 worldSize 
)
pure virtual

Generates the force field

Remarks
This function takes several arguments.
  • forceFieldSize defines the internal dimensions of the force field.
  • octaves, frequency, amplitude and persistence define the noise that is being generated.
  • worldSize defines the dimensions in the real world (scene).

Implemented in ParticleUniverse::MatrixForceFieldCalculationFactory, and ParticleUniverse::RealTimeForceFieldCalculationFactory.

virtual double ParticleUniverse::ForceFieldCalculationFactory::getAmplitude ( void  ) const
virtual
virtual unsigned int ParticleUniverse::ForceFieldCalculationFactory::getForceFieldSize ( void  ) const
virtual
virtual double ParticleUniverse::ForceFieldCalculationFactory::getFrequency ( void  ) const
virtual
virtual ushort ParticleUniverse::ForceFieldCalculationFactory::getOctaves ( void  ) const
virtual

Default Getters/Setters

virtual double ParticleUniverse::ForceFieldCalculationFactory::getPersistence ( void  ) const
virtual
virtual Vector3 ParticleUniverse::ForceFieldCalculationFactory::getWorldSize ( void  ) const
virtual
virtual void ParticleUniverse::ForceFieldCalculationFactory::setAmplitude ( double  amplitude)
virtual
virtual void ParticleUniverse::ForceFieldCalculationFactory::setForceFieldSize ( unsigned int  forceFieldSize)
virtual
virtual void ParticleUniverse::ForceFieldCalculationFactory::setFrequency ( double  frequency)
virtual
virtual void ParticleUniverse::ForceFieldCalculationFactory::setOctaves ( ushort  octaves)
virtual
virtual void ParticleUniverse::ForceFieldCalculationFactory::setPersistence ( double  persistence)
virtual
virtual void ParticleUniverse::ForceFieldCalculationFactory::setWorldSize ( const Vector3 worldSize)
virtual

Member Data Documentation

const Vector3 ParticleUniverse::ForceFieldCalculationFactory::DEFAULT_WORLDSIZE
static
double ParticleUniverse::ForceFieldCalculationFactory::mAmplitude
protected
double ParticleUniverse::ForceFieldCalculationFactory::mFrequency
protected
Vector3 ParticleUniverse::ForceFieldCalculationFactory::mMappedPosition
protected
Vector3 ParticleUniverse::ForceFieldCalculationFactory::mMapScale
protected
Noise3D ParticleUniverse::ForceFieldCalculationFactory::mNoise3D
protected
ushort ParticleUniverse::ForceFieldCalculationFactory::mOctaves
protected
double ParticleUniverse::ForceFieldCalculationFactory::mPersistence
protected
Vector3 ParticleUniverse::ForceFieldCalculationFactory::mWorldSize
protected

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