# BoxGeometry

#### new Cesium.BoxGeometry(options)
Core/BoxGeometry.js 55

  Describes a cube centered at the origin.

  Name | Type | Description
  --- | --- | ---
  `options` | Object | Object with the following properties:
  Name | Type | Default | Description
  --- | --- | --- | ---
  `minimum` | Cartesian3 |  | The minimum x, y, and z coordinates of the box.
  `maximum` | Cartesian3 |  | The maximum x, y, and z coordinates of the box.
  `vertexFormat` | VertexFormat | `VertexFormat.DEFAULT` | optional The vertex attributes to be computed.

  ##### Example:

      var 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)
      });
      var geometry = Cesium.BoxGeometry.createGeometry(box);

  ##### Demo:

  - Cesium Sandcastle Box Demo

  ##### See:

  - BoxGeometry.fromDimensions
  - BoxGeometry.createGeometry
  - Packable

### Members

#### staticCesium.BoxGeometry.packedLength : Number
Core/BoxGeometry.js 192

  The number of elements used to pack the object into an array.

### Methods

#### staticCesium.BoxGeometry.createGeometry(boxGeometry) → Geometry
Core/BoxGeometry.js 265

  Computes the geometric representation of a box, including its vertices, indices, and a bounding sphere.

  Name | Type | Description
  --- | --- | ---
  `boxGeometry` | BoxGeometry | A description of the box.

  ##### Returns:

  The computed vertices and indices.

#### staticCesium.BoxGeometry.fromAxisAlignedBoundingBox(boundingBox) → BoxGeometry
Core/BoxGeometry.js 177

  Creates a cube from the dimensions of an AxisAlignedBoundingBox.

  Name | Type | Description
  --- | --- | ---
  `boundingBox` | AxisAlignedBoundingBox | A description of the AxisAlignedBoundingBox.

  ##### Returns:

  ##### Throws:

  - DeveloperError : AxisAlignedBoundingBox must be defined.

  ##### Example:

      var aabb = Cesium.AxisAlignedBoundingBox.fromPoints(Cesium.Cartesian3.fromDegreesArray([
           -72.0, 40.0,
           -70.0, 35.0,
           -75.0, 30.0,
           -70.0, 30.0,
           -68.0, 40.0
      ]));
      var box = Cesium.BoxGeometry.fromAxisAlignedBoundingBox({
           boundingBox: aabb
      });

  ##### See:

  - BoxGeometry.createGeometry

#### staticCesium.BoxGeometry.fromAxisAlignedBoundingBox(boundingBox) → BoxGeometry
Core/BoxGeometry.js 143

  Creates a cube from the dimensions of an AxisAlignedBoundingBox.

  Name | Type | Description
  --- | --- | ---
  `boundingBox` | AxisAlignedBoundingBox | A description of the AxisAlignedBoundingBox.

  ##### Returns:

  ##### Throws:

  - DeveloperError : AxisAlignedBoundingBox must be defined.

  ##### Example:

      var aabb = Cesium.AxisAlignedBoundingBox.fromPoints(Cesium.Cartesian3.fromDegreesArray([
           -72.0, 40.0,
           -70.0, 35.0,
           -75.0, 30.0,
           -70.0, 30.0,
           -68.0, 40.0
      ]));
      var box = Cesium.BoxGeometry.fromAxisAlignedBoundingBox({
           boundingBox: aabb
      });

  ##### See:

  - BoxGeometry.createGeometry

#### staticCesium.BoxGeometry.fromDimensions(options) → BoxGeometry
Core/BoxGeometry.js 98

  Creates a cube centered at the origin given its dimensions.

  Name | Type | Description
  --- | --- | ---
  `options` | Object | Object with the following properties:
  Name | Type | Default | Description
  --- | --- | --- | ---
  `dimensions` | Cartesian3 |  | The width, depth, and height of the box stored in the x, y, and z coordinates of the `Cartesian3`, respectively.
  `vertexFormat` | VertexFormat | `VertexFormat.DEFAULT` | optional The vertex attributes to be computed.

  ##### Returns:

  ##### Throws:

  - DeveloperError : All dimensions components must be greater than or equal to zero.

  ##### Example:

      var box = Cesium.BoxGeometry.fromDimensions({
        vertexFormat : Cesium.VertexFormat.POSITION_ONLY,
        dimensions : new Cesium.Cartesian3(500000.0, 500000.0, 500000.0)
      });
      var geometry = Cesium.BoxGeometry.createGeometry(box);

  ##### See:

  - BoxGeometry.createGeometry

#### staticCesium.BoxGeometry.pack(value, array, startingIndex)
Core/BoxGeometry.js 201

  Stores the provided instance into the provided array.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `value` | BoxGeometry |  | The value to pack.
  `array` | Array.<Number> |  | The array to pack into.
  `startingIndex` | Number | `0` | optional The index into the array at which to start packing the elements.

#### staticCesium.BoxGeometry.unpack(array, startingIndex, result) → BoxGeometry
Core/BoxGeometry.js 235

  Retrieves an instance from a packed array.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `array` | Array.<Number> |  | The packed array.
  `startingIndex` | Number | `0` | optional The starting index of the element to be unpacked.
  `result` | BoxGeometry |  | optional The object into which to store the result.

  ##### Returns:

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