# GroundPolylineGeometry

#### new Cesium.GroundPolylineGeometry(options)
Core/GroundPolylineGeometry.js 74

A description of a polyline on terrain or 3D Tiles. Only to be used with `GroundPolylinePrimitive`.

Name | Type | Description
--- | --- | ---

`options`

Object

Options with the following properties:

Name | Type | Default | Description
--- | --- | --- | ---
`positions` | Array.<Cartesian3> |  | An array of `Cartesian3` defining the polyline's points. Heights above the ellipsoid will be ignored.
`width` | Number | `1.0` | optional The screen space width in pixels.
`granularity` | Number | `9999.0` | optional The distance interval in meters used for interpolating options.points. Defaults to 9999.0 meters. Zero indicates no interpolation.
`loop` | Boolean | `false` | optional Whether during geometry creation a line segment will be added between the last and first line positions to make this Polyline a loop.
`arcType` | ArcType | `ArcType.GEODESIC` | optional The type of line the polyline segments must follow. Valid options are `ArcType.GEODESIC` and `ArcType.RHUMB`.

##### Throws:

- DeveloperError : At least two positions are required.

##### Example:

    var positions = Cesium.Cartesian3.fromDegreesArray([
      -112.1340164450331, 36.05494287836128,
      -112.08821010582645, 36.097804071380715,
      -112.13296079730024, 36.168769146801104
    ]);

    var geometry = new Cesium.GroundPolylineGeometry({
      positions : positions
    });

##### See:

- GroundPolylinePrimitive

### Members

#### arcType : ArcType
Core/GroundPolylineGeometry.js 122

The type of path the polyline must follow. Valid options are `ArcType.GEODESIC` and `ArcType.RHUMB`.

Default Value: `ArcType.GEODESIC`

#### granularity : Boolean
Core/GroundPolylineGeometry.js 107

The distance interval used for interpolating options.points. Zero indicates no interpolation. Default of 9999.0 allows centimeter accuracy with 32 bit floating point.

Default Value: `9999.0`

#### loop : Boolean
Core/GroundPolylineGeometry.js 115

Whether during geometry creation a line segment will be added between the last and first line positions to make this Polyline a loop. If the geometry has two positions this parameter will be ignored.

Default Value: `false`

#### width : Number
Core/GroundPolylineGeometry.js 97

The screen space width in pixels.

### Methods

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

Stores the provided instance into the provided array.

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

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