# PolylineGeometry

#### new Cesium.PolylineGeometry(options)
engine/Source/Core/PolylineGeometry.js 100

A description of a polyline modeled as a line strip; the first two positions define a line segment, and each additional position defines a line segment from the previous position. The polyline is capable of displaying with a material.

Name | Type | Description
--- | --- | ---
`options` | object | Object with the following properties:
Name | Type | Default | Description
--- | --- | --- | ---
`positions` | Array.<Cartesian3> |  | An array of `Cartesian3` defining the positions in the polyline as a line strip.
`width` | number | `1.0` | optional The width in pixels.
`colors` | Array.<Color> |  | optional An Array of `Color` defining the per vertex or per segment colors.
`colorsPerVertex` | boolean | `false` | optional A boolean that determines whether the colors will be flat across each segment of the line or interpolated across the vertices.
`arcType` | ArcType | `ArcType.GEODESIC` | optional The type of line the polyline segments must follow.
`granularity` | number | `CesiumMath.RADIANS_PER_DEGREE` | optional The distance, in radians, between each latitude and longitude if options.arcType is not ArcType.NONE. Determines the number of positions in the buffer.
`vertexFormat` | VertexFormat | `VertexFormat.DEFAULT` | optional The vertex attributes to be computed.
`ellipsoid` | Ellipsoid | `Ellipsoid.default` | optional The ellipsoid to be used as a reference.

##### Throws:

- DeveloperError : At least two positions are required.
- DeveloperError : width must be greater than or equal to one.
- DeveloperError : colors has an invalid length.

##### Example:

    // A polyline with two connected line segments
    const polyline = new Cesium.PolylineGeometry({
      positions : Cesium.Cartesian3.fromDegreesArray([
        0.0, 0.0,
        5.0, 0.0,
        5.0, 5.0
      ]),
      width : 10.0
    });
    const geometry = Cesium.PolylineGeometry.createGeometry(polyline);

##### Demo:

- Cesium Sandcastle Polyline Demo

##### See:

- PolylineGeometry#createGeometry

### Members

#### packedLength : number
engine/Source/Core/PolylineGeometry.js 143

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

### Methods

#### static Cesium.PolylineGeometry.createGeometry(polylineGeometry) → Geometry|undefined
engine/Source/Core/PolylineGeometry.js 294

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

Name | Type | Description
--- | --- | ---
`polylineGeometry` | PolylineGeometry | A description of the polyline.

##### Returns:

The computed vertices and indices.

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

Stores the provided instance into the provided array.

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

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

##### Returns:

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

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