Skip to content

@tmrw-realityos/charm


@tmrw-realityos/charm / TransformGizmo

Class: TransformGizmo

Defined in: packages/charm/src/helpers/transformGizmo.ts:53

Extends

Constructors

Constructor

new TransformGizmo(renderer): TransformGizmo

Defined in: packages/charm/src/helpers/transformGizmo.ts:89

Parameters

renderer

RendererInterface

Returns

TransformGizmo

Overrides

Node.constructor

Properties

_rayDir

_rayDir: vec3

Defined in: packages/charm/src/helpers/transformGizmo.ts:87


_rayOrigin

_rayOrigin: vec3

Defined in: packages/charm/src/helpers/transformGizmo.ts:86


actors

actors: RenderActor[] = []

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

Inherited from

Node.actors


arrow

arrow: Mesh

Defined in: packages/charm/src/helpers/transformGizmo.ts:59


bounding

bounding: AABB

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

Inherited from

Node.bounding


box

box: Mesh

Defined in: packages/charm/src/helpers/transformGizmo.ts:62


children

children: Node[]

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

Inherited from

Node.children


childrenBounding

childrenBounding: AABB

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

Inherited from

Node.childrenBounding


clickCollision

clickCollision: vec3

Defined in: packages/charm/src/helpers/transformGizmo.ts:73


clickPosition

clickPosition: vec2

Defined in: packages/charm/src/helpers/transformGizmo.ts:72


clickStartTransform

clickStartTransform: Transform

Defined in: packages/charm/src/helpers/transformGizmo.ts:75


coordinateSystem

coordinateSystem: eCoordinateSystem = eCoordinateSystem.OBJECT

Defined in: packages/charm/src/helpers/transformGizmo.ts:56


currentAction

currentAction: GizmoActions = GizmoActions.None

Defined in: packages/charm/src/helpers/transformGizmo.ts:71


enabled

enabled: boolean = true

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

Inherited from

Node.enabled


enabledActions

enabledActions: number = defaultActions

Defined in: packages/charm/src/helpers/transformGizmo.ts:55


flags

flags: number = 0

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

Inherited from

Node.flags


hover

hover: boolean = false

Defined in: packages/charm/src/helpers/transformGizmo.ts:67


hoverAction

hoverAction: GizmoActions = GizmoActions.None

Defined in: packages/charm/src/helpers/transformGizmo.ts:70


id

id: number

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

Inherited from

Node.id


index

index: number = -1

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

Inherited from

Node.index


is_hover

is_hover: boolean = false

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

Inherited from

Node.is_hover


is_model_root

is_model_root: boolean = false

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

Inherited from

Node.is_model_root


lastCamera?

optional lastCamera: Camera

Defined in: packages/charm/src/helpers/transformGizmo.ts:77


lastRadius

lastRadius: number = 1

Defined in: packages/charm/src/helpers/transformGizmo.ts:68


lastViewport

lastViewport: vec4

Defined in: packages/charm/src/helpers/transformGizmo.ts:78


layers

layers: number = 3

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

Inherited from

Node.layers


mesh?

optional mesh: Mesh

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

Inherited from

Node.mesh


name

name: string

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

Inherited from

Node.name


nearestPosition

nearestPosition: vec3

Defined in: packages/charm/src/helpers/transformGizmo.ts:69


onAfterChange()?

optional onAfterChange: () => void

Defined in: packages/charm/src/helpers/transformGizmo.ts:83

Returns

void


onChange()?

optional onChange: () => void

Defined in: packages/charm/src/helpers/transformGizmo.ts:82

Returns

void


onDuplicate()?

optional onDuplicate: (n) => void

Defined in: packages/charm/src/helpers/transformGizmo.ts:84

Parameters

n

Node[]

Returns

void


owner?

optional owner: unknown

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

Inherited from

Node.owner


parent

parent: null | Node

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

Inherited from

Node.parent


primitives

primitives: IPrimitive[]

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

Inherited from

Node.primitives


renderer

renderer: RendererInterface

Defined in: packages/charm/src/helpers/transformGizmo.ts:64


ring

ring: Mesh

Defined in: packages/charm/src/helpers/transformGizmo.ts:61


size

size: number = 2

Defined in: packages/charm/src/helpers/transformGizmo.ts:54


skin?

optional skin: Skin

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

Inherited from

Node.skin


sphere

sphere: Mesh

Defined in: packages/charm/src/helpers/transformGizmo.ts:60


targets

targets: Node[] = []

Defined in: packages/charm/src/helpers/transformGizmo.ts:65


transform

transform: Transform

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

Inherited from

Node.transform


useDepthTest

useDepthTest: boolean = true

Defined in: packages/charm/src/helpers/transformGizmo.ts:80


last_index

static last_index: number = 0

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

Inherited from

Node.last_index

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

Inherited from

Node.highlight


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

Inherited from

Node.material


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

Inherited from

Node.outline


siblings

Get Signature

get siblings(): Node[]

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

Returns

Node[]

Inherited from

Node.siblings

Methods

addActor()

addActor(actor): void

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

Parameters

actor

RenderActor

Returns

void

Inherited from

Node.addActor


addChild()

addChild(node): void

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

Parameters

node

Node

Returns

void

Inherited from

Node.addChild


applyRotation()

applyRotation(axis, angle): void

Defined in: packages/charm/src/helpers/transformGizmo.ts:318

Parameters

axis

vec3

angle

number

Returns

void


applyScale()

applyScale(v): void

Defined in: packages/charm/src/helpers/transformGizmo.ts:294

Parameters

v

vec3

Returns

void


applyTranslation()

applyTranslation(v): void

Defined in: packages/charm/src/helpers/transformGizmo.ts:304

v is in World depending on the coordinateSystem

Parameters

v

vec3

Returns

void


centerIn()

centerIn(parent): void

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

Parameters

parent

Node

Returns

void

Inherited from

Node.centerIn


clear()

clear(): void

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

Removes all children and sets up transform to identity

Returns

void

Inherited from

Node.clear


clone()

clone(inDepth): Node

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

Parameters

inDepth

boolean = true

Returns

Node

Inherited from

Node.clone


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

Inherited from

Node.collectMaterials


computeRay()

computeRay(camera, mousepos, origin, direction): void

Defined in: packages/charm/src/helpers/transformGizmo.ts:351

returns a camera ray that passes through a mouse position

Parameters

camera

Camera

mousepos

vec2

origin

vec3

direction

vec3

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

Inherited from

Node.copyFrom


destroy()

destroy(): void

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

Returns

void

Inherited from

Node.destroy


findNearestToRay()

findNearestToRay(center, direction, result): void

Defined in: packages/charm/src/helpers/transformGizmo.ts:584

Parameters

center

vec3

direction

vec3

result

vec3

Returns

void


findNodeByIndex()

findNodeByIndex(index): undefined | Node

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

Parameters

index

number

Returns

undefined | Node

Inherited from

Node.findNodeByIndex


findNodeByName()

findNodeByName(name): undefined | Node

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

Parameters

name

string

Returns

undefined | Node

Inherited from

Node.findNodeByName


fromJSON()

fromJSON(o): void

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

Parameters

o

INodeSpec

Returns

void

Inherited from

Node.fromJSON


getOwner()

getOwner(): unknown

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

Used in case this node is attached to some entity

Returns

unknown

Inherited from

Node.getOwner


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

Inherited from

Node.getOwnerRoot


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

Inherited from

Node.getWorldPosition


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

Inherited from

Node.getWorldRotation


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

Inherited from

Node.globalToLocal


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

Inherited from

Node.globalToLocalVector


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

Inherited from

Node.localToGlobal


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

Inherited from

Node.localToGlobalVector


onMouse()

onMouse(e): boolean

Defined in: packages/charm/src/helpers/transformGizmo.ts:131

Parameters

e

PointerEvent

Returns

boolean


orientTo()

orientTo(pos, cylindric): void

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

Parameters

pos

vec3

cylindric

boolean = true

Returns

void

Inherited from

Node.orientTo


querySelector()

querySelector(selector): undefined | Node

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

Parameters

selector

string

Returns

undefined | Node

Inherited from

Node.querySelector


recomputeTransform()

recomputeTransform(camera, frameSize): vec3

Defined in: packages/charm/src/helpers/transformGizmo.ts:371

Parameters

camera

Camera

frameSize

vec2

Returns

vec3


removeActor()

removeActor(actor): void

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

Parameters

actor

RenderActor

Returns

void

Inherited from

Node.removeActor


removeChild()

removeChild(node): void

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

Parameters

node

Node

Returns

void

Inherited from

Node.removeChild


render()

render(renderer, mousepos): void

Defined in: packages/charm/src/helpers/transformGizmo.ts:402

Parameters

renderer

RendererInterface

mousepos

number[] | vec2

Returns

void


setFlag()

setFlag(mask, v): void

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

Parameters

mask

number

v

boolean

Returns

void

Inherited from

Node.setFlag


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

Inherited from

Node.setFlagBit


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

Inherited from

Node.setLayerBit


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

Inherited from

Node.setLayers


setOutline()

setOutline(v, recursive): void

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

Parameters

v

boolean

recursive

boolean = true

Returns

void

Inherited from

Node.setOutline


setTargets()

setTargets(nodes): void

Defined in: packages/charm/src/helpers/transformGizmo.ts:116

Parameters

nodes

Node[]

Returns

void


testSphere()

testSphere(center, radius): boolean

Defined in: packages/charm/src/helpers/transformGizmo.ts:579

Parameters

center

vec3

radius

number

Returns

boolean


toJSON()

toJSON(skip_children): INodeSpec

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

Parameters

skip_children

boolean = false

Returns

INodeSpec

Inherited from

Node.toJSON


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

Inherited from

Node.updateAllBoundings


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

Inherited from

Node.updateBounding


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

Inherited from

Node.updateTransforms


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

Inherited from

Node.updateWorldMatrix