@physion/app / Exports / PolygonNode
Class: PolygonNode
Base class for body nodes that consist of multiple parts
TODO: Consider making this an abstract class
Hierarchy
-
↳
PolygonNode
Constructors
constructor
• new PolygonNode(polygons?): PolygonNode
Parameters
| Name | Type | Default value |
|---|---|---|
polygons | Points[] | defaultPolygons |
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
MultipartBodyNode.EVT_CHILD_ADDED
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
MultipartBodyNode.EVT_CHILD_REMOVED
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
MultipartBodyNode.EVT_CHILD_REORDERED
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
MultipartBodyNode.EVT_NAME_CHANGED
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
MultipartBodyNode.EVT_PROPERTY_CHANGED
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
MultipartBodyNode.EVT_TRANSFORM_CHANGED
ID_LENGTH
▪ Static Readonly ID_LENGTH: 12
Inherited from
MAX_NAME_LENGTH
▪ Static Readonly MAX_NAME_LENGTH: 128
Inherited from
MultipartBodyNode.MAX_NAME_LENGTH
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
MultipartBodyNode.active
• set active(v): void
Sets this body's active property
Parameters
| Name | Type |
|---|---|
v | boolean |
Returns
void
Inherited from
MultipartBodyNode.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
MultipartBodyNode.allowSleep
• set allowSleep(v): void
Sets this body's allowSleep property
Parameters
| Name | Type |
|---|---|
v | boolean |
Returns
void
Inherited from
MultipartBodyNode.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
MultipartBodyNode.alpha
• set alpha(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.alpha
angle
• get angle(): number
Returns the angle (in degrees) of this body
Returns
number
Inherited from
MultipartBodyNode.angle
• set angle(v): void
Sets the angle (in degrees) of this body
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.angle
angularDamping
• get angularDamping(): number
Returns
number
Inherited from
MultipartBodyNode.angularDamping
• set angularDamping(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.angularDamping
angularVelocity
• get angularVelocity(): number
Returns
number
Inherited from
MultipartBodyNode.angularVelocity
• set angularVelocity(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.angularVelocity
blendMode
• get blendMode(): BLEND_MODES
Returns
BLEND_MODES
Inherited from
MultipartBodyNode.blendMode
• set blendMode(v): void
Parameters
| Name | Type |
|---|---|
v | BLEND_MODES |
Returns
void
Inherited from
MultipartBodyNode.blendMode
body
• get body(): undefined | b2Body
Returns
undefined | b2Body
Inherited from
MultipartBodyNode.body
bodyType
• get bodyType(): BodyType
Returns the body type of this body.
Returns
BodyType
Inherited from
MultipartBodyNode.bodyType
• set bodyType(v): void
Sets this body's bodyType property
Parameters
| Name | Type |
|---|---|
v | BodyType |
Returns
void
Inherited from
MultipartBodyNode.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
MultipartBodyNode.bullet
• set bullet(v): void
Sets this body's bullet property
Parameters
| Name | Type |
|---|---|
v | boolean |
Returns
void
Inherited from
MultipartBodyNode.bullet
childCount
• get childCount(): number
Returns the number of children this node contains.
Returns
number
Inherited from
MultipartBodyNode.childCount
children
• get children(): Node[]
Returns the children of this node.
Returns
Node[]
Inherited from
MultipartBodyNode.children
density
• get density(): number
Returns
number
Inherited from
MultipartBodyNode.density
• set density(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.density
drawPieces
• get drawPieces(): boolean
Returns
boolean
Inherited from
MultipartBodyNode.drawPieces
• set drawPieces(v): void
Parameters
| Name | Type |
|---|---|
v | boolean |
Returns
void
Inherited from
MultipartBodyNode.drawPieces
fillAlpha
• get fillAlpha(): number
Returns
number
Inherited from
MultipartBodyNode.fillAlpha
• set fillAlpha(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.fillAlpha
fillColor
• get fillColor(): number
Returns
number
Inherited from
MultipartBodyNode.fillColor
• set fillColor(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.fillColor
fillMatrix
• get fillMatrix(): IMatrix
Returns
IMatrix
Inherited from
MultipartBodyNode.fillMatrix
• set fillMatrix(v): void
Parameters
| Name | Type |
|---|---|
v | IMatrix |
Returns
void
Inherited from
MultipartBodyNode.fillMatrix
fillStyle
• get fillStyle(): FillStyle
Returns
FillStyle
Inherited from
MultipartBodyNode.fillStyle
fillTexture
• get fillTexture(): string
Returns
string
Inherited from
MultipartBodyNode.fillTexture
• set fillTexture(v): void
Parameters
| Name | Type |
|---|---|
v | string |
Returns
void
Inherited from
MultipartBodyNode.fillTexture
filterCategoryBits
• get filterCategoryBits(): number
Returns
number
Inherited from
MultipartBodyNode.filterCategoryBits
• set filterCategoryBits(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.filterCategoryBits
filterGroupIndex
• get filterGroupIndex(): number
Returns
number
Inherited from
MultipartBodyNode.filterGroupIndex
• set filterGroupIndex(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.filterGroupIndex
filterMaskBits
• get filterMaskBits(): number
Returns
number
Inherited from
MultipartBodyNode.filterMaskBits
• set filterMaskBits(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.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
MultipartBodyNode.fixedRotation
• set fixedRotation(v): void
Sets this body's fixedRotation property
Parameters
| Name | Type |
|---|---|
v | boolean |
Returns
void
Inherited from
MultipartBodyNode.fixedRotation
fixtures
• get fixtures(): b2Fixture[]
Returns
b2Fixture[]
Inherited from
MultipartBodyNode.fixtures
flags
• get flags(): CoreObjectFlags
Returns
CoreObjectFlags
Inherited from
MultipartBodyNode.flags
freeBodyDiagram
• get freeBodyDiagram(): IFreeBodyDiagram
The forces drawn on top of this body, keyed by types.ForceKey. See FreeBodyDiagramMixin.
Returns
IFreeBodyDiagram
Inherited from
MultipartBodyNode.freeBodyDiagram
• set freeBodyDiagram(v): void
Parameters
| Name | Type |
|---|---|
v | IFreeBodyDiagram |
Returns
void
Inherited from
MultipartBodyNode.freeBodyDiagram
friction
• get friction(): number
Returns
number
Inherited from
MultipartBodyNode.friction
• set friction(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.friction
graphics
• get graphics(): Graphics
Returns
Graphics
Inherited from
MultipartBodyNode.graphics
gravityScale
• get gravityScale(): number
Returns
number
Inherited from
MultipartBodyNode.gravityScale
• set gravityScale(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.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
MultipartBodyNode.id
lineAlignment
• get lineAlignment(): number
Returns
number
Inherited from
MultipartBodyNode.lineAlignment
• set lineAlignment(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.lineAlignment
lineAlpha
• get lineAlpha(): number
The line alpha used when drawing the graphics.
Returns
number
Inherited from
MultipartBodyNode.lineAlpha
• set lineAlpha(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.lineAlpha
lineColor
• get lineColor(): number
The line color used when drawing the graphics.
Returns
number
Inherited from
MultipartBodyNode.lineColor
• set lineColor(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.lineColor
lineNative
• get lineNative(): boolean
Returns
boolean
Inherited from
MultipartBodyNode.lineNative
• set lineNative(v): void
Parameters
| Name | Type |
|---|---|
v | boolean |
Returns
void
Inherited from
MultipartBodyNode.lineNative
lineStyle
• get lineStyle(): LineStyle
Returns
LineStyle
Inherited from
MultipartBodyNode.lineStyle
lineWidth
• get lineWidth(): number
The line width used when drawing the graphics.
Returns
number
Inherited from
MultipartBodyNode.lineWidth
• set lineWidth(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.lineWidth
linearDamping
• get linearDamping(): number
Returns
number
Inherited from
MultipartBodyNode.linearDamping
• set linearDamping(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.linearDamping
linearVelocity
• get linearVelocity(): number
Returns
number
Inherited from
MultipartBodyNode.linearVelocity
linearVelocityX
• get linearVelocityX(): number
Returns
number
Inherited from
MultipartBodyNode.linearVelocityX
• set linearVelocityX(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.linearVelocityX
linearVelocityY
• get linearVelocityY(): number
Returns
number
Inherited from
MultipartBodyNode.linearVelocityY
• set linearVelocityY(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.linearVelocityY
mass
• get mass(): undefined | number
Returns
undefined | number
Inherited from
MultipartBodyNode.mass
metaObject
• get metaObject(): MetaObject
Returns the MetaObject that describes this class
Returns
Overrides
MultipartBodyNode.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
MultipartBodyNode.name
• set name(v): void
Parameters
| Name | Type |
|---|---|
v | string |
Returns
void
Inherited from
MultipartBodyNode.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
MultipartBodyNode.parent
parts
• get parts(): PolygonPart[]
Returns
PolygonPart[]
Inherited from
MultipartBodyNode.parts
polygons
• get polygons(): Points[]
Returns
Points[]
• set polygons(v): void
Parameters
| Name | Type |
|---|---|
v | Points[] |
Returns
void
restitution
• get restitution(): number
Returns
number
Inherited from
MultipartBodyNode.restitution
• set restitution(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.restitution
scripts
• get scripts(): IScript[]
Returns
IScript[]
Inherited from
MultipartBodyNode.scripts
• set scripts(v): void
Parameters
| Name | Type |
|---|---|
v | IScript[] |
Returns
void
Inherited from
MultipartBodyNode.scripts
sensor
• get sensor(): boolean
Returns
boolean
Inherited from
MultipartBodyNode.sensor
• set sensor(v): void
Parameters
| Name | Type |
|---|---|
v | boolean |
Returns
void
Inherited from
MultipartBodyNode.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
MultipartBodyNode.ttl
• set ttl(v): void
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.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
MultipartBodyNode.visualFilters
• set visualFilters(v): void
Parameters
| Name | Type |
|---|---|
v | IVisualFilters |
Returns
void
Inherited from
MultipartBodyNode.visualFilters
x
• get x(): number
Returns the x position of this body
Returns
number
Inherited from
MultipartBodyNode.x
• set x(v): void
Sets the x position of this body
Parameters
| Name | Type |
|---|---|
v | number |
Returns
void
Inherited from
MultipartBodyNode.x