Skip to content

@tmrw-realityos/charm / Exports / Camera

Class: Camera

A camera that can be manipulated in various ways:

  • rotate around an axis of choice
  • lookAt a coordinate
  • orbit around the target coordinate
  • move position
  • serialized or deserialized to/from JSON

Camera supports perspective and orthographic modes.

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new Camera(): Camera

Returns

Camera

Defined in

packages/charm/src/scene/camera.ts:72

Properties

front

front: vec3

Defined in

packages/charm/src/scene/camera.ts:63


model_matrix

model_matrix: mat4

Defined in

packages/charm/src/scene/camera.ts:48


projection_matrix

projection_matrix: mat4

Defined in

packages/charm/src/scene/camera.ts:46


right: vec3

Defined in

packages/charm/src/scene/camera.ts:64


top

top: vec3

Defined in

packages/charm/src/scene/camera.ts:65


view_matrix

view_matrix: mat4

Defined in

packages/charm/src/scene/camera.ts:45


viewprojection_matrix

viewprojection_matrix: mat4

Defined in

packages/charm/src/scene/camera.ts:47


_move_vec3

Static _move_vec3: vec3

Defined in

packages/charm/src/scene/camera.ts:300


_rotate_quat

Static _rotate_quat: quat

Defined in

packages/charm/src/scene/camera.ts:330


_rotate_vec3

Static _rotate_vec3: vec3

Defined in

packages/charm/src/scene/camera.ts:328


_rotate_vec3B

Static _rotate_vec3B: vec3

Defined in

packages/charm/src/scene/camera.ts:329

Accessors

aspect

get aspect(): number

Returns

number

Defined in

packages/charm/src/scene/camera.ts:117

set aspect(v): void

Parameters

NameType
vnumber

Returns

void

Defined in

packages/charm/src/scene/camera.ts:113


far

get far(): number

Returns

number

Defined in

packages/charm/src/scene/camera.ts:131

set far(v): void

Parameters

NameType
vnumber

Returns

void

Defined in

packages/charm/src/scene/camera.ts:127


fov

get fov(): number

Returns

number

Defined in

packages/charm/src/scene/camera.ts:110

set fov(v): void

Parameters

NameType
vnumber

Returns

void

Defined in

packages/charm/src/scene/camera.ts:106


frustum_size

get frustum_size(): number

Returns

number

Defined in

packages/charm/src/scene/camera.ts:139

set frustum_size(v): void

Parameters

NameType
vnumber

Returns

void

Defined in

packages/charm/src/scene/camera.ts:135


near

get near(): number

Returns

number

Defined in

packages/charm/src/scene/camera.ts:124

set near(v): void

Parameters

NameType
vnumber

Returns

void

Defined in

packages/charm/src/scene/camera.ts:120


position

get position(): vec3

Returns

vec3

Defined in

packages/charm/src/scene/camera.ts:147

set position(v): void

Parameters

NameType
vvec3

Returns

void

Defined in

packages/charm/src/scene/camera.ts:143


target

get target(): vec3

Returns

vec3

Defined in

packages/charm/src/scene/camera.ts:154

set target(v): void

Parameters

NameType
vvec3

Returns

void

Defined in

packages/charm/src/scene/camera.ts:150


type

get type(): eCameraType

Returns

eCameraType

Defined in

packages/charm/src/scene/camera.ts:103


up

get up(): vec3

Returns

vec3

Defined in

packages/charm/src/scene/camera.ts:161

set up(v): void

Parameters

NameType
vvec3

Returns

void

Defined in

packages/charm/src/scene/camera.ts:157

Methods

batchUpdate

batchUpdate(updater): void

Postpones calculation of the camera matrices until after a batch of updates.

Parameters

NameType
updater() => void

Returns

void

Defined in

packages/charm/src/scene/camera.ts:512


changeDistanceFactor

changeDistanceFactor(f): void

Parameters

NameType
fnumber

Returns

void

Defined in

packages/charm/src/scene/camera.ts:359


configure

configure(o): void

Reads camera attributes from a JSON object

Parameters

NameType
oICamera

Returns

void

Defined in

packages/charm/src/scene/camera.ts:414


getLocalVector

getLocalVector(v, result?): vec3

transform vector (only rotates) from local to global

Parameters

NameTypeDescription
vvec3
result?vec3[Optional]

Returns

vec3

local point transformed

Method

getLocalVector

Defined in

packages/charm/src/scene/camera.ts:242


getTargetDistance

getTargetDistance(): number

Returns

number

Defined in

packages/charm/src/scene/camera.ts:370


globalToLocal

globalToLocal(v, result?): vec3

transform point from global coordinates (world space) to local coordinates (view space)

Parameters

NameTypeDescription
vvec3
result?vec3[Optional]

Returns

vec3

local point

Method

globalToLocal

Defined in

packages/charm/src/scene/camera.ts:270


localToGlobal

localToGlobal(v, result?): vec3

transform point from local to global coordinates

Parameters

NameTypeDescription
vvec3
result?vec3[Optional]

Returns

vec3

local point transformed

Method

localToGlobal

Defined in

packages/charm/src/scene/camera.ts:256


lookAt

lookAt(position, target, up): void

Parameters

NameType
positionvec3
targetvec3
upvec3

Returns

void

Defined in

packages/charm/src/scene/camera.ts:165


move

move(v, scalar?, isLocal?): void

move the position and the target the same amount so no rotation is produced

Parameters

NameTypeDefault valueDescription
vvec3undefinedglobal (if local use the thirth parameter)
scalarnumber1[optional] it will be multiplied by the vector
isLocalbooleanfalse[optional] tells v is in local camera space

Returns

void

Method

move

Defined in

packages/charm/src/scene/camera.ts:284


orbit

orbit(angleInRadians, axis, isLocal?): void

rotate over its target position

Parameters

NameTypeDefault valueDescription
angleInRadiansnumberundefinedin radians
axisvec3undefined
isLocalbooleanfalsetells v is in local camera space

Returns

void

Method

orbit

Defined in

packages/charm/src/scene/camera.ts:339


orthographic

orthographic(frustumSize, near, far, aspect): void

Parameters

NameType
frustumSizenumber
nearnumber
farnumber
aspectnumber

Returns

void

Defined in

packages/charm/src/scene/camera.ts:181


perspective

perspective(fov, aspect, near, far): void

Parameters

NameType
fovnumber
aspectnumber
nearnumber
farnumber

Returns

void

Defined in

packages/charm/src/scene/camera.ts:172


project

project(vec, viewport, result?): vec3

projects a point from 3D to 2D

Parameters

NameTypeDescription
vecvec3coordinate to project
viewportvec4[viewport=gl.viewport]
result?vec3alternative return

Returns

vec3

projected point

Method

project

Defined in

packages/charm/src/scene/camera.ts:382


rotate

rotate(angleInRadians, axis, isLocal?): void

rotate over its position

Parameters

NameTypeDefault valueDescription
angleInRadiansnumberundefinedangle in radians
axisvec3undefined
isLocalbooleanfalsetells v is in local camera space

Returns

void

Method

rotate

Defined in

packages/charm/src/scene/camera.ts:309


serialize

serialize(): ICamera

Writes camera attributes to a JSON object

Returns

ICamera

Defined in

packages/charm/src/scene/camera.ts:431


testAABBInside

testAABBInside(center, halfsize): eTestResult

Test if AABB defined by center and halfsize is inside the frustum

Parameters

NameType
centervec3
halfsizevec3

Returns

eTestResult

Defined in

packages/charm/src/scene/camera.ts:489


testSphereInside

testSphereInside(center, radius): eTestResult

Test if a sphere, defined by a center point and a radius, is inside the frustum

Parameters

NameType
centervec3
radiusnumber

Returns

eTestResult

Defined in

packages/charm/src/scene/camera.ts:473


unproject

unproject(vec, viewport, result?): vec3

projects a point from 2D to 3D

Parameters

NameTypeDescription
vecvec3-
viewportnumber[]area
result?vec3-

Returns

vec3

the projected point

Method

unproject

Defined in

packages/charm/src/scene/camera.ts:404