@physion/app / Exports / MultipartBodyNode
Class: MultipartBodyNode
Base class for body nodes that consist of multiple parts
TODO: Consider making this an abstract class
Hierarchy
-
↳
MultipartBodyNode↳↳
GearNode↳↳
PathNode↳↳
PolygonNode↳↳
PolylineNode↳↳
SpiralNode↳↳
TextNode
Constructors
constructor
• new MultipartBodyNode(): MultipartBodyNode
Returns
Overrides
Properties
userData
• userData: Record<string, unknown>
Inherited from
EVT_CHILD_ADDED
▪ Static Readonly EVT_CHILD_ADDED: "childAdded"
The name of the event that is emitted whenever a child is added to this node.
The argument supplied is the child that was just added to this node.
Inherited from
EVT_CHILD_REMOVED
▪ Static Readonly EVT_CHILD_REMOVED: "childRemoved"
The name of the event that is emitted whenever a child is removed from this node.
The argument supplied is the child that was just removed from this node.
Inherited from
EVT_CHILD_REORDERED
▪ Static Readonly EVT_CHILD_REORDERED: "childReordered"
The name of the event that is emitted whenever a child of this node is reordered.
The arguments supplied are: (1) The child that was just reordered (2) the old index of the child and (3) the new index of the child.
Inherited from
EVT_NAME_CHANGED
▪ Static Readonly EVT_NAME_CHANGED: "nameChanged"
The name of the event that is emitted whenever the name of this object changes.
The argument suplied is the new CoreObject.name of the object.
Inherited from
EVT_PROPERTY_CHANGED
▪ Static Readonly EVT_PROPERTY_CHANGED: "propertyChanged"
The name of the event that is emitted whenever a property of this object changes.
The arguments supplied are: (1) The name of the property that has changed and (2) the new value of that property.
Inherited from
EVT_TRANSFORM_CHANGED
▪ Static Readonly EVT_TRANSFORM_CHANGED: "transformChanged"
The name of the event that is emitted whenever the x, y or angle properties of this Node are changed.
Note that this event is not emitted when x, y or angle properties are changed as a result of
an update().
Inherited from
BodyNode.EVT_TRANSFORM_CHANGED
ID_LENGTH
▪ Static Readonly ID_LENGTH: 12
Inherited from
MAX_NAME_LENGTH
▪ Static Readonly MAX_NAME_LENGTH: 128
Inherited from
Accessors
active
• get active(): boolean
Returns true if this body is active, otherwise returns false.
An inactive body will be visualized but it won't participate in the simulation.
Returns
boolean
Inherited from
BodyNode.active
• set active(v): void
Sets this body's active property
Parameters
| Name | Type |
|---|---|
v | boolean |
Returns
void
Inherited from
BodyNode.active
allowSleep
• get allowSleep(): boolean
Returns true if this body is allowed to sleep, otherwise returns false.
By default, all bodies are allowed to sleep. This basically means that when a body has come to rest and it has no collisions then it will go to sleep. Setting a body to sleep reduces then number of object we have to simulated (thus increasing performance).
Returns
boolean
Inherited from
BodyNode.allowSleep
• set allowSleep(v): void
Sets this body's allowSleep property
Parameters
| Name | Type |
|---|---|
v | boolean |
Returns
void
Inherited from
BodyNode.allowSleep
alpha
• get alpha(): number
Node's alpha
This value is between 0 (transparent) and 1.0 (opaque). This property can be considered as the "master" opacity of the node. Defaults to 1 (fully opaque)
Returns
number
Inherited from
BodyNode.alpha
• set alpha(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.alpha
angle
• get angle(): number
Returns the angle (in degrees) of this body
Returns
number
Inherited from
BodyNode.angle
• set angle(v): void
Sets the angle (in degrees) of this body
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.angle
angularDamping
• get angularDamping(): number
Returns
number
Inherited from
BodyNode.angularDamping
• set angularDamping(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.angularDamping
angularVelocity
• get angularVelocity(): number
Returns
number
Inherited from
BodyNode.angularVelocity
• set angularVelocity(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.angularVelocity
blendMode
• get blendMode(): BLEND_MODES
Returns
BLEND_MODES
Inherited from
BodyNode.blendMode
• set blendMode(v): void
Parameters
| Name | Type |
|---|---|
v | BLEND_MODES |
Returns
void
Inherited from
BodyNode.blendMode
body
• get body(): undefined | b2Body
Returns
undefined | b2Body
Inherited from
BodyNode.body
bodyType
• get bodyType(): BodyType
Returns the body type of this body.
Returns
BodyType
Inherited from
BodyNode.bodyType
• set bodyType(v): void
Sets this body's bodyType property
Parameters
| Name | Type |
|---|---|
v | BodyType |
Returns
void
Inherited from
BodyNode.bodyType
bullet
• get bullet(): boolean
Returns true if this body is a bullet, otherwise returns false.
This property only affects dynamic bodies. If a dynamic body is set to be a bullet then continuous collision detection (CCD) will be used and scenarios where a fast moving object tunels through other bodies are avoided. Note that bullets are more computational expensive.
Returns
boolean
Inherited from
BodyNode.bullet
• set bullet(v): void
Sets this body's bullet property
Parameters
| Name | Type |
|---|---|
v | boolean |
Returns
void
Inherited from
BodyNode.bullet
childCount
• get childCount(): number
Returns the number of children this node contains.
Returns
number
Inherited from
BodyNode.childCount
children
• get children(): Node[]
Returns the children of this node.
Returns
Node[]
Inherited from
BodyNode.children
density
• get density(): number
Returns
number
Inherited from
BodyNode.density
• set density(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.density
drawPieces
• get drawPieces(): boolean
Returns
boolean
• set drawPieces(v): void
Parameters
| Name | Type |
|---|---|
v | boolean |
Returns
void
fillAlpha
• get fillAlpha(): number
Returns
number
Inherited from
BodyNode.fillAlpha
• set fillAlpha(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.fillAlpha
fillColor
• get fillColor(): number
Returns
number
Inherited from
BodyNode.fillColor
• set fillColor(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.fillColor
fillMatrix
• get fillMatrix(): IMatrix
Returns
IMatrix
Inherited from
BodyNode.fillMatrix
• set fillMatrix(v): void
Parameters
| Name | Type |
|---|---|
v | IMatrix |
Returns
void
Inherited from
BodyNode.fillMatrix
fillStyle
• get fillStyle(): FillStyle
Returns
FillStyle
Inherited from
BodyNode.fillStyle
fillTexture
• get fillTexture(): string
Returns
string
Inherited from
BodyNode.fillTexture
• set fillTexture(v): void
Parameters
| Name | Type |
|---|---|
v | string |
Returns
void
Inherited from
BodyNode.fillTexture
filterCategoryBits
• get filterCategoryBits(): number
Returns
number
Inherited from
BodyNode.filterCategoryBits
• set filterCategoryBits(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.filterCategoryBits
filterGroupIndex
• get filterGroupIndex(): number
Returns
number
Inherited from
BodyNode.filterGroupIndex
• set filterGroupIndex(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.filterGroupIndex
filterMaskBits
• get filterMaskBits(): number
Returns
number
Inherited from
BodyNode.filterMaskBits
• set filterMaskBits(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.filterMaskBits
fixedRotation
• get fixedRotation(): boolean
Returns true if this body has fixed rotation, otherwise returns false.
When a body has fixed rotation then it will maintain its original rotation.
Returns
boolean
Inherited from
BodyNode.fixedRotation
• set fixedRotation(v): void
Sets this body's fixedRotation property
Parameters
| Name | Type |
|---|---|
v | boolean |
Returns
void
Inherited from
BodyNode.fixedRotation
fixtures
• get fixtures(): b2Fixture[]
Returns
b2Fixture[]
Inherited from
BodyNode.fixtures
flags
• get flags(): CoreObjectFlags
Returns
CoreObjectFlags
Inherited from
BodyNode.flags
freeBodyDiagram
• get freeBodyDiagram(): IFreeBodyDiagram
The forces drawn on top of this body, keyed by types.ForceKey. See FreeBodyDiagramMixin.
Returns
IFreeBodyDiagram
Inherited from
BodyNode.freeBodyDiagram
• set freeBodyDiagram(v): void
Parameters
| Name | Type |
|---|---|
v | IFreeBodyDiagram |
Returns
void
Inherited from
BodyNode.freeBodyDiagram
friction
• get friction(): number
Returns
number
Inherited from
BodyNode.friction
• set friction(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.friction
graphics
• get graphics(): Graphics
Returns
Graphics
Inherited from
BodyNode.graphics
gravityScale
• get gravityScale(): number
Returns
number
Inherited from
BodyNode.gravityScale
• set gravityScale(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.gravityScale
id
• get id(): string
Object's (unique) id
Note that the id of the object cannot be set (it is automatically assigned upon construction)
Returns
string
Inherited from
BodyNode.id
lineAlignment
• get lineAlignment(): number
Returns
number
Inherited from
BodyNode.lineAlignment
• set lineAlignment(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.lineAlignment
lineAlpha
• get lineAlpha(): number
The line alpha used when drawing the graphics.
Returns
number
Inherited from
BodyNode.lineAlpha
• set lineAlpha(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.lineAlpha
lineColor
• get lineColor(): number
The line color used when drawing the graphics.
Returns
number
Inherited from
BodyNode.lineColor
• set lineColor(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.lineColor
lineNative
• get lineNative(): boolean
Returns
boolean
Inherited from
BodyNode.lineNative
• set lineNative(v): void
Parameters
| Name | Type |
|---|---|
v | boolean |
Returns
void
Inherited from
BodyNode.lineNative
lineStyle
• get lineStyle(): LineStyle
Returns
LineStyle
Inherited from
BodyNode.lineStyle
lineWidth
• get lineWidth(): number
The line width used when drawing the graphics.
Returns
number
Inherited from
BodyNode.lineWidth
• set lineWidth(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.lineWidth
linearDamping
• get linearDamping(): number
Returns
number
Inherited from
BodyNode.linearDamping
• set linearDamping(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.linearDamping
linearVelocity
• get linearVelocity(): number
Returns
number
Inherited from
BodyNode.linearVelocity
linearVelocityX
• get linearVelocityX(): number
Returns
number
Inherited from
BodyNode.linearVelocityX
• set linearVelocityX(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.linearVelocityX
linearVelocityY
• get linearVelocityY(): number
Returns
number
Inherited from
BodyNode.linearVelocityY
• set linearVelocityY(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.linearVelocityY
mass
• get mass(): undefined | number
Returns
undefined | number
Inherited from
BodyNode.mass
metaObject
• get metaObject(): MetaObject
Returns the MetaObject that describes this class
Returns
Overrides
BodyNode.metaObject
name
• get name(): string
The object's name
The object's name is a free text value which defaults to an empty string.
Note that when the name of the object changes, the CoreObject.EVT_NAME_CHANGED signal will be emitted.
Returns
string
Inherited from
BodyNode.name
• set name(v): void
Parameters
| Name | Type |
|---|---|
v | string |
Returns
void
Inherited from
BodyNode.name
parent
• get parent(): undefined | Node
Returns the parent of this node (or undefined if this node has no parent).
Returns
undefined | Node
Inherited from
BodyNode.parent
parts
• get parts(): PolygonPart[]
Returns
PolygonPart[]
restitution
• get restitution(): number
Returns
number
Inherited from
BodyNode.restitution
• set restitution(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.restitution
scripts
• get scripts(): IScript[]
Returns
IScript[]
Inherited from
BodyNode.scripts
• set scripts(v): void
Parameters
| Name | Type |
|---|---|
v | IScript[] |
Returns
void
Inherited from
BodyNode.scripts
sensor
• get sensor(): boolean
Returns
boolean
Inherited from
BodyNode.sensor
• set sensor(v): void
Parameters
| Name | Type |
|---|---|
v | boolean |
Returns
void
Inherited from
BodyNode.sensor
ttl
• get ttl(): number
Node's time-to-live, in milliseconds.
A value of -1 (the default) means this node has no ttl and will never be automatically removed. Any other value counts down while the simulation is running; once it reaches 0 the node (and any nodes that depend on it) is removed from the Scene.
Has no effect on the Scene node itself, which never counts down or gets removed via ttl.
Returns
number
Inherited from
BodyNode.ttl
• set ttl(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.ttl
visualFilters
• get visualFilters(): IVisualFilters
The visual effects drawn over this node and its children, keyed by types.VisualFilterKey. See VisualFiltersMixin.
Returns
IVisualFilters
Inherited from
BodyNode.visualFilters
• set visualFilters(v): void
Parameters
| Name | Type |
|---|---|
v | IVisualFilters |
Returns
void
Inherited from
BodyNode.visualFilters
x
• get x(): number
Returns the x position of this body
Returns
number
Inherited from
BodyNode.x
• set x(v): void
Sets the x position of this body
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.x
y
• get y(): number
Returns the y position of this body
Returns
number
Inherited from
BodyNode.y
• set y(v): void
Sets the y position of this body
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
BodyNode.y
Methods
addChild
▸ addChild(child): boolean
Adds the given child to this node.
If the given child is already contained in this node or it already has a Node.parent then this method will fail (false will be returned).
Otherwise the child will be added to this node and the Node.EVT_CHILD_ADDED signal will be emitted.
Parameters
| Name | Type | Description |
|---|---|---|
child | Node | The child to be added to this node. |
Returns
boolean
True on success otherwise false.
Inherited from
addChildren
▸ addChildren(children): void
Convenience method for adding multiple children to this node.
Parameters
| Name | Type |
|---|---|
children | Node[] |
Returns
void
Inherited from
addScript
▸ addScript(assetId, params?): undefined | IScript
Adds a new script to this node.
Convenience wrapper around the scripts property, which validates the entry and rejects it if
malformed. An entry whose asset is not available yet stays inert until it is.
Parameters
| Name | Type | Description |
|---|---|---|
assetId | string | The id of the script's TextAsset. |
params | ScriptParams | Initial values for the script's editable properties. |
Returns
undefined | IScript
A copy of the added script entry, or undefined if it was rejected.
Use its id with getNodeScript() or removeScript().
Inherited from
applyAngularImpulse
▸ applyAngularImpulse(impulse, wake?): void
Parameters
| Name | Type |
|---|---|
impulse | number |
wake? | boolean |
Returns
void
Inherited from
applyForce
▸ applyForce(force, point?, wake?): void
Parameters
| Name | Type |
|---|---|
force | IPoint |
point? | IPoint |
wake? | boolean |
Returns
void
Inherited from
applyLinearImpulse
▸ applyLinearImpulse(impulse, point?, wake?): void
Parameters
| Name | Type |
|---|---|
impulse | IPoint |
point? | IPoint |
wake? | boolean |
Returns
void
Inherited from
autoAdjustFillTexture
▸ autoAdjustFillTexture(): Promise<void>
Returns
Promise<void>