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 polygonGeometry
PolygonGeometry 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.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.vertexFormat
VertexFormat VertexFormat.DEFAULT
optional The vertex attributes to be computed. options.stRotation
Number 0.0
optional The rotation of the texture coordiantes, in radians. A positive rotation is counter-clockwise. 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. - 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: