# OrthographicOffCenterFrustum

#### new Cesium.OrthographicOffCenterFrustum(options)
Core/OrthographicOffCenterFrustum.js 51

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.

Name | Type | Description
--- | --- | ---

`options`

Object

optional An object with the following properties:

Name | Type | Default | Description
--- | --- | --- | ---
`left` | Number |  | optional The left clipping plane distance.
`right` | Number |  | optional The right clipping plane distance.
`top` | Number |  | optional The top clipping plane distance.
`bottom` | Number |  | optional The bottom clipping plane distance.
`near` | Number | `1.0` | optional The near clipping plane distance.
`far` | Number | `500000000.0` | optional The far clipping plane distance.

##### Example:

    var maxRadii = ellipsoid.maximumRadius;

    var frustum = new Cesium.OrthographicOffCenterFrustum();
    frustum.right = maxRadii * Cesium.Math.PI;
    frustum.left = -c.frustum.right;
    frustum.top = c.frustum.right * (canvas.clientHeight / canvas.clientWidth);
    frustum.bottom = -c.frustum.top;
    frustum.near = 0.01 * maxRadii;
    frustum.far = 50.0 * maxRadii;

### Members

#### bottom : Number
Core/OrthographicOffCenterFrustum.js 83

The bottom clipping plane.

Default Value: `undefined`

#### far : Number
Core/OrthographicOffCenterFrustum.js 99

The distance of the far plane.

Default Value: `500000000.0;`

#### left : Number
Core/OrthographicOffCenterFrustum.js 59

The left clipping plane.

Default Value: `undefined`

#### near : Number
Core/OrthographicOffCenterFrustum.js 91

The distance of the near plane.

Default Value: `1.0`

#### readonlyprojectionMatrix : Matrix4
Core/OrthographicOffCenterFrustum.js 148

Gets the orthographic projection matrix computed from the view frustum.

#### right : Number
Core/OrthographicOffCenterFrustum.js 67

The right clipping plane.

Default Value: `undefined`

#### top : Number
Core/OrthographicOffCenterFrustum.js 75

The top clipping plane.

Default Value: `undefined`

### Methods

#### clone(result) → OrthographicOffCenterFrustum
Core/OrthographicOffCenterFrustum.js 335

Returns a duplicate of a OrthographicOffCenterFrustum instance.

Name | Type | Description
--- | --- | ---
`result` | OrthographicOffCenterFrustum | optional The object onto which to store the result.

##### Returns:

The modified result parameter or a new OrthographicOffCenterFrustum instance if one was not provided.

#### computeCullingVolume(position, direction, up) → CullingVolume
Core/OrthographicOffCenterFrustum.js 174

Creates a culling volume for this frustum.

Name | Type | Description
--- | --- | ---
`position` | Cartesian3 | The eye position.
`direction` | Cartesian3 | The view direction.
`up` | Cartesian3 | The up direction.

##### Returns:

A culling volume at the given position and orientation.

##### Example:

    // Check if a bounding volume intersects the frustum.
    var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
    var intersect = cullingVolume.computeVisibility(boundingVolume);

#### equals(other) → Boolean
Core/OrthographicOffCenterFrustum.js 365

Compares the provided OrthographicOffCenterFrustum componentwise and returns `true` if they are equal, `false` otherwise.

Name | Type | Description
--- | --- | ---
`other` | OrthographicOffCenterFrustum | optional The right hand side OrthographicOffCenterFrustum.

##### Returns:

`true` if they are equal, `false` otherwise.

#### equalsEpsilon(other, relativeEpsilon, absoluteEpsilon) → Boolean
Core/OrthographicOffCenterFrustum.js 385

Compares the provided OrthographicOffCenterFrustum componentwise and returns `true` if they pass an absolute or relative tolerance test, `false` otherwise.

Name | Type | Default | Description
--- | --- | --- | ---
`other` | OrthographicOffCenterFrustum |  | The right hand side OrthographicOffCenterFrustum.
`relativeEpsilon` | Number |  | The relative epsilon tolerance to use for equality testing.
`absoluteEpsilon` | Number | `relativeEpsilon` | optional The absolute epsilon tolerance to use for equality testing.

##### Returns:

`true` if this and other are within the provided epsilon, `false` otherwise.

#### getPixelDimensions(drawingBufferWidth, drawingBufferHeight, distance, result) → Cartesian2
Core/OrthographicOffCenterFrustum.js 298

Returns the pixel's width and height in meters.

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.

##### 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.

##### Throws:

- DeveloperError : drawingBufferWidth must be greater than zero.
- DeveloperError : drawingBufferHeight must be greater than zero.

##### Example:

    // Example 1
    // Get the width and height of a pixel.
    var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 0.0, new Cesium.Cartesian2());