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. |
options.perPositionHeight |
Boolean |
<optional> |
false | Use the height of options.positions for each position instaed of using options.height to determine the height. |
Example
// 1. create a polygon from points var polygon = new Cesium.PolygonGeometry({ polygonHierarchy : { 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) ]) } }); var geometry = Cesium.PolygonGeometry.createGeometry(polygon); // 2. create a nested polygon with holes var polygonWithHole = new Cesium.PolygonGeometry({ polygonHierarchy : { positions : ellipsoid.cartographicArrayToCartesianArray([ Cesium.Cartographic.fromDegrees(-109.0, 30.0), Cesium.Cartographic.fromDegrees(-95.0, 30.0), Cesium.Cartographic.fromDegrees(-95.0, 40.0), Cesium.Cartographic.fromDegrees(-109.0, 40.0) ]), holes : [{ positions : ellipsoid.cartographicArrayToCartesianArray([ Cesium.Cartographic.fromDegrees(-107.0, 31.0), Cesium.Cartographic.fromDegrees(-107.0, 39.0), Cesium.Cartographic.fromDegrees(-97.0, 39.0), Cesium.Cartographic.fromDegrees(-97.0, 31.0) ]), holes : [{ positions : ellipsoid.cartographicArrayToCartesianArray([ Cesium.Cartographic.fromDegrees(-105.0, 33.0), Cesium.Cartographic.fromDegrees(-99.0, 33.0), Cesium.Cartographic.fromDegrees(-99.0, 37.0), Cesium.Cartographic.fromDegrees(-105.0, 37.0) ]), holes : [{ positions : ellipsoid.cartographicArrayToCartesianArray([ Cesium.Cartographic.fromDegrees(-103.0, 34.0), Cesium.Cartographic.fromDegrees(-101.0, 34.0), Cesium.Cartographic.fromDegrees(-101.0, 36.0), Cesium.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 polygonGeometry
PolygonGeometry 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.positions
Array An array of positions that defined the corner points of the polygon. options.height
Number <optional>
0.0 The height of the polygon. options.extrudedHeight
Number <optional>
The height of the polygon extrusion. options.vertexFormat
VertexFormat <optional>
VertexFormat.DEFAULT The vertex attributes to be computed. options.stRotation
Number <optional>
0.0 The rotation of the texture coordiantes, 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. options.perPositionHeight
Boolean <optional>
false 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.PolygonGeometry.fromPositions({ 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) ]) }); var geometry = Cesium.PolygonGeometry.createGeometry(polygon);
- PolygonGeometry#createGeometry
See: