# PolylineVolumeGeometry

#### new Cesium.PolylineVolumeGeometry(options)
Core/PolylineVolumeGeometry.js 200

A description of a polyline with a volume (a 2D shape extruded along a polyline).

Name | Type | Description
--- | --- | ---
`options` | Object | Object with the following properties:
Name | Type | Default | Description
--- | --- | --- | ---
`polylinePositions` | Array.<Cartesian3> |  | An array of `Cartesian3` positions that define the center of the polyline volume.
`shapePositions` | Array.<Cartesian2> |  | An array of `Cartesian2` positions that define the shape to be extruded along the polyline
`ellipsoid` | Ellipsoid | `Ellipsoid.WGS84` | 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.
`vertexFormat` | VertexFormat | `VertexFormat.DEFAULT` | optional The vertex attributes to be computed.
`cornerType` | CornerType | `CornerType.ROUNDED` | optional Determines the style of the corners.

##### Example:

    function computeCircle(radius) {
      var positions = [];
      for (var i = 0; i < 360; i++) {
        var radians = Cesium.Math.toRadians(i);
        positions.push(new Cesium.Cartesian2(radius * Math.cos(radians), radius * Math.sin(radians)));
      }
      return positions;
    }

    var volume = new Cesium.PolylineVolumeGeometry({
      vertexFormat : Cesium.VertexFormat.POSITION_ONLY,
      polylinePositions : Cesium.Cartesian3.fromDegreesArray([
        -72.0, 40.0,
        -70.0, 35.0
      ]),
      shapePositions : computeCircle(100000.0)
    });

##### Demo:

- Cesium Sandcastle Polyline Volume Demo

##### See:

- PolylineVolumeGeometry#createGeometry

### Members

#### packedLength : Number
Core/PolylineVolumeGeometry.js 229

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

### Methods

#### static Cesium.PolylineVolumeGeometry.createGeometry(polylineVolumeGeometry) → Geometry|undefined
Core/PolylineVolumeGeometry.js 362

Computes the geometric representation of a polyline with a volume, including its vertices, indices, and a bounding sphere.

Name | Type | Description
--- | --- | ---
`polylineVolumeGeometry` | PolylineVolumeGeometry | A description of the polyline volume.

##### Returns:

The computed vertices and indices.

#### static Cesium.PolylineVolumeGeometry.pack(value, array, startingIndex) → Array.<Number>
Core/PolylineVolumeGeometry.js 241

Stores the provided instance into the provided array.

Name | Type | Default | Description
--- | --- | --- | ---
`value` | PolylineVolumeGeometry |  | 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.PolylineVolumeGeometry.unpack(array, startingIndex, result) → PolylineVolumeGeometry
Core/PolylineVolumeGeometry.js 302

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

##### Returns:

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