new PolygonGeometry
A description of a polygon on the ellipsoid. The polygon is defined by a polygon hierarchy.
Parameters:
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
options.polygonHierarchy |
Object | A polygon hierarchy that can include holes. | ||
options.height |
Number |
<optional> |
0.0 | The height of the polygon. |
options.extrudedHeight |
Number |
<optional> |
The height of the polygon. | |
options.vertexFormat |
VertexFormat |
<optional> |
VertexFormat.DEFAULT | The vertex attributes to be computed. |
options.stRotation |
Number |
<optional> |
0.0 | The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise. |
options.ellipsoid |
Ellipsoid |
<optional> |
Ellipsoid.WGS84 | The ellipsoid to be used as a reference. |
options.granularity |
Number |
<optional> |
CesiumMath.RADIANS_PER_DEGREE | The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. |
Throws:
DeveloperError
: polygonHierarchy is required.
Example
// 1. create a polygon from points
var polygon = new PolygonGeometry({
polygonHierarchy : {
positions : ellipsoid.cartographicArrayToCartesianArray([
Cartographic.fromDegrees(-72.0, 40.0),
Cartographic.fromDegrees(-70.0, 35.0),
Cartographic.fromDegrees(-75.0, 30.0),
Cartographic.fromDegrees(-70.0, 30.0),
Cartographic.fromDegrees(-68.0, 40.0)
])
}
});
var geometry = PolygonGeometry.createGeometry(polygon);
// 2. create a nested polygon with holes
var polygonWithHole = new PolygonGeometry({
polygonHierarchy : {
positions : ellipsoid.cartographicArrayToCartesianArray([
Cartographic.fromDegrees(-109.0, 30.0),
Cartographic.fromDegrees(-95.0, 30.0),
Cartographic.fromDegrees(-95.0, 40.0),
Cartographic.fromDegrees(-109.0, 40.0)
]),
holes : [{
positions : ellipsoid.cartographicArrayToCartesianArray([
Cartographic.fromDegrees(-107.0, 31.0),
Cartographic.fromDegrees(-107.0, 39.0),
Cartographic.fromDegrees(-97.0, 39.0),
Cartographic.fromDegrees(-97.0, 31.0)
]),
holes : [{
positions : ellipsoid.cartographicArrayToCartesianArray([
Cartographic.fromDegrees(-105.0, 33.0),
Cartographic.fromDegrees(-99.0, 33.0),
Cartographic.fromDegrees(-99.0, 37.0),
Cartographic.fromDegrees(-105.0, 37.0)
]),
holes : [{
positions : ellipsoid.cartographicArrayToCartesianArray([
Cartographic.fromDegrees(-103.0, 34.0),
Cartographic.fromDegrees(-101.0, 34.0),
Cartographic.fromDegrees(-101.0, 36.0),
Cartographic.fromDegrees(-103.0, 36.0)
])
}]
}]
}]
}
});
var geometry = PolygonGeometry.createGeometry(polygonWithHole);
// 3. create extruded polygon
var extrudedPolygon = new PolygonGeometry({
positions : ellipsoid.cartographicArrayToCartesianArray([
Cesium.Cartographic.fromDegrees(-72.0, 40.0),
Cesium.Cartographic.fromDegrees(-70.0, 35.0),
Cesium.Cartographic.fromDegrees(-75.0, 30.0),
Cesium.Cartographic.fromDegrees(-70.0, 30.0),
Cesium.Cartographic.fromDegrees(-68.0, 40.0)
]),
extrudedHeight: 300000
});
var geometry = PolygonGeometry.createGeometry(extrudedPolygon);
- PolygonGeometry#createGeometry
- PolygonGeometry#fromPositions
See:
Source:
Methods
-
<static> createGeometry
-
Computes the geometric representation of a polygon, including its vertices, indices, and a bounding sphere.
Parameters:
Name Type Description polygonGeometryPolygonGeometry A description of the polygon. Throws:
-
DeveloperError : At least three positions are required.
-
DeveloperError : Duplicate positions result in not enough positions to form a polygon.
Returns:
Geometry The computed vertices and indices. -
-
<static> fromPositions
-
A description of a polygon from an array of positions.
Parameters:
Name Type Argument Default Description options.positionsArray An array of positions that defined the corner points of the polygon. options.heightNumber <optional>
0.0 The height of the polygon. options.extrudedHeightNumber <optional>
The height of the polygon extrusion. options.vertexFormatVertexFormat <optional>
VertexFormat.DEFAULT The vertex attributes to be computed. options.stRotationNumber <optional>
0.0 The rotation of the texture coordiantes, in radians. A positive rotation is counter-clockwise. options.ellipsoidEllipsoid <optional>
Ellipsoid.WGS84 The ellipsoid to be used as a reference. options.granularityNumber <optional>
CesiumMath.RADIANS_PER_DEGREE The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. Throws:
DeveloperError : options.positions is required.Example
// create a polygon from points var polygon = PolygonGeometry.fromPositions({ positions : ellipsoid.cartographicArrayToCartesianArray([ Cartographic.fromDegrees(-72.0, 40.0), Cartographic.fromDegrees(-70.0, 35.0), Cartographic.fromDegrees(-75.0, 30.0), Cartographic.fromDegrees(-70.0, 30.0), Cartographic.fromDegrees(-68.0, 40.0) ]) }); var geometry = PolygonGeometry.createGeometry(polygon);- PolygonGeometry#createGeometry
See:
