Class: PerspectiveOffCenterFrustum

PerspectiveOffCenterFrustum

new PerspectiveOffCenterFrustum()

The viewing frustum is defined by 6 planes. Each plane is represented by a Cartesian4 object, where the x, y, and z components define the unit vector normal to the plane, and the w component is the distance of the plane from the origin/camera position.
Source:
See:
Example
var frustum = new Cesium.PerspectiveOffCenterFrustum();
frustum.right = 1.0;
frustum.left = -1.0;
frustum.top = 1.0;
frustum.bottom = -1.0;
frustum.near = 1.0;
frustum.far = 2.0;

Members

bottom :Number

Defines the bottom clipping plane.
Type:
  • Number
Default Value:
  • undefined
Source:

far :Number

The distance of the far plane.
Type:
  • Number
Default Value:
  • 500000000.0
Source:

(readonly) infiniteProjectionMatrix :Matrix4

Gets the perspective projection matrix computed from the view frustum with an infinite far plane.
Type:
Source:
See:

left :Number

Defines the left clipping plane.
Type:
  • Number
Default Value:
  • undefined
Source:

near :Number

The distance of the near plane.
Type:
  • Number
Default Value:
  • 1.0
Source:

(readonly) projectionMatrix :Matrix4

Gets the perspective projection matrix computed from the view frustum.
Type:
Source:
See:
Defines the right clipping plane.
Type:
  • Number
Default Value:
  • undefined
Source:

top :Number

Defines the top clipping plane.
Type:
  • Number
Default Value:
  • undefined
Source:

Methods

clone(resultopt) → {PerspectiveOffCenterFrustum}

Returns a duplicate of a PerspectiveOffCenterFrustum instance.
Parameters:
Name Type Attributes Description
result PerspectiveOffCenterFrustum <optional>
The object onto which to store the result.
Source:
Returns:
The modified result parameter or a new PerspectiveFrustum instance if one was not provided.
Type
PerspectiveOffCenterFrustum

computeCullingVolume(position, direction, up) → {CullingVolume}

Creates a culling volume for this frustum.
Parameters:
Name Type Description
position Cartesian3 The eye position.
direction Cartesian3 The view direction.
up Cartesian3 The up direction.
Source:
Returns:
A culling volume at the given position and orientation.
Type
CullingVolume
Example
// Check if a bounding volume intersects the frustum.
var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
var intersect = cullingVolume.computeVisibility(boundingVolume);

equals(otheropt) → {Boolean}

Compares the provided PerspectiveOffCenterFrustum componentwise and returns true if they are equal, false otherwise.
Parameters:
Name Type Attributes Description
other PerspectiveOffCenterFrustum <optional>
The right hand side PerspectiveOffCenterFrustum.
Source:
Returns:
true if they are equal, false otherwise.
Type
Boolean

getPixelDimensions(drawingBufferWidth, drawingBufferHeight, distance, result) → {Cartesian2}

Returns the pixel's width and height in meters.
Parameters:
Name Type Description
drawingBufferWidth Number The width of the drawing buffer.
drawingBufferHeight Number The height of the drawing buffer.
distance Number The distance to the near plane in meters.
result Cartesian2 The object onto which to store the result.
Source:
Throws:
Returns:
The modified result parameter or a new instance of Cartesian2 with the pixel's width and height in the x and y properties, respectively.
Type
Cartesian2
Examples
// Example 1
// Get the width and height of a pixel.
var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 1.0, new Cesium.Cartesian2());
// Example 2
// Get the width and height of a pixel if the near plane was set to 'distance'.
// For example, get the size of a pixel of an image on a billboard.
var position = camera.position;
var direction = camera.direction;
var toCenter = Cesium.Cartesian3.subtract(primitive.boundingVolume.center, position, new Cesium.Cartesian3());      // vector from camera to a primitive
var toCenterProj = Cesium.Cartesian3.multiplyByScalar(direction, Cesium.Cartesian3.dot(direction, toCenter), new Cesium.Cartesian3()); // project vector onto camera direction vector
var distance = Cesium.Cartesian3.magnitude(toCenterProj);
var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, distance, new Cesium.Cartesian2());