PolygonOutlineGeometry

new PolygonOutlineGeometry(options)

A description of the outline of a polygon on the ellipsoid. The polygon is defined by a polygon hierarchy.
Name Type Description
options Object Object with the following properties:
Name Type Default Description
polygonHierarchy Object A polygon hierarchy that can include holes.
height Number 0.0 optional The height of the polygon.
extrudedHeight Number optional The height of the polygon.
vertexFormat VertexFormat VertexFormat.DEFAULT optional The vertex attributes to be computed.
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.
perPositionHeight Boolean false optional Use the height of options.positions for each position instead of using options.height to determine the height.
Example:
// 1. create a polygon outline from points
var polygon = new Cesium.PolygonOutlineGeometry({
  polygonHierarchy : {
    positions : Cesium.Cartesian3.fromDegreesArray([
      -72.0, 40.0,
      -70.0, 35.0,
      -75.0, 30.0,
      -70.0, 30.0,
      -68.0, 40.0
    ])
  }
});
var geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygon);

// 2. create a nested polygon with holes outline
var polygonWithHole = new Cesium.PolygonOutlineGeometry({
  polygonHierarchy : {
    positions : Cesium.Cartesian3.fromDegreesArray([
      -109.0, 30.0,
      -95.0, 30.0,
      -95.0, 40.0,
      -109.0, 40.0
    ]),
    holes : [{
      positions : Cesium.Cartesian3.fromDegreesArray([
        -107.0, 31.0,
        -107.0, 39.0,
        -97.0, 39.0,
        -97.0, 31.0
      ]),
      holes : [{
        positions : Cesium.Cartesian3.fromDegreesArray([
          -105.0, 33.0,
          -99.0, 33.0,
          -99.0, 37.0,
          -105.0, 37.0
        ]),
        holes : [{
          positions : Cesium.Cartesian3.fromDegreesArray([
            -103.0, 34.0,
            -101.0, 34.0,
            -101.0, 36.0,
            -103.0, 36.0
          ])
        }]
      }]
    }]
  }
});
var geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygonWithHole);

// 3. create extruded polygon outline
var extrudedPolygon = new Cesium.PolygonOutlineGeometry({
  polygonHierarchy : { 
    positions : Cesium.Cartesian3.fromDegreesArray([
      -72.0, 40.0,
      -70.0, 35.0,
      -75.0, 30.0,
      -70.0, 30.0,
      -68.0, 40.0
    ]),
    extrudedHeight: 300000
  }
});
var geometry = Cesium.PolygonOutlineGeometry.createGeometry(extrudedPolygon);
Demo:
See:
  • PolygonOutlineGeometry#createGeometry
  • PolygonOutlineGeometry#fromPositions

Methods

staticPolygonOutlineGeometry.createGeometry(polygonGeometry)Geometry

Computes the geometric representation of a polygon outline, including its vertices, indices, and a bounding sphere.
Name Type Description
polygonGeometry PolygonOutlineGeometry A description of the polygon outline.
Returns:
The computed vertices and indices.
Throws:
  • DeveloperError : At least three positions are required.
  • DeveloperError : Duplicate positions result in not enough positions to form a polygon.

staticPolygonOutlineGeometry.fromPositions()

A description of a polygon outline from an array of positions.
Name Type Default Description
options.positions Array.<Cartesian3> An array of positions that defined the corner points of the polygon.
options.height Number 0.0 optional The height of the polygon.
options.extrudedHeight Number optional The height of the polygon extrusion.
options.ellipsoid Ellipsoid Ellipsoid.WGS84 optional The ellipsoid to be used as a reference.
options.granularity Number CesiumMath.RADIANS_PER_DEGREE optional The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
options.perPositionHeight Boolean false optional Use the height of options.positions for each position instead of using options.height to determine the height.
Example:
// create a polygon from points
var polygon = Cesium.PolygonOutlineGeometry.fromPositions({
  positions : Cesium.Cartesian3.fromDegreesArray([
    -72.0, 40.0,
    -70.0, 35.0,
    -75.0, 30.0,
    -70.0, 30.0,
    -68.0, 40.0
  ])
});
var geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygon);
See:
  • PolygonGeometry#createGeometry