Skip to content

@tmrw-realityos/charm


@tmrw-realityos/charm / Node

Class: Node

Defined in: packages/charm/src/scene/node.ts:44

Extended by

Constructors

Constructor

new Node(): Node

Defined in: packages/charm/src/scene/node.ts:73

Returns

Node

Properties

actors

actors: RenderActor[] = []

Defined in: packages/charm/src/scene/node.ts:63


bounding

bounding: AABB

Defined in: packages/charm/src/scene/node.ts:65


children

children: Node[]

Defined in: packages/charm/src/scene/node.ts:60


childrenBounding

childrenBounding: AABB

Defined in: packages/charm/src/scene/node.ts:66


enabled

enabled: boolean = true

Defined in: packages/charm/src/scene/node.ts:53


flags

flags: number = 0

Defined in: packages/charm/src/scene/node.ts:54


id

id: number

Defined in: packages/charm/src/scene/node.ts:47


index

index: number = -1

Defined in: packages/charm/src/scene/node.ts:48


is_hover

is_hover: boolean = false

Defined in: packages/charm/src/scene/node.ts:71


is_model_root

is_model_root: boolean = false

Defined in: packages/charm/src/scene/node.ts:70


layers

layers: number = 3

Defined in: packages/charm/src/scene/node.ts:50


mesh?

optional mesh: Mesh

Defined in: packages/charm/src/scene/node.ts:56


name

name: string

Defined in: packages/charm/src/scene/node.ts:49


owner?

optional owner: unknown

Defined in: packages/charm/src/scene/node.ts:68


parent

parent: null | Node

Defined in: packages/charm/src/scene/node.ts:59


primitives

primitives: IPrimitive[]

Defined in: packages/charm/src/scene/node.ts:57


skin?

optional skin: Skin

Defined in: packages/charm/src/scene/node.ts:62


transform

transform: Transform

Defined in: packages/charm/src/scene/node.ts:51


last_index

static last_index: number = 0

Defined in: packages/charm/src/scene/node.ts:45

Accessors

highlight

Get Signature

get highlight(): boolean

Defined in: packages/charm/src/scene/node.ts:116

Returns

boolean

Set Signature

set highlight(v): void

Defined in: packages/charm/src/scene/node.ts:111

Parameters
v

boolean

Returns

void


material

Get Signature

get material(): null | Material

Defined in: packages/charm/src/scene/node.ts:86

Returns

null | Material

Set Signature

set material(m): void

Defined in: packages/charm/src/scene/node.ts:90

Parameters
m

Material

Returns

void


outline

Get Signature

get outline(): boolean

Defined in: packages/charm/src/scene/node.ts:107

Returns

boolean

Set Signature

set outline(v): void

Defined in: packages/charm/src/scene/node.ts:102

Parameters
v

boolean

Returns

void


siblings

Get Signature

get siblings(): Node[]

Defined in: packages/charm/src/scene/node.ts:257

Returns

Node[]

Methods

addActor()

addActor(actor): void

Defined in: packages/charm/src/scene/node.ts:475

Parameters

actor

RenderActor

Returns

void


addChild()

addChild(node): void

Defined in: packages/charm/src/scene/node.ts:199

Parameters

node

Node

Returns

void


centerIn()

centerIn(parent): void

Defined in: packages/charm/src/scene/node.ts:211

Parameters

parent

Node

Returns

void


clear()

clear(): void

Defined in: packages/charm/src/scene/node.ts:126

Removes all children and sets up transform to identity

Returns

void


clone()

clone(inDepth): Node

Defined in: packages/charm/src/scene/node.ts:245

Parameters

inDepth

boolean = true

Returns

Node


collectMaterials()

collectMaterials(materials): void

Defined in: packages/charm/src/scene/node.ts:414

Used to get a list of materials used in this branch of the scene tree

Parameters

materials

Map<string, Material>

Returns

void


copyFrom()

copyFrom(n): void

Defined in: packages/charm/src/scene/node.ts:173

doesnt copy children, just node properties

Parameters

n

Node

Returns

void


destroy()

destroy(): void

Defined in: packages/charm/src/scene/node.ts:194

Returns

void


findNodeByIndex()

findNodeByIndex(index): undefined | Node

Defined in: packages/charm/src/scene/node.ts:400

Parameters

index

number

Returns

undefined | Node


findNodeByName()

findNodeByName(name): undefined | Node

Defined in: packages/charm/src/scene/node.ts:387

Parameters

name

string

Returns

undefined | Node


fromJSON()

fromJSON(o): void

Defined in: packages/charm/src/scene/node.ts:509

Parameters

o

INodeSpec

Returns

void


getOwner()

getOwner(): unknown

Defined in: packages/charm/src/scene/node.ts:426

Used in case this node is attached to some entity

Returns

unknown


getOwnerRoot()

getOwnerRoot(): undefined | Node

Defined in: packages/charm/src/scene/node.ts:433

Returns the first node in ascending hierarchy that contains owner info

Returns

undefined | Node


getWorldPosition()

getWorldPosition(out?): vec3

Defined in: packages/charm/src/scene/node.ts:145

Calculates the world space position by applying all ancestor transformations in the scene graph.

Parameters

out?

vec3

Returns

vec3


getWorldRotation()

getWorldRotation(out?): quat

Defined in: packages/charm/src/scene/node.ts:159

Calculates the world space rotation by applying all ancestor transformations in the scene graph.

Parameters

out?

quat

Returns

quat


globalToLocal()

globalToLocal(v, out?): vec3

Defined in: packages/charm/src/scene/node.ts:308

converts a global coordinate to local coordinates (slow: generates the inverse matrix!)

Parameters

v

vec3

out?

vec3

Returns

vec3


globalToLocalVector()

globalToLocalVector(v, out?): vec3

Defined in: packages/charm/src/scene/node.ts:315

converts a global vector to local coordinates (slow: generates the inverse matrix!)

Parameters

v

vec3

out?

vec3

Returns

vec3


localToGlobal()

localToGlobal(v, out?): vec3

Defined in: packages/charm/src/scene/node.ts:287

converts a local coordinate to globals coordinates

Parameters

v

vec3

out?

vec3

Returns

vec3


localToGlobalVector()

localToGlobalVector(v, out?): vec3

Defined in: packages/charm/src/scene/node.ts:293

converts a local vector to globals coordinates

Parameters

v

vec3

out?

vec3

Returns

vec3


orientTo()

orientTo(pos, cylindric): void

Defined in: packages/charm/src/scene/node.ts:330

Parameters

pos

vec3

cylindric

boolean = true

Returns

void


querySelector()

querySelector(selector): undefined | Node

Defined in: packages/charm/src/scene/node.ts:374

Parameters

selector

string

Returns

undefined | Node


removeActor()

removeActor(actor): void

Defined in: packages/charm/src/scene/node.ts:481

Parameters

actor

RenderActor

Returns

void


removeChild()

removeChild(node): void

Defined in: packages/charm/src/scene/node.ts:233

Parameters

node

Node

Returns

void


setFlag()

setFlag(mask, v): void

Defined in: packages/charm/src/scene/node.ts:120

Parameters

mask

number

v

boolean

Returns

void


setFlagBit()

setFlagBit(mask, v, recursive): void

Defined in: packages/charm/src/scene/node.ts:458

Parameters

mask

number

v

boolean

recursive

boolean = false

Returns

void


setLayerBit()

setLayerBit(bit, v, recursive): void

Defined in: packages/charm/src/scene/node.ts:448

Parameters

bit

number

v

boolean

recursive

boolean = true

Returns

void


setLayers()

setLayers(v, recursive): void

Defined in: packages/charm/src/scene/node.ts:440

assign a layer bitmask to this node (and its children)

Parameters

v

number

recursive

boolean = true

Returns

void


setOutline()

setOutline(v, recursive): void

Defined in: packages/charm/src/scene/node.ts:467

Parameters

v

boolean

recursive

boolean = true

Returns

void


toJSON()

toJSON(skip_children): INodeSpec

Defined in: packages/charm/src/scene/node.ts:488

Parameters

skip_children

boolean = false

Returns

INodeSpec


updateAllBoundings()

updateAllBoundings(): void

Defined in: packages/charm/src/scene/node.ts:364

Updates the bounding taking into account node.bounding and all children childrenBoundings

Returns

void


updateBounding()

updateBounding(): void

Defined in: packages/charm/src/scene/node.ts:349

Updates the bounding taking into account mesh bounding and transfrom (not including children)

Returns

void


updateTransforms()

updateTransforms(): void

Defined in: packages/charm/src/scene/node.ts:275

iterates through every transform and updates world matrix and bounding, it propagates to children

Returns

void


updateWorldMatrix()

updateWorldMatrix(fast): mat4

Defined in: packages/charm/src/scene/node.ts:266

Updates the global matrix in transform taking into account the node ierarchy

Parameters

fast

boolean = false

if true it asumes the parent global matrix is already updated

Returns

mat4