PolygonGeometry

new SuperMap3D.PolygonGeometry(An object with the following properties:)

Polygon geometry class, you can usePrimitiveandGroundPrimitiveto draw.
Name Type Default Description
an object with the following properties: Object
options.polygonHierarchy PolygonHierarchy optional Can contain porous polygon hierarchies.
options.height Number 0.0 optional Distance in meters between polygon and ellipsoid surfaces.
options.extrudedHeight Number optional The distance between the extruded face of the polygon and the surface of the ellipsoid.
options.vertexFormat VertexFormat VertexFormat.DEFAULT optional The vertex attributes to compute.
options.stRotation Number 0.0 optional The rotation of the texture coordinates, in radians. Forward rotation is counterclockwise.
options.ellipsoid Ellipsoid Ellipsoid.WGS84 optional The ellipsoid to use as a reference.
options.granularity Number Math.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.options for each position instead of options.height to determine the height.
options.closeTop Boolean true optional When false, leaves the top of the extruded polygon open.
options.closeBottom Boolean true optional When false, leaves the bottom of the extruded polygon open.
Example:
// 1. create a polygon from points
var polygon = new SuperMap3D.PolygonGeometry({
  polygonHierarchy : new SuperMap3D.PolygonHierarchy(
    SuperMap3D.Cartesian3.fromDegreesArray([
      -72.0, 40.0,
      -70.0, 35.0,
      -75.0, 30.0,
      -70.0, 30.0,
      -68.0, 40.0
    ])
  )
});
var geometry = SuperMap3D.PolygonGeometry.createGeometry(polygon);
// 2. create a nested polygon with holes
var polygonWithHole = new SuperMap3D.PolygonGeometry({
  polygonHierarchy : new SuperMap3D.PolygonHierarchy(
    SuperMap3D.Cartesian3.fromDegreesArray([
      -109.0, 30.0,
      -95.0, 30.0,
      -95.0, 40.0,
      -109.0, 40.0
    ]),
    [new SuperMap3D.PolygonHierarchy(
      SuperMap3D.Cartesian3.fromDegreesArray([
        -107.0, 31.0,
        -107.0, 39.0,
        -97.0, 39.0,
        -97.0, 31.0
      ]),
      [new SuperMap3D.PolygonHierarchy(
        SuperMap3D.Cartesian3.fromDegreesArray([
          -105.0, 33.0,
          -99.0, 33.0,
          -99.0, 37.0,
          -105.0, 37.0
        ]),
        [new SuperMap3D.PolygonHierarchy(
          SuperMap3D.Cartesian3.fromDegreesArray([
            -103.0, 34.0,
            -101.0, 34.0,
            -101.0, 36.0,
            -103.0, 36.0
          ])
        )]
      )]
    )]
  )
});
var geometry = SuperMap3D.PolygonGeometry.createGeometry(polygonWithHole);
// 3. create extruded polygon
var extrudedPolygon = new SuperMap3D.PolygonGeometry({
  polygonHierarchy : new SuperMap3D.PolygonHierarchy(
    SuperMap3D.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 = SuperMap3D.PolygonGeometry.createGeometry(extrudedPolygon);
See:
  • PolygonGeometry#createGeometry
  • PolygonGeometry#fromPositions

Members

packedLength : Number

The number of elements used to pack the object into an array.

Methods

staticSuperMap3D.PolygonGeometry.createGeometry(polygonGeometry)Geometry|undefined

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.

staticSuperMap3D.PolygonGeometry.fromPositions(options)PolygonGeometry

A description of a polygon from an array of positions. Polygon geometry can be rendered with both Primitive and GroundPrimitive.
Name Type Description
options Object Object with the following properties:
Name Type Default Description
positions Array.<Cartesian3> An array of positions that defined the corner points of the polygon.
height Number 0.0 optional The height of the polygon.
extrudedHeight Number optional The height of the polygon extrusion.
vertexFormat VertexFormat VertexFormat.DEFAULT optional The vertex attributes to be computed.
stRotation Number 0.0 optional The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise.
ellipsoid Ellipsoid Ellipsoid.WGS84 optional The ellipsoid to be used as a reference.
granularity Number Math.RADIANS_PER_DEGREE optional The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
perPositionHeight Boolean false optional Use the height of options.positions for each position instead of using options.height to determine the height.
closeTop Boolean true optional When false, leaves off the top of an extruded polygon open.
closeBottom Boolean true optional When false, leaves off the bottom of an extruded polygon open.
Returns:
Example:
// create a polygon from points
var polygon = SuperMap3D.PolygonGeometry.fromPositions({
  positions : SuperMap3D.Cartesian3.fromDegreesArray([
    -72.0, 40.0,
    -70.0, 35.0,
    -75.0, 30.0,
    -70.0, 30.0,
    -68.0, 40.0
  ])
});
var geometry = SuperMap3D.PolygonGeometry.createGeometry(polygon);
See:
  • PolygonGeometry#createGeometry

staticSuperMap3D.PolygonGeometry.pack(value, array, startingIndex)Array.<Number>

Stores the provided instance into the provided array.
Name Type Default Description
value PolygonGeometry The value to pack.
array Array.<Number> The array to pack into.
startingIndex Number 0 optional The index into the array at which to start packing the elements.
Returns:
The array that was packed into

staticSuperMap3D.PolygonGeometry.unpack(array, startingIndex, result)

Retrieves an instance from a packed array.
Name Type Default Description
array Array.<Number> The packed array.
startingIndex Number 0 optional The starting index of the element to be unpacked.
result PolygonGeometry optional The object into which to store the result.