Polygon geometry class, you can use
Primitive
andGroundPrimitive
to 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. |
- PolygonGeometry#createGeometry
- PolygonGeometry#fromPositions
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:
Members
-
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
andGroundPrimitive
.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:
- PolygonGeometry#createGeometry
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:
-
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 -
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.