function PerspectiveOffCenterFrustum(options) {
  options = options ?? Frozen.EMPTY_OBJECT;

  /**
   * Defines the left clipping plane.
   * @type {number|undefined}
   * @default undefined
   */
  this.left = options.left;
  this._left = undefined;

  /**
   * Defines the right clipping plane.
   * @type {number|undefined}
   * @default undefined
   */
  this.right = options.right;
  this._right = undefined;

  /**
   * Defines the top clipping plane.
   * @type {number|undefined}
   * @default undefined
   */
  this.top = options.top;
  this._top = undefined;

  /**
   * Defines the bottom clipping plane.
   * @type {number|undefined}
   * @default undefined
   */
  this.bottom = options.bottom;
  this._bottom = undefined;

  /**
   * The distance of the near plane.
   * @type {number}
   * @default 1.0
   */
  this.near = options.near ?? 1.0;
  this._near = this.near;

  /**
   * The distance of the far plane.
   * @type {number}
   * @default 500000000.0
   */
  this.far = options.far ?? 500000000.0;
  this._far = this.far;

  this._cullingVolume = new CullingVolume();
  this._perspectiveMatrix = new Matrix4();
  this._infinitePerspective = new Matrix4();
}
The viewing frustum is defined by 6 planes.
Each plane is represented by a {@link 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.

@alias PerspectiveOffCenterFrustum
@constructor

@param {object} [options] An object with the following properties:
@param {number} [options.left] The left clipping plane distance.
@param {number} [options.right] The right clipping plane distance.
@param {number} [options.top] The top clipping plane distance.
@param {number} [options.bottom] The bottom clipping plane distance.
@param {number} [options.near=1.0] The near clipping plane distance.
@param {number} [options.far=500000000.0] The far clipping plane distance.

@example
const frustum = new Cesium.PerspectiveOffCenterFrustum({
    left : -1.0,
    right : 1.0,
    top : 1.0,
    bottom : -1.0,
    near : 1.0,
    far : 100.0
});

@see PerspectiveFrustum