Pyrogenesis  trunk
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
IParticleVar Class Referenceabstract

Interface for particle state variables, which get evaluated for each newly constructed particle. More...

Inheritance diagram for IParticleVar:
Inheritance graph
[legend]

Public Member Functions

 IParticleVar ()
 
virtual ~IParticleVar ()
 
float Evaluate (CParticleEmitter &emitter)
 Computes and returns a new value. More...
 
float LastValue ()
 Returns the last value that Evaluate returned. More...
 
virtual float Min (CParticleEmitterType &type)=0
 Returns the minimum value that Evaluate might ever return, for computing bounds. More...
 
virtual float Max (CParticleEmitterType &type)=0
 Returns the maximum value that Evaluate might ever return, for computing bounds. More...
 

Protected Member Functions

virtual float Compute (CParticleEmitterType &type, CParticleEmitter &emitter)=0
 

Private Attributes

float m_LastValue
 

Detailed Description

Interface for particle state variables, which get evaluated for each newly constructed particle.

Constructor & Destructor Documentation

◆ IParticleVar()

IParticleVar::IParticleVar ( )
inline

◆ ~IParticleVar()

virtual IParticleVar::~IParticleVar ( )
inlinevirtual

Member Function Documentation

◆ Compute()

virtual float IParticleVar::Compute ( CParticleEmitterType type,
CParticleEmitter emitter 
)
protectedpure virtual

◆ Evaluate()

float IParticleVar::Evaluate ( CParticleEmitter emitter)
inline

Computes and returns a new value.

◆ LastValue()

float IParticleVar::LastValue ( )
inline

Returns the last value that Evaluate returned.

This is used for variables that depend on other variables (which is kind of fragile since it's very order-dependent), so they don't get re-randomised and don't have a danger of infinite recursion.

◆ Max()

virtual float IParticleVar::Max ( CParticleEmitterType type)
pure virtual

Returns the maximum value that Evaluate might ever return, for computing bounds.

Implemented in CParticleVarExpr, CParticleVarCopy, CParticleVarUniform, and CParticleVarConstant.

◆ Min()

virtual float IParticleVar::Min ( CParticleEmitterType type)
pure virtual

Returns the minimum value that Evaluate might ever return, for computing bounds.

Implemented in CParticleVarExpr, CParticleVarCopy, CParticleVarUniform, and CParticleVarConstant.

Member Data Documentation

◆ m_LastValue

float IParticleVar::m_LastValue
private

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