Frustum
Extends:
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 |
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 |
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 |
|
public get |
Gets the position of the Frustum's far plane on the positive View-space Z-axis. Default value is |
|
public get |
inverseMatrix: Number[]: * Gets the inverse of Frustum#matrix. |
|
public set |
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 |
Gets the position of the Frustum's left plane on the View-space X-axis. |
|
public get |
Gets the Frustum's projection transform matrix. Fires a Frustum#matrix:emits emits on change. Default value is |
|
public set |
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 |
|
public get |
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 |
|
public set |
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 |
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 |
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 |
transposedMatrix: Number[]: * 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 |
destroy() Destroys this component. |
|
public |
Logs an error for this component to the JavaScript console. |
|
public |
Fires an event on this component. |
|
public |
Returns true if there are any subscribers to the given event on this component. |
|
public |
Tests if this component is of the given type, or is a subclass of the given type. |
|
public |
Logs a console debugging message for this component. |
|
public |
Cancels an event subscription that was previously made with Component#on or Component#once. |
|
public |
Subscribes to an event on this component. |
|
public |
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 |
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.
public camera: Camera source
The Camera this Frustum belongs to.
Properties:
Name | Type | Attribute | Description |
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
.
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.
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]
.
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
.
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.
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.
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:
Name | Type | Attribute | Description |
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:
* |