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
Index
Constructors
Properties
Methods
- destroy
- getName
- getPriority
- getThreeNode
- initializeCompositeModel
- initializeThreeNode
- render
- requiresContinuousRendering
- setCompositeModel
- setPhysicsContext
- setThreeNode
- step
- updateSiblings
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