Skip to content

editor › Globals › PhysicsAddOn

Class: PhysicsAddOn

This is the base class for physics add ons. Methods do nothing by default and therefore aren't abstract.

Hierarchy

  • PhysicsAddOn

↳ CannonAddOn

↳ AccelerometerAddOn

↳ CollisionSoundAddOn

Index

Constructors

Properties

Methods

Constructors

constructor

+ new PhysicsAddOn(modelSubnode: Object3D, renderContext: RenderContext): PhysicsAddOn

Defined in src/physics/addOns/PhysicsAddOn.ts:15

Parameters:

Name Type
modelSubnode Object3D
renderContext RenderContext

Returns: PhysicsAddOn

Properties

Protected compositeModel

• compositeModel: CompositeModel

Defined in src/physics/addOns/PhysicsAddOn.ts:15


Protected modelSubnode

• modelSubnode: Object3D

Defined in src/physics/addOns/PhysicsAddOn.ts:11


Protected physicsContext

• physicsContext: PhysicsContext

Defined in src/physics/addOns/PhysicsAddOn.ts:14


Protected renderContext

• renderContext: RenderContext

Defined in src/physics/addOns/PhysicsAddOn.ts:12


Protected threeNode

• threeNode: Object3D = null

Defined in src/physics/addOns/PhysicsAddOn.ts:13

Methods

destroy

▸ destroy(): void

Defined in src/physics/addOns/PhysicsAddOn.ts:93

This is called after the AddOn was removed. Perform all cleanup here.

Returns: void


Abstract getName

▸ getName(): string

Defined in src/physics/addOns/PhysicsAddOn.ts:26

Returns: string

Name of this AddOn


getPriority

▸ getPriority(): number

Defined in src/physics/addOns/PhysicsAddOn.ts:32

enforce a certain rendering and physics-step order. AddOns with higher priority will be rendered & executed before AddOns with a lower priority

Returns: number


getThreeNode

▸ getThreeNode(): Object3D

Defined in src/physics/addOns/PhysicsAddOn.ts:68

Returns: Object3D


initializeCompositeModel

▸ initializeCompositeModel(compositeModel: CompositeModel): void

Defined in src/physics/addOns/PhysicsAddOn.ts:86

You should override this method to be notified when the compositeModel is set. This may be called multiple times during the lifecycle of an AddOn with different parameters.

Parameters:

Name Type Description
compositeModel CompositeModel the compositeModel, guaranteed to not be null or undefined

Returns: void


initializeThreeNode

▸ initializeThreeNode(threeNode: Object3D): void

Defined in src/physics/addOns/PhysicsAddOn.ts:77

You should override this method to set up the scene. Create all the objects you need and add() them to threeNode.

Parameters:

Name Type Description
threeNode Object3D the parent node

Returns: void


render

▸ render(): void

Defined in src/physics/addOns/PhysicsAddOn.ts:50

Update the view with the new values calculated in step.

Returns: void


requiresContinuousRendering

▸ requiresContinuousRendering(): boolean

Defined in src/physics/addOns/PhysicsAddOn.ts:104

Returns: boolean


setCompositeModel

▸ setCompositeModel(compositeModel: CompositeModel): void

Defined in src/physics/addOns/PhysicsAddOn.ts:63

Parameters:

Name Type
compositeModel CompositeModel

Returns: void


setPhysicsContext

▸ setPhysicsContext(physicsContext: PhysicsContext): void

Defined in src/physics/addOns/PhysicsAddOn.ts:59

Parameters:

Name Type
physicsContext PhysicsContext

Returns: void


setThreeNode

▸ setThreeNode(threeNode: Object3D): void

Defined in src/physics/addOns/PhysicsAddOn.ts:54

Parameters:

Name Type
threeNode Object3D

Returns: void


step

▸ step(elapsedTime: number): void

Defined in src/physics/addOns/PhysicsAddOn.ts:43

Advance the simulation by elapsedTime. Hint: Do not update the view in this method, because this might be called multiple times per rendered frame.

Parameters:

Name Type Description
elapsedTime number the time delta in seconds

Returns: void


updateSiblings

▸ updateSiblings(addOns: PhysicsAddOn[]): void

Defined in src/physics/addOns/PhysicsAddOn.ts:100

This is called when the physics addOns change to allow interaction between addOns.

Parameters:

Name Type
addOns PhysicsAddOn[]

Returns: void