Reference Source
public class | source

Perspective

Extends:

Component → Perspective

Defines its Camera's perspective projection using a field-of-view angle.

Member Summary

Public Members
public

The Camera this Perspective belongs to.

public set

far(value: Number)

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

Fires a "far" event on change.

Default value is 10000.0.

public get

far: Number: *

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

Default value is 10000.0.

public set

fov(value: Number)

Sets the Perspective's field-of-view angle (FOV).

Fires an "fov" event on change.

Default value is 60.0.

public get

fov: Number: *

Gets the Perspective's field-of-view angle (FOV).

Default value is 60.0.

public set

fovAxis(value: String)

Sets the Perspective's FOV axis.

Options are "x", "y" or "min", to use the minimum axis.

Fires an "fovAxis" event on change.

Default value "min".

public get

Gets the Perspective's FOV axis.

Options are "x", "y" or "min", to use the minimum axis.

Fires an "fovAxis" event on change.

Default value is "min".

public get

Gets the inverse of Perspective#matrix.

public get

matrix: Number[]: *

Gets the Perspective's projection transform matrix.

Fires a "matrix" event 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 Perspective's near plane on the positive View-space Z-axis.

Fires a "near" event on change.

Default value is 0.1.

public get

near: *: *

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

Fires an "emits" emits on change.

Default value is 0.1.

public get

Gets the transpose of Perspective#matrix.

Method Summary

Public Methods
public

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

Un-projects the given Canvas-space coordinates and Screen-space depth, using this Perspective 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 camera: Camera source

The Camera this Perspective belongs to.

Properties:

NameTypeAttributeDescription
camera *

public set far(value: Number) source

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

Fires a "far" event on change.

Default value is 10000.0.

public get far: Number: * source

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

Default value is 10000.0.

Return:

Number

The Perspective's far plane position.

public set fov(value: Number) source

Sets the Perspective's field-of-view angle (FOV).

Fires an "fov" event on change.

Default value is 60.0.

public get fov: Number: * source

Gets the Perspective's field-of-view angle (FOV).

Default value is 60.0.

Return:

Number

Current field-of-view.

public set fovAxis(value: String) source

Sets the Perspective's FOV axis.

Options are "x", "y" or "min", to use the minimum axis.

Fires an "fovAxis" event on change.

Default value "min".

public get fovAxis: String: * source

Gets the Perspective's FOV axis.

Options are "x", "y" or "min", to use the minimum axis.

Fires an "fovAxis" event on change.

Default value is "min".

Return:

String

The current FOV axis value.

public get inverseMatrix: Number[]: * source

Gets the inverse of Perspective#matrix.

Return:

Number[]

The inverse of Perspective#matrix.

public get matrix: Number[]: * source

Gets the Perspective's projection transform matrix.

Fires a "matrix" event on change.

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

Return:

Number[]

The Perspective's projection matrix.

public set near(value: Number) source

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

Fires a "near" event on change.

Default value is 0.1.

public get near: *: * source

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

Fires an "emits" emits on change.

Default value is 0.1.

Return:

*

The Perspective's near plane position.

public get transposedMatrix: Number[]: * source

Gets the transpose of Perspective#matrix.

Return:

Number[]

The transpose of Perspective#matrix.

Public Methods

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

Un-projects the given Canvas-space coordinates and Screen-space depth, using this Perspective 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:

*