function CorridorOutlineGeometry(options) {
  options = options ?? Frozen.EMPTY_OBJECT;
  const positions = options.positions;
  const width = options.width;

  //>>includeStart('debug', pragmas.debug);
  Check.typeOf.object("options.positions", positions);
  Check.typeOf.number("options.width", width);
  //>>includeEnd('debug');

  const height = options.height ?? 0.0;
  const extrudedHeight = options.extrudedHeight ?? height;

  this._positions = positions;
  this._ellipsoid = Ellipsoid.clone(options.ellipsoid ?? Ellipsoid.default);
  this._width = width;
  this._height = Math.max(height, extrudedHeight);
  this._extrudedHeight = Math.min(height, extrudedHeight);
  this._cornerType = options.cornerType ?? CornerType.ROUNDED;
  this._granularity = options.granularity ?? CesiumMath.RADIANS_PER_DEGREE;
  this._offsetAttribute = options.offsetAttribute;
  this._workerName = "createCorridorOutlineGeometry";

  /**
   * The number of elements used to pack the object into an array.
   * @type {number}
   */
  this.packedLength =
    1 + positions.length * Cartesian3.packedLength + Ellipsoid.packedLength + 6;
}
A description of a corridor outline.

@alias CorridorOutlineGeometry
@constructor

@param {object} options Object with the following properties:
@param {Cartesian3[]} options.positions An array of positions that define the center of the corridor outline.
@param {number} options.width The distance between the edges of the corridor outline.
@param {Ellipsoid} [options.ellipsoid=Ellipsoid.default] The ellipsoid to be used as a reference.
@param {number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
@param {number} [options.height=0] The distance in meters between the positions and the ellipsoid surface.
@param {number} [options.extrudedHeight] The distance in meters between the extruded face and the ellipsoid surface.
@param {CornerType} [options.cornerType=CornerType.ROUNDED] Determines the style of the corners.

@see CorridorOutlineGeometry.createGeometry

@example
const corridor = new Cesium.CorridorOutlineGeometry({
  positions : Cesium.Cartesian3.fromDegreesArray([-72.0, 40.0, -70.0, 35.0]),
  width : 100000
});