new PolygonGeometry
A Geometry that represents vertices and indices for a polygon on the ellipsoid. The polygon is either defined by an array of Cartesian points, or 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.
-
DeveloperError : At least three positions are required.
-
DeveloperError : Duplicate positions result in not enough positions to form a polygon.
Example
// create a polygon from points var geometry = 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) ]) } }); // create a nested polygon with holes var geometryWithHole = 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) ]) }] }] }] } }); //create extruded polygon var geometry = new Cesium.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 });
Source:
Members
-
attributes :GeometryAttributes
-
An object containing GeometryAttribute properties named after each of the
true
values of the VertexFormat option.See:
-
boundingSphere :BoundingSphere
-
A tight-fitting bounding sphere that encloses the vertices of the geometry.
-
indices :Array
-
Index data that, along with Geometry#primitiveType, determines the primitives in the geometry.
-
primitiveType :PrimitiveType
-
The type of primitives in the geometry. For this geometry, it is PrimitiveType.TRIANGLES.
Methods
-
<static> fromPositions
-
Creates 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. Throws:
-
DeveloperError : options.positions is required.
-
DeveloperError : At least three positions are required.
-
DeveloperError : Duplicate positions result in not enough positions to form a polygon.
Example
// create a polygon from points var geometry = new PolygonGeometry({ 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) ]) });
-