GroundPolylinePrimitive

new LSGlobe.GroundPolylinePrimitive ( options )

GroundPolylinePrimitive表示在 Scene 中的地形或3D Tiles上叠加的折线。

仅用于包含 GroundPolylineGeometry 的GeometryInstances。

Name Type Description
options Object optional Object with the following properties: 的GeometryInstance
Name Type Default Description
geometryInstances Array | GeometryInstance 可选 包含GroundPolylineGeometry
appearance Appearance 可选 用于渲染折线的外观。默认为 PolylineMaterialAppearance 上的白色 Material >。
show Boolean true 可选 确定是否将显示此原语。
interleave Boolean false 可选 true 时,将交错几何图形顶点属性,这可以稍微改善渲染性能,但会增加加载时间。
releaseGeometryInstances Boolean true 可选 如果为 true ,则该原语不保留对输入的 geometryInstances 的引用以节省内存。
allowPicking Boolean true 可选 如果为 true ,则只能使用 Scene#pick 来拾取每个几何实例。如果 false ,则保存GPU内存。
asynchronous Boolean true 可选 确定基元是异步创建还是阻塞直到准备就绪。如果为false,则必须首先调用initializeTerrainHeights()。
classificationType ClassificationType ClassificationType.BOTH 可选 确定是对地形,3D拼贴还是对两者进行分类。
debugShowBoundingVolume Boolean false 可选 仅用于调试。确定是否显示该图元的命令的边界球。
debugShowShadowVolume Boolean false 可选 仅用于调试。确定是否绘制图元中每个几何的阴影体积。创建时必须为 true 才能生效。
Example:
// 1. Draw a polyline on terrain with a basic color material

var instance = new LSGlobe.GeometryInstance({
  geometry : new LSGlobe.GroundPolylineGeometry({
     positions : LSGlobe.Cartesian3.fromDegreesArray([
         -112.1340164450331, 36.05494287836128,
         -112.08821010582645, 36.097804071380715
     ]),
     width : 4.0
  }),
  id : 'object returned when this instance is picked and to get/set per-instance attributes'
});

scene.groundPrimitives.add(new LSGlobe.GroundPolylinePrimitive({
  geometryInstances : instance,
  appearance : new LSGlobe.PolylineMaterialAppearance()
}));

// 2. Draw a looped polyline on terrain with per-instance color and a distance display condition.
// Distance display conditions for polylines on terrain are based on an approximate terrain height
// instead of true terrain height.

var instance = new LSGlobe.GeometryInstance({
  geometry : new LSGlobe.GroundPolylineGeometry({
     positions : LSGlobe.Cartesian3.fromDegreesArray([
         -112.1340164450331, 36.05494287836128,
         -112.08821010582645, 36.097804071380715,
         -112.13296079730024, 36.168769146801104
     ]),
     loop : true,
     width : 4.0
  }),
  attributes : {
     color : LSGlobe.ColorGeometryInstanceAttribute.fromColor(LSGlobe.Color.fromCssColorString('green').withAlpha(0.7)),
     distanceDisplayCondition : new LSGlobe.DistanceDisplayConditionGeometryInstanceAttribute(1000, 30000)
  },
  id : 'object returned when this instance is picked and to get/set per-instance attributes'
});

scene.groundPrimitives.add(new LSGlobe.GroundPolylinePrimitive({
  geometryInstances : instance,
  appearance : new LSGlobe.PolylineColorAppearance()
}));

Members

readonly allowPicking : Boolean

如果为 true ,则只能使用 Scene#pick 来拾取每个几何实例。如果 false ,则保存GPU内存。
Default Value: true
外观 用于为该原语着色。每个几何实例以相同的外观着色。一些外观,例如 PolylineColorAppearance 允许给每个实例唯一属性。
Default Value: undefined

readonly asynchronous : Boolean

确定是否将在Web Worker上创建几何实例并进行批处理。
Default Value: true
确定是对地形,3D拼贴还是对两者进行分类。
Default Value: ClassificationType.BOTH

debugShowBoundingVolume : Boolean

此属性仅用于调试。它不是用于生产用途,也不是经过优化的。

为图元中的每个绘制命令绘制边界球。

Default Value: false

readonly debugShowShadowVolume : Boolean

此属性仅用于调试。它不是用于生产用途,也不是经过优化的。

如果为true,则为图元中的每个几何图形绘制阴影体积。

Default Value: false
用该图元渲染的几何实例。这可能如果 options.releaseGeometryInstances undefined 构造基元时为 true

渲染图元后更改此属性无效。

Default Value: undefined

readonly interleave : Boolean

确定是否交错几何图形顶点属性,这可以稍微改善渲染性能。
Default Value: false
确定图元是否完整并准备渲染。如果此属性是true,则下一次 GroundPolylinePrimitive#update 时将渲染图元。叫做。
获取一个承诺,该承诺在准备好渲染图元时解析。

readonly releaseGeometryInstances : Boolean

如果为 true ,则该原语不保留对输入的 geometryInstances 的引用以节省内存。
Default Value: true
确定是否显示图元。这会影响所有几何原语中的实例。
Default Value: true

Methods

static LSGlobe.GroundPolylinePrimitive.initializeTerrainHeights () Promise.<void>

初始化最小和最大地形高度。仅当您正在创建同步接地。
Returns:
一旦加载了地形高度,该承诺就会解决。

static LSGlobe.GroundPolylinePrimitive.isSupported (scene) Boolean

检查给定的场景是否支持GroundPolylinePrimitives。GroundPolylinePrimitives需要支持WEBGL_depth_texture扩展。
Name Type Description
scene Scene 当前场景。
Returns:
当前场景是否支持GroundPolylinePrimitives。
销毁此对象拥有的WebGL资源。销毁对象可以确定性释放WebGL资源,而不是依赖垃圾回收器破坏此对象。

一旦物体被破坏,就不应使用。调用除 isDestroyed 将导致 DeveloperError 异常。因此,如示例中所述,将返回值( undefined )分配给对象。

Throws:
Example:
e = e && e.destroy();
See:

getGeometryInstanceAttributes (id) Object

返回 GeometryInstance 的每个实例的可修改属性。
Name Type Description
id * GeometryInstance 的ID。
Returns:
以属性格式表示的类型化数组;如果没有带id的实例,则为undefined。
Throws:
  • DeveloperError :必须在调用getGeometryInstanceAttributes之前调用update。
Example:
var attributes = primitive.getGeometryInstanceAttributes('an id');
attributes.color = LSGlobe.ColorGeometryInstanceAttribute.toValue(LSGlobe.Color.AQUA);
attributes.show = LSGlobe.ShowGeometryInstanceAttribute.toValue(true);

isDestroyed () Boolean

如果此对象已销毁,则返回true;否则返回false。否则为假。

如果该对象被破坏,则不应使用。调用除 isDestroyed 将导致 DeveloperError 异常。

Returns:
真正 该物体是否被破坏;除此以外,
See:
Viewer CesiumWidget 渲染场景时调用至获取渲染该图元所需的绘制命令。

不要直接调用此函数。这只是为了列出渲染场景时可能传播的异常:

Throws:
  • DeveloperError :对于同步的GroundPolylinePrimitives,必须调用GroundPolylinePrimitives.initializeTerrainHeights()并等待返回的诺言解决。
  • DeveloperError :所有GeometryInstance都必须具有颜色属性,才能将PolylineColorAppearance与GroundPolylinePrimitive一起使用。