class ParticleOrbit

Inherits: ParticleEvolver

Moves particles so that their sprites orbit their center according to the provided offset and rotation values.

Public

Constructors

ParticleOrbit

ParticleOrbit() = default

ParticleOrbit

ParticleOrbit(const ParticleOrbitSettings &settings)

Methods

SetSettings

void SetSettings(const ParticleOrbitSettings &settings)

Options describing the evolver.

GetSettings

const ParticleOrbitSettings &GetSettings() const

GetProperties

const ParticleEvolverProperties &GetProperties() const override

Returns a set of properties that describe this evolver type.

staticCreate

static SPtr<ParticleOrbit> Create(const ParticleOrbitSettings &settings)

Creates a new particle orbit evolver.

staticCreate

static SPtr<ParticleOrbit> Create()

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