class ParticleVelocity

Inherits: ParticleEvolver

Applies linear velocity to the particles.

Public

Constructors

ParticleVelocity

ParticleVelocity() = default

ParticleVelocity

ParticleVelocity(const ParticleVelocitySettings &settings)

Methods

SetSettings

void SetSettings(const ParticleVelocitySettings &settings)

Options describing the evolver.

GetSettings

const ParticleVelocitySettings &GetSettings() const

GetProperties

const ParticleEvolverProperties &GetProperties() const override

Returns a set of properties that describe this evolver type.

staticCreate

static SPtr<ParticleVelocity> Create(const ParticleVelocitySettings &settings)

Creates a new particle velocity evolver.

staticCreate

static SPtr<ParticleVelocity> Create()

Creates a new particle velocity 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