Reference Source
public class | source

Frustum

Extends:

Component → Frustum

Defines its Camera's perspective projection as a frustum-shaped view volume.

  • Located at Camera#frustum.
  • Allows to explicitly set the positions of the left, right, top, bottom, near and far planes, which is useful for asymmetrical view volumes, such as for stereo viewing.
  • Frustum#near and Frustum#far specify the distances to the WebGL clipping planes.

Member Summary

Public Members
public set

bottom(value: Number)

Sets the position of the Frustum's bottom plane on the View-space Y-axis.

Fires a Frustum#bottom:emits emits on change.

public get

Gets the position of the Frustum's bottom plane on the View-space Y-axis.

Fires a Frustum#bottom:emits emits on change.

public

The Camera this Frustum belongs to.

public set

far(value: Number)

Sets the position of the Frustum's far plane on the positive View-space Z-axis.

Fires a Frustum#far:emits emits on change.

Default value is 10000.0.

public get

far: Number: *

Gets the position of the Frustum's far plane on the positive View-space Z-axis.

Default value is 10000.0.

public get

Gets the inverse of Frustum#matrix.

public set

left(value: Number)

Sets the position of the Frustum's left plane on the View-space X-axis.

Fires a Frustum#left:emits emits on change.

public get

left: Number: *

Gets the position of the Frustum's left plane on the View-space X-axis.

public get

matrix: Number[]: *

Gets the Frustum's projection transform matrix.

Fires a Frustum#matrix:emits emits on change.

Default value is [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1].

public set

near(value: Number)

Sets the position of the Frustum's near plane on the positive View-space Z-axis.

Fires a Frustum#near:emits emits on change.

Default value is 0.1.

public get

near: Number: *

Gets the position of the Frustum's near plane on the positive View-space Z-axis.

Fires a Frustum#near:emits emits on change.

Default value is 0.1.

public set

right(value: Number)

Sets the position of the Frustum's right plane on the View-space X-axis.

Fires a Frustum#right:emits emits on change.

public get

Gets the position of the Frustum's right plane on the View-space X-axis.

Fires a Frustum#right:emits emits on change.

public set

top(value: Number)

Sets the position of the Frustum's top plane on the View-space Y-axis.

Fires a Frustum#top:emits emits on change.

public get

top: Number: *

Gets the position of the Frustum's top plane on the View-space Y-axis.

Fires a Frustum#top:emits emits on change.

public get

Gets the transpose of Frustum#matrix.

Method Summary

Public Methods
public

unproject(canvasPos: Number[], screenZ: Number, screenPos: Number[], viewPos: Number[], worldPos: Number[]): *

Un-projects the given Canvas-space coordinates, using this Frustum projection.

Inherited Summary

From class Component
public get

The Component that owns the lifecycle of this Component, if any.

public

True as soon as this Component has been destroyed

public

ID of this Component, unique within the Scene.

public

meta: *

Arbitrary, user-defined metadata on this component.

public

The parent Scene that contains this Component.

public

The viewer that contains this Scene.

public

clear()

Destroys all Components that are owned by this.

public

Destroys this component.

public

error(message: String)

Logs an error for this component to the JavaScript console.

public

fire(event: String, value: Object, forget: Boolean)

Fires an event on this component.

public

Returns true if there are any subscribers to the given event on this component.

public

isType(type: *): *: Boolean

Tests if this component is of the given type, or is a subclass of the given type.

public

log(message: String)

Logs a console debugging message for this component.

public

off(subId: String)

Cancels an event subscription that was previously made with Component#on or Component#once.

public

on(event: String, callback: Function, scope: Object): String

Subscribes to an event on this component.

public

once(event: String, callback: Function, scope: Object)

Subscribes to the next occurrence of the given event, then un-subscribes as soon as the event is subIdd.

public

scheduleTask(task: *)

Schedule a task to perform on the next browser interval

public

warn(message: String)

Logs a warning for this component to the JavaScript console.

Public Members

public set bottom(value: Number) source

Sets the position of the Frustum's bottom plane on the View-space Y-axis.

Fires a Frustum#bottom:emits emits on change.

Emit:

"bottom"

event with the value of this property whenever it changes.

public get bottom: Number: * source

Gets the position of the Frustum's bottom plane on the View-space Y-axis.

Fires a Frustum#bottom:emits emits on change.

Return:

Number

Bottom frustum plane position.

public camera: Camera source

The Camera this Frustum belongs to.

Properties:

NameTypeAttributeDescription
camera *

public set far(value: Number) source

Sets the position of the Frustum's far plane on the positive View-space Z-axis.

Fires a Frustum#far:emits emits on change.

Default value is 10000.0.

public get far: Number: * source

Gets the position of the Frustum's far plane on the positive View-space Z-axis.

Default value is 10000.0.

Return:

Number

Far frustum plane position.

public get inverseMatrix: Number[]: * source

Gets the inverse of Frustum#matrix.

Return:

Number[]

The inverse orthographic projection matrix.

public set left(value: Number) source

Sets the position of the Frustum's left plane on the View-space X-axis.

Fires a Frustum#left:emits emits on change.

public get left: Number: * source

Gets the position of the Frustum's left plane on the View-space X-axis.

Return:

Number

Left frustum plane position.

public get matrix: Number[]: * source

Gets the Frustum's projection transform matrix.

Fires a Frustum#matrix:emits emits on change.

Default value is [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1].

Return:

Number[]

The Frustum's projection matrix matrix.

public set near(value: Number) source

Sets the position of the Frustum's near plane on the positive View-space Z-axis.

Fires a Frustum#near:emits emits on change.

Default value is 0.1.

public get near: Number: * source

Gets the position of the Frustum's near plane on the positive View-space Z-axis.

Fires a Frustum#near:emits emits on change.

Default value is 0.1.

Return:

Number

Near frustum plane position.

public set right(value: Number) source

Sets the position of the Frustum's right plane on the View-space X-axis.

Fires a Frustum#right:emits emits on change.

public get right: Number: * source

Gets the position of the Frustum's right plane on the View-space X-axis.

Fires a Frustum#right:emits emits on change.

Return:

Number

Right frustum plane position.

public set top(value: Number) source

Sets the position of the Frustum's top plane on the View-space Y-axis.

Fires a Frustum#top:emits emits on change.

public get top: Number: * source

Gets the position of the Frustum's top plane on the View-space Y-axis.

Fires a Frustum#top:emits emits on change.

Return:

Number

Top frustum plane position.

public get transposedMatrix: Number[]: * source

Gets the transpose of Frustum#matrix.

Return:

Number[]

The transpose of Frustum#matrix.

Public Methods

public unproject(canvasPos: Number[], screenZ: Number, screenPos: Number[], viewPos: Number[], worldPos: Number[]): * source

Un-projects the given Canvas-space coordinates, using this Frustum projection.

Params:

NameTypeAttributeDescription
canvasPos Number[]

Inputs 2D Canvas-space coordinates.

screenZ Number

Inputs Screen-space Z coordinate.

screenPos Number[]

Outputs 3D Screen/Clip-space coordinates.

viewPos Number[]

Outputs un-projected 3D View-space coordinates.

worldPos Number[]

Outputs un-projected 3D World-space coordinates.

Return:

*