Skip to content

KBE3D / KBCore / Cesium / PolygonOutlineGeometry

类: PolygonOutlineGeometry

A description of the outline of a polygon on the ellipsoid. The polygon is defined by a polygon hierarchy.

示例

ts
// 1. create a polygon outline from points
const polygon = new Cesium.PolygonOutlineGeometry({
  polygonHierarchy : new Cesium.PolygonHierarchy(
    Cesium.Cartesian3.fromDegreesArray([
      -72.0, 40.0,
      -70.0, 35.0,
      -75.0, 30.0,
      -70.0, 30.0,
      -68.0, 40.0
    ])
  )
});
const geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygon);

// 2. create a nested polygon with holes outline
const polygonWithHole = new Cesium.PolygonOutlineGeometry({
  polygonHierarchy : new Cesium.PolygonHierarchy(
    Cesium.Cartesian3.fromDegreesArray([
      -109.0, 30.0,
      -95.0, 30.0,
      -95.0, 40.0,
      -109.0, 40.0
    ]),
    [new Cesium.PolygonHierarchy(
      Cesium.Cartesian3.fromDegreesArray([
        -107.0, 31.0,
        -107.0, 39.0,
        -97.0, 39.0,
        -97.0, 31.0
      ]),
      [new Cesium.PolygonHierarchy(
        Cesium.Cartesian3.fromDegreesArray([
          -105.0, 33.0,
          -99.0, 33.0,
          -99.0, 37.0,
          -105.0, 37.0
        ]),
        [new Cesium.PolygonHierarchy(
          Cesium.Cartesian3.fromDegreesArray([
            -103.0, 34.0,
            -101.0, 34.0,
            -101.0, 36.0,
            -103.0, 36.0
          ])
        )]
      )]
    )]
  )
});
const geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygonWithHole);

// 3. create extruded polygon outline
const extrudedPolygon = new Cesium.PolygonOutlineGeometry({
  polygonHierarchy : new Cesium.PolygonHierarchy(
    Cesium.Cartesian3.fromDegreesArray([
      -72.0, 40.0,
      -70.0, 35.0,
      -75.0, 30.0,
      -70.0, 30.0,
      -68.0, 40.0
    ])
  ),
  extrudedHeight: 300000
});
const geometry = Cesium.PolygonOutlineGeometry.createGeometry(extrudedPolygon);

参数

Object with the following properties:

参数

A polygon hierarchy that can include holes.

参数

The distance in meters between the polygon and the ellipsoid surface.

参数

The distance in meters between the polygon's extruded face and the ellipsoid surface.

参数

The vertex attributes to be computed.

参数

The ellipsoid to be used as a reference.

参数

The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.

参数

Use the height of options.positions for each position instead of using options.height to determine the height.

参数

The type of path the outline must follow. Valid options are ArcType.GEODESIC and ArcType.RHUMB.

属性

packedLength

packedLength: number

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

方法

pack()

static pack(value: PolygonOutlineGeometry, array: number[], startingIndex?: number): number[]

Stores the provided instance into the provided array.

参数

value

PolygonOutlineGeometry

The value to pack.

array

number[]

The array to pack into.

startingIndex?

number

The index into the array at which to start packing the elements.

返回

number[]

The array that was packed into


unpack()

static unpack(array: number[], startingIndex?: number, result?: PolygonOutlineGeometry): PolygonOutlineGeometry

Retrieves an instance from a packed array.

参数

array

number[]

The packed array.

startingIndex?

number

The starting index of the element to be unpacked.

result?

PolygonOutlineGeometry

The object into which to store the result.

返回

PolygonOutlineGeometry

The modified result parameter or a new PolygonOutlineGeometry instance if one was not provided.


fromPositions()

static fromPositions(options: { positions: Cartesian3[]; height?: number; extrudedHeight?: number; ellipsoid?: Ellipsoid; granularity?: number; perPositionHeight?: boolean; arcType?: ArcType; }): PolygonOutlineGeometry

A description of a polygon outline from an array of positions.

参数

options

Object with the following properties:

positions

Cartesian3[]

An array of positions that defined the corner points of the polygon.

height?

number

The height of the polygon.

extrudedHeight?

number

The height of the polygon extrusion.

ellipsoid?

Ellipsoid

The ellipsoid to be used as a reference.

granularity?

number

The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.

perPositionHeight?

boolean

Use the height of options.positions for each position instead of using options.height to determine the height.

arcType?

ArcType

The type of path the outline must follow. Valid options are LinkType.GEODESIC and ArcType.RHUMB.

返回

PolygonOutlineGeometry

示例

ts
// create a polygon from points
const polygon = Cesium.PolygonOutlineGeometry.fromPositions({
  positions : Cesium.Cartesian3.fromDegreesArray([
    -72.0, 40.0,
    -70.0, 35.0,
    -75.0, 30.0,
    -70.0, 30.0,
    -68.0, 40.0
  ])
});
const geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygon);

createGeometry()

static createGeometry(polygonGeometry: PolygonOutlineGeometry): Geometry | undefined

Computes the geometric representation of a polygon outline, including its vertices, indices, and a bounding sphere.

参数

polygonGeometry

PolygonOutlineGeometry

A description of the polygon outline.

返回

Geometry | undefined

The computed vertices and indices.

构造函数

构造函数

new PolygonOutlineGeometry(options: { polygonHierarchy: PolygonHierarchy; height?: number; extrudedHeight?: number; vertexFormat?: VertexFormat; ellipsoid?: Ellipsoid; granularity?: number; perPositionHeight?: boolean; arcType?: ArcType; }): PolygonOutlineGeometry

参数

options
polygonHierarchy

PolygonHierarchy

height?

number

extrudedHeight?

number

vertexFormat?

VertexFormat

ellipsoid?

Ellipsoid

granularity?

number

perPositionHeight?

boolean

arcType?

ArcType

返回

PolygonOutlineGeometry

KBE3D @3.0.0 Copyright © 2024-present KBE3D