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

  this._offCenterFrustum = new OrthographicOffCenterFrustum();

  /**
   * The horizontal width of the frustum in meters.
   * @type {number|undefined}
   * @default undefined
   */
  this.width = options.width;
  this._width = undefined;

  /**
   * The aspect ratio of the frustum's width to it's height.
   * @type {number|undefined}
   * @default undefined
   */
  this.aspectRatio = options.aspectRatio;
  this._aspectRatio = 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;
}
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 OrthographicFrustum
@constructor

@param {object} [options] An object with the following properties:
@param {number} [options.width] The width of the frustum in meters.
@param {number} [options.aspectRatio] The aspect ratio of the frustum's width to it's height.
@param {number} [options.near=1.0] The distance of the near plane.
@param {number} [options.far=500000000.0] The distance of the far plane.

@example
const maxRadii = ellipsoid.maximumRadius;

const frustum = new Cesium.OrthographicFrustum();
frustum.near = 0.01 * maxRadii;
frustum.far = 50.0 * maxRadii;