# PolylineVolumeGeometry

#### new Cesium.PolylineVolumeGeometry(options)
engine/Source/Core/PolylineVolumeGeometry.js 209

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.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.
`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) {
      const positions = [];
      for (let i = 0; i < 360; i++) {
        const radians = Cesium.Math.toRadians(i);
        positions.push(new Cesium.Cartesian2(radius * Math.cos(radians), radius * Math.sin(radians)));
      }
      return positions;
    }

    const 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
engine/Source/Core/PolylineVolumeGeometry.js 240

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

### Methods

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

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>
engine/Source/Core/PolylineVolumeGeometry.js 253

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
engine/Source/Core/PolylineVolumeGeometry.js 314

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.

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