new PolygonGeometry(options)
A description of a polygon on the ellipsoid. The polygon is defined by a polygon hierarchy.
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
Object with the following properties:
|
- PolygonGeometry#createGeometry
- PolygonGeometry#fromPositions
Example:
// 1. create a polygon from points
var polygon = new Cesium.PolygonGeometry({
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.PolygonGeometry.createGeometry(polygon);
// 2. create a nested polygon with holes
var polygonWithHole = new Cesium.PolygonGeometry({
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.PolygonGeometry.createGeometry(polygonWithHole);
// 3. create extruded polygon
var extrudedPolygon = new Cesium.PolygonGeometry({
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.PolygonGeometry.createGeometry(extrudedPolygon);
Demo:
See:
Methods
-
staticPolygonGeometry.createGeometry(polygonGeometry) → Geometry
-
Computes the geometric representation of a polygon, including its vertices, indices, and a bounding sphere.
Name Type Description polygonGeometryPolygonGeometry A description of the polygon. 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.
-
-
staticPolygonGeometry.fromPositions()
-
A description of a polygon from an array of positions.
Name Type Default Description options.positionsArray.<Cartesian3> An array of positions that defined the corner points of the polygon. options.heightNumber 0.0optional The height of the polygon. options.extrudedHeightNumber optional The height of the polygon extrusion. options.vertexFormatVertexFormat VertexFormat.DEFAULToptional The vertex attributes to be computed. options.stRotationNumber 0.0optional The rotation of the texture coordiantes, in radians. A positive rotation is counter-clockwise. options.ellipsoidEllipsoid Ellipsoid.WGS84optional The ellipsoid to be used as a reference. options.granularityNumber CesiumMath.RADIANS_PER_DEGREEoptional The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. options.perPositionHeightBoolean falseoptional Use the height of options.positions for each position instead of using options.height to determine the height. - PolygonGeometry#createGeometry
Example:
// create a polygon from points var polygon = Cesium.PolygonGeometry.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.PolygonGeometry.createGeometry(polygon);See:
