class ParticleGravity

Inherits: ParticleEvolver

Applies gravity to the particles.

Public

Constructors

ParticleGravity

ParticleGravity() = default

ParticleGravity

ParticleGravity(const ParticleGravitySettings &settings)

Methods

SetSettings

void SetSettings(const ParticleGravitySettings &settings)

Options describing the evolver.

GetSettings

const ParticleGravitySettings &GetSettings() const

GetProperties

const ParticleEvolverProperties &GetProperties() const override

Returns a set of properties that describe this evolver type.

staticCreate

static SPtr<ParticleGravity> Create(const ParticleGravitySettings &settings)

Creates a new particle gravity evolver.

staticCreate

static SPtr<ParticleGravity> Create()

Creates a new particle gravity evolver.

staticGetRttiStatic

static RTTIType *GetRttiStatic()

GetRtti

RTTIType *GetRtti() const override

Returns an interface you can use to access class' Run Time Type Information.

Private

Methods

Evolve

void Evolve(Random &random, const ParticleSystemState &state, ParticleSet &set, u32 startIdx, u32 count, bool spacing, float spacingOffset) const override

Updates properties of particles in the provided range according to the ruleset of the evolver.

random
Utility class for generating random numbers.
state
Particle system state for this frame.
set
Set containing the particles to update.
startIdx
Index of the first particle in to update.
count
Number of particles to update, starting from .
spacing
When false all particles will use the same time-step as provided by . If true the time-step will be divided by so particles are uniformly distributed over the time-step.
spacingOffset
Extra offset that controls the starting position of the first particle when calculating spacing. Should be in range [0, 1). 0 = beginning of the current time step, 1 = start of next particle.

Fields

mSettings