# WallGeometry

#### new Cesium.WallGeometry(options)
Core/WallGeometry.js 64

A description of a wall, which is similar to a KML line string. A wall is defined by a series of points, which extrude down to the ground. Optionally, they can extrude downwards to a specified height.

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

`options`

Object

Object with the following properties:

Name | Type | Default | Description
--- | --- | --- | ---
`positions` | Array.<Cartesian3> |  | An array of Cartesian objects, which are the points of the wall.
`granularity` | Number | `CesiumMath.RADIANS_PER_DEGREE` | optional The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
`maximumHeights` | Array.<Number> |  | optional An array parallel to `positions` that give the maximum height of the wall at `positions`. If undefined, the height of each position in used.
`minimumHeights` | Array.<Number> |  | optional An array parallel to `positions` that give the minimum height of the wall at `positions`. If undefined, the height at each position is 0.0.
`ellipsoid` | Ellipsoid | `Ellipsoid.WGS84` | optional The ellipsoid for coordinate manipulation
`vertexFormat` | VertexFormat | `VertexFormat.DEFAULT` | optional The vertex attributes to be computed.

##### Throws:

- DeveloperError : positions length must be greater than or equal to 2.
- DeveloperError : positions and maximumHeights must have the same length.
- DeveloperError : positions and minimumHeights must have the same length.

##### Example:

    // create a wall that spans from ground level to 10000 meters
    var wall = new Cesium.WallGeometry({
      positions : Cesium.Cartesian3.fromDegreesArrayHeights([
        19.0, 47.0, 10000.0,
        19.0, 48.0, 10000.0,
        20.0, 48.0, 10000.0,
        20.0, 47.0, 10000.0,
        19.0, 47.0, 10000.0
      ])
    });
    var geometry = Cesium.WallGeometry.createGeometry(wall);

##### Demo:

- Cesium Sandcastle Wall Demo

##### See:

- WallGeometry#createGeometry
- WallGeometry#fromConstantHeight

### Members

#### packedLength : Number
Core/WallGeometry.js 120

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

### Methods

#### static Cesium.WallGeometry.createGeometry(wallGeometry) → Geometry|undefined
Core/WallGeometry.js 355

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

Name | Type | Description
--- | --- | ---
`wallGeometry` | WallGeometry | A description of the wall.

##### Returns:

The computed vertices and indices.

#### static Cesium.WallGeometry.fromConstantHeights(options) → WallGeometry
Core/WallGeometry.js 305

A description of a wall, which is similar to a KML line string. A wall is defined by a series of points, which extrude down to the ground. Optionally, they can extrude downwards to a specified height.

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

`options`

Object

Object with the following properties:

Name | Type | Default | Description
--- | --- | --- | ---
`positions` | Array.<Cartesian3> |  | An array of Cartesian objects, which are the points of the wall.
`maximumHeight` | Number |  | optional A constant that defines the maximum height of the wall at `positions`. If undefined, the height of each position in used.
`minimumHeight` | Number |  | optional A constant that defines the minimum height of the wall at `positions`. If undefined, the height at each position is 0.0.
`ellipsoid` | Ellipsoid | `Ellipsoid.WGS84` | optional The ellipsoid for coordinate manipulation
`vertexFormat` | VertexFormat | `VertexFormat.DEFAULT` | optional The vertex attributes to be computed.

##### Returns:

##### Example:

    // create a wall that spans from 10000 meters to 20000 meters
    var wall = Cesium.WallGeometry.fromConstantHeights({
      positions : Cesium.Cartesian3.fromDegreesArray([
        19.0, 47.0,
        19.0, 48.0,
        20.0, 48.0,
        20.0, 47.0,
        19.0, 47.0,
      ]),
      minimumHeight : 20000.0,
      maximumHeight : 10000.0
    });
    var geometry = Cesium.WallGeometry.createGeometry(wall);

##### See:

- WallGeometry#createGeometry

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

Stores the provided instance into the provided array.

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

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

##### Returns:

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