PolygonGeometry

PolygonGeometry

new

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:
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

:GeometryAttributes

An object containing GeometryAttribute properties named after each of the true values of the VertexFormat option.
See:

:BoundingSphere

A tight-fitting bounding sphere that encloses the vertices of the geometry.

:Array

Index data that, along with Geometry#primitiveType, determines the primitives in the geometry.

:PrimitiveType

The type of primitives in the geometry. For this geometry, it is PrimitiveType.TRIANGLES.

Methods

<static>

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:
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)
    ])
});