# CorridorGeometry

#### new Cesium.CorridorGeometry(options)
engine/Source/Core/CorridorGeometry.js 1072

A description of a corridor. Corridor geometry can be rendered with both `Primitive` and `GroundPrimitive`.

Name | Type | Description
--- | --- | ---
`options` | object | Object with the following properties:
Name | Type | Default | Description
--- | --- | --- | ---
`positions` | Array.<Cartesian3> |  | An array of positions that define the center of the corridor.
`width` | number |  | The distance between the edges of the corridor in meters.
`ellipsoid` | Ellipsoid | `Ellipsoid.default` | optional The ellipsoid to be used as a reference.
`granularity` | number | `CesiumMath.RADIANS_PER_DEGREE` | optional The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
`height` | number | `0` | optional The distance in meters between the ellipsoid surface and the positions.
`extrudedHeight` | number |  | optional The distance in meters between the ellipsoid surface and the extruded face.
`vertexFormat` | VertexFormat | `VertexFormat.DEFAULT` | optional The vertex attributes to be computed.
`cornerType` | CornerType | `CornerType.ROUNDED` | optional Determines the style of the corners.

##### Example:

    const corridor = new Cesium.CorridorGeometry({
      vertexFormat : Cesium.VertexFormat.POSITION_ONLY,
      positions : Cesium.Cartesian3.fromDegreesArray([-72.0, 40.0, -70.0, 35.0]),
      width : 100000
    });

##### Demo:

- Cesium Sandcastle Corridor Demo

##### See:

- CorridorGeometry.createGeometry
- Packable

### Members

#### packedLength : number
engine/Source/Core/CorridorGeometry.js 1104

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

### Methods

#### static Cesium.CorridorGeometry.computeRectangle(options, result) → Rectangle
engine/Source/Core/CorridorGeometry.js 1250

Computes the bounding rectangle given the provided options

Name | Type | Description
--- | --- | ---
`options` | object | Object with the following properties:
Name | Type | Default | Description
--- | --- | --- | ---
`positions` | Array.<Cartesian3> |  | An array of positions that define the center of the corridor.
`width` | number |  | The distance between the edges of the corridor in meters.
`ellipsoid` | Ellipsoid | `Ellipsoid.default` | optional The ellipsoid to be used as a reference.
`cornerType` | CornerType | `CornerType.ROUNDED` | optional Determines the style of the corners.
`result` | Rectangle | optional An object in which to store the result.

##### Returns:

The result rectangle.

#### static Cesium.CorridorGeometry.createGeometry(corridorGeometry) → Geometry|undefined
engine/Source/Core/CorridorGeometry.js 1272

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

Name | Type | Description
--- | --- | ---
`corridorGeometry` | CorridorGeometry | A description of the corridor.

##### Returns:

The computed vertices and indices.

#### static Cesium.CorridorGeometry.pack(value, array, startingIndex) → Array.<number>
engine/Source/Core/CorridorGeometry.js 1121

Stores the provided instance into the provided array.

Name | Type | Default | Description
--- | --- | --- | ---
`value` | CorridorGeometry |  | 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.

##### Returns:

The array that was packed into

#### static Cesium.CorridorGeometry.unpack(array, startingIndex, result) → CorridorGeometry
engine/Source/Core/CorridorGeometry.js 1177

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` | CorridorGeometry |  | optional The object into which to store the result.

##### Returns:

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

Need help? The fastest way to get answers is from the community and team on the Cesium Forum.