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

  const min = options.minimum;
  const max = options.maximum;

  //>>includeStart('debug', pragmas.debug);
  Check.typeOf.object("min", min);
  Check.typeOf.object("max", max);
  if (
    defined(options.offsetAttribute) &&
    options.offsetAttribute === GeometryOffsetAttribute.TOP
  ) {
    throw new DeveloperError(
      "GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.",
    );
  }
  //>>includeEnd('debug');

  const vertexFormat = options.vertexFormat ?? VertexFormat.DEFAULT;

  this._minimum = Cartesian3.clone(min);
  this._maximum = Cartesian3.clone(max);
  this._vertexFormat = vertexFormat;
  this._offsetAttribute = options.offsetAttribute;
  this._workerName = "createBoxGeometry";
}
Describes a cube centered at the origin.

@alias BoxGeometry
@constructor

@param {object} options Object with the following properties:
@param {Cartesian3} options.minimum The minimum x, y, and z coordinates of the box.
@param {Cartesian3} options.maximum The maximum x, y, and z coordinates of the box.
@param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.

@see BoxGeometry.fromDimensions
@see BoxGeometry.createGeometry
@see Packable

@demo {@link https://sandcastle.cesium.com/index.html?src=Box.html|Cesium Sandcastle Box Demo}

@example
const box = new Cesium.BoxGeometry({
  vertexFormat : Cesium.VertexFormat.POSITION_ONLY,
  maximum : new Cesium.Cartesian3(250000.0, 250000.0, 250000.0),
  minimum : new Cesium.Cartesian3(-250000.0, -250000.0, -250000.0)
});
const geometry = Cesium.BoxGeometry.createGeometry(box);