Home Reference Source
public class | source

Attraction

Extends:

Behaviour → Attraction

Direct Subclass:

Repulsion

Behaviour that causes particles to be attracted to a target position.

Static Method Summary

Static Public Methods
public static

fromJSON(json: object): Body

Creates a Body initializer from JSON.

Constructor Summary

Public Constructor
public

constructor(targetPosition: Vector3D, force: number, radius: number, life: number, easing: function, isEnabled: boolean): *

Constructs an Attraction behaviour instance.

Member Summary

Public Members
public

The attraction force in 3D space

public

The attraction force scalar multiplier

public

The linear attraction force

public

The attraction radius

public

The radius of the attraction squared

public

The position the particles will be attracted to

Method Summary

Public Methods
public

mutate(particle: Particle, time: number, index: integer): *

Mutates particle acceleration.

public

reset(targetPosition: Vector3D, force: number, radius: number, life: number, easing: function): *

Resets the behaviour properties.

Inherited Summary

From class Behaviour
public get

life: Number: *

Gets the behaviour's life.

public set

life: *

Ensures that life is infinity if an invalid value is supplied.

public

The age of the behaviour

public

Determines if the behaviour is dead or not

public

The behaviour's decaying trend

public

The energy of the behaviour

public

The behaviour's id

public

Determines if the behaviour will be applied or not

public

The class type.

private

_life: *

public abstract

applyBehaviour(target: Particle | Emitter, time: Number, index: integer): *

Apply behaviour to the target as a factor of time.

public abstract

Destory this behaviour.

public

energize(particle: Particle, time: Number): *

Compares the age of the behaviour vs integration time and determines if the behaviour should be set to dead or not.

public abstract

Returns a new instance of the behaviour from the JSON object passed.

public abstract

initialize(particle: Particle)

Set the behaviour's initial properties on the particle.

public abstract

mutate(target: Particle | Emitter, time: Number): *

Change the target's properties according to specific behaviour logic.

public

Normalize a force by 1:100;

public

Normalize a value by 1:100;

public

reset(life: number, easing: function)

Reset this behaviour's parameters

Static Public Methods

public static fromJSON(json: object): Body source

Creates a Body initializer from JSON.

Override:

Behaviour#fromJSON

Params:

NameTypeAttributeDescription
json object

The JSON to construct the instance from.

Return:

Body

Return Properties:

NameTypeAttributeDescription
json.x number

The target position x value

json.y number

The target position y value

json.z number

The target position z value

json.force number

The attraction force scalar multiplier

json.life number

The life of the particle

json.easing string

The behaviour's decaying trend

Public Constructors

public constructor(targetPosition: Vector3D, force: number, radius: number, life: number, easing: function, isEnabled: boolean): * source

Constructs an Attraction behaviour instance.

Override:

Behaviour#constructor

Params:

NameTypeAttributeDescription
targetPosition Vector3D

The position the particles will be attracted to

force number

The attraction force scalar multiplier

radius number

The attraction radius

life number
  • optional
  • default: DEFAULT_LIFE

The life of the particle

easing function
  • optional
  • default: DEFAULT_BEHAVIOUR_EASING

The behaviour's decaying trend

isEnabled boolean
  • optional
  • default: true

Determines if the behaviour will be applied or not

Return:

*

void

Public Members

public attractionForce: Vector3D source

The attraction force in 3D space

public force: number source

The attraction force scalar multiplier

public lengthSq: number source

The linear attraction force

public radius: number source

The attraction radius

public radiusSq: number source

The radius of the attraction squared

public targetPosition: Vector3D source

The position the particles will be attracted to

Public Methods

public mutate(particle: Particle, time: number, index: integer): * source

Mutates particle acceleration.

Override:

Behaviour#mutate

Params:

NameTypeAttributeDescription
particle Particle

the particle to apply the behaviour to

time number

particle engine time

index integer

the particle index

Return:

*

void

public reset(targetPosition: Vector3D, force: number, radius: number, life: number, easing: function): * source

Resets the behaviour properties.

Override:

Behaviour#reset

Params:

NameTypeAttributeDescription
targetPosition Vector3D

the position the particles will be attracted to

force number

the attraction force multiplier

radius number

the attraction radius

life number

the life of the particle

easing function

The behaviour's decaying trend

Return:

*

void