Polygon geometry class, you can use
PrimitiveandGroundPrimitiveto 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 polygonGeometryPolygonGeometry 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
PrimitiveandGroundPrimitive.Name Type Description optionsObject Object with the following properties: Name Type Default Description positionsArray.<Cartesian3> An array of positions that defined the corner points of the polygon. heightNumber 0.0optional The height of the polygon. extrudedHeightNumber optional The height of the polygon extrusion. vertexFormatVertexFormat VertexFormat.DEFAULToptional The vertex attributes to be computed. stRotationNumber 0.0optional The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise. ellipsoidEllipsoid Ellipsoid.WGS84optional The ellipsoid to be used as a reference. granularityNumber Math.RADIANS_PER_DEGREEoptional The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. perPositionHeightBoolean falseoptional Use the height of options.positions for each position instead of using options.height to determine the height. closeTopBoolean trueoptional When false, leaves off the top of an extruded polygon open. closeBottomBoolean trueoptional 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 valuePolygonGeometry The value to pack. arrayArray.<Number> The array to pack into. startingIndexNumber 0optional 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 arrayArray.<Number> The packed array. startingIndexNumber 0optional The starting index of the element to be unpacked. resultPolygonGeometry optional The object into which to store the result.
