多边形几何体类,可以使用
Primitive
和GroundPrimitive
进行绘制。
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
具有以下属性的对象:
|
- 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
-
用于将对象打包到数组中的元素个数。
Methods
-
staticSuperMap3D.PolygonGeometry.createGeometry(polygonGeometry) → Geometry|undefined
-
计算多边形的几何表示,包括顶点、索引和包围球。
Name Type Description polygonGeometry
PolygonGeometry 对多边形的描述。 Returns:
计算出的顶点和索引。 -
staticSuperMap3D.PolygonGeometry.fromPositions(options) → PolygonGeometry
-
根据位置数组对多边形的描述。多边形几何体可通过
Primitive
和GroundPrimitive
渲染。Name Type Description options
Object 具有以下属性的对象: Name Type Default Description positions
Array.<Cartesian3> 定义多边形角点的位置数组。 height
Number 0.0
optional 多边形的高度。 extrudedHeight
Number optional 挤出多边形的高度。 vertexFormat
VertexFormat VertexFormat.DEFAULT
optional 要计算的顶点属性。 stRotation
Number 0.0
optional 纹理坐标的旋转角度,单位为弧度。正旋转为逆时针方向。 ellipsoid
Ellipsoid Ellipsoid.WGS84
optional 用作参考的椭球体。 granularity
Number Math.RADIANS_PER_DEGREE
optional 每个经纬度之间的距离(以弧度为单位)。确定buffer中的位置数。 perPositionHeight
Boolean false
optional 为每个位置使用 options.positions 的高度,而不是使用 options.height 来确定高度。 closeTop
Boolean true
optional 当为false时,将挤出多边形的顶部打开。 closeBottom
Boolean true
optional 为false时,挤出多边形的底部不开放。 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:
-
将提供的实例存储到提供的数组中。
Name Type Default Description value
PolygonGeometry 要打包的值。 array
Array.<Number> 要装入的数组。 startingIndex
Number 0
optional 开始打包元素的数组的索引。 Returns:
被装入的数组。 -
从打包数组中检索实例。
Name Type Default Description array
Array.<Number> 打包数组。 startingIndex
Number 0
optional 要解压缩的元素的起始索引。 result
PolygonGeometry optional 要在其中存储结果的对象。