new PolygonGeometry()
多边形几何体类,可以使用Primitive和GroundPrimitive进行绘制。
| Name | Type | Default | Description |
|---|---|---|---|
options.polygonHierarchy |
PolygonHierarchy |
可选
可以包含多孔的多边形层次结构。 |
|
options.height |
Number | 0.0 |
可选
多边形和椭球表面之间的距离(以米为单位)。 |
options.extrudedHeight |
Number |
可选
多边形的拉伸面和椭圆体表面之间的距离。 |
|
options.vertexFormat |
VertexFormat | VertexFormat.DEFAULT |
可选
要计算的顶点属性。 |
options.stRotation |
Number | 0.0 |
可选
纹理坐标的旋转,以弧度为单位。正向旋转是逆时针方向。 |
options.ellipsoid |
Ellipsoid | Ellipsoid.WGS84 |
可选
要作参考的椭球体。 |
options.granularity |
Number | Math.RADIANS_PER_DEGREE |
可选
每个纬度和经度之间的距离(以弧度为单位)。确定缓冲区中的位置数。 |
options.perPositionHeight |
Boolean | false |
可选
对每个位置使用options.options的高度,而不是使用options.height来确定高度。 |
options.closeTop |
Boolean | true |
可选
当为false时, 使拉伸多边形的顶部保持打开状态。 |
options.closeBottom |
Boolean | true |
可选
当为false时, 使拉伸多边形的底部保持打开状态。 |
- See:
-
- 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);
Members
-
packedLengthNumber
-
用于将对象打包到数组中的元素个数。
Methods
-
static createGeometry(polygonGeometry){Geometry|undefined}
-
计算多边形的几何表示,包括顶点、索引和包围球。
Name Type Description polygonGeometryPolygonGeometry 对多边形的描述。
Returns:
Type Description Geometry | undefined 计算出的顶点和索引。 -
static fromPositions(){PolygonGeometry}
-
通过顶点坐标数组定义的多边形描述。 其几何体可通过
Primitive和GroundPrimitive两种方式渲染。Name Type Default Description options.positionsArray.<Cartesian3> 定义多边形角点的位置数组。
options.heightNumber 0.0 可选 多边形的高度。
options.extrudedHeightNumber 可选 挤出多边形的高度。
options.vertexFormatVertexFormat VertexFormat.DEFAULT 可选 要计算的顶点属性。
options.stRotationNumber 0.0 可选 纹理坐标的旋转角度,单位为弧度。正旋转为逆时针方向。
options.ellipsoidEllipsoid Ellipsoid.WGS84 可选 用作参考的椭球体。
options.granularityNumber Math.RADIANS_PER_DEGREE 可选 每个经纬度之间的距离(以弧度为单位)。确定buffer中的位置数。
options.perPositionHeightBoolean false 可选 为每个位置使用 options.positions 的高度,而不是使用 options.height 来确定高度。
options.closeTopBoolean true 可选 当为false时,将挤出多边形的顶部打开。
options.closeBottomBoolean true 可选 为false时,挤出多边形的底部不开放。
- See:
-
- PolygonGeometry#createGeometry
Returns:
Type Description PolygonGeometry 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); -
static pack(value, array, startingIndex){Array.<Number>}
-
将提供的实例存储到提供的数组中。
Name Type Default Description valuePolygonGeometry 要打包的值。
arrayArray.<Number> 要装入的数组。
startingIndexNumber 0 可选 开始打包元素的数组的索引。
Returns:
Type Description Array.<Number> 被装入的数组。 -
static unpack(array, startingIndex, result)
-
从打包数组中检索实例。
Name Type Default Description arrayArray.<Number> 打包数组。
startingIndexNumber 0 可选 要解压缩的元素的起始索引。
resultPolygonGeometry 可选 要在其中存储结果的对象。