GroundPolylinePrimitive 表示覆盖在地形或
Scene
中的 3D 瓦片上的折线。
仅与包含
GroundPolylineGeometry
的 GeometryInstances 一起使用。
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
具有以下属性的
可选
对象:
|
Example:
// 1. Draw a polyline on terrain with a basic color material
const instance = new Cesium.GeometryInstance({
geometry : new Cesium.GroundPolylineGeometry({
positions : Cesium.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 Cesium.GroundPolylinePrimitive({
geometryInstances : instance,
appearance : new Cesium.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.
const instance2 = new Cesium.GeometryInstance({
geometry : new Cesium.GroundPolylineGeometry({
positions : Cesium.Cartesian3.fromDegreesArray([
-112.1340164450331, 36.05494287836128,
-112.08821010582645, 36.097804071380715,
-112.13296079730024, 36.168769146801104
]),
loop : true,
width : 4.0
}),
attributes : {
color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString('green').withAlpha(0.7)),
distanceDisplayCondition : new Cesium.DistanceDisplayConditionGeometryInstanceAttribute(1000, 30000)
},
id : 'object returned when this instance is picked and to get/set per-instance attributes'
});
scene.groundPrimitives.add(new Cesium.GroundPolylinePrimitive({
geometryInstances : instance2,
appearance : new Cesium.PolylineColorAppearance()
}));
Members
-
Default Value:
true
appearance : Appearance
用于着色此图元的
Appearance
。每个几何实例都以相同的外观着色。一些外观,如
PolylineColorAppearance
允许为每个实例赋予唯一的属性。
-
Default Value:
undefined
确定是否将在 Web Worker 上创建和批处理几何实例。
-
Default Value:
true
classificationType : ClassificationType
确定是对地形、3D 瓷砖还是两者都进行分类。
-
Default Value:
ClassificationType.BOTH
该属性仅用于调试;它不是用于生产用途,也不是优化的。
为基元中的每个绘制命令绘制边界球体。
-
Default Value:
false
该属性仅用于调试;它不是用于生产用途,也不是优化的。
如果为 true,则为图元中的每个几何体绘制阴影体积。
-
Default Value:
false
readonly geometryInstances : Array| GeometryInstance
使用此图元渲染的几何实例。如果在构造图元时
options.releaseGeometryInstances
为
true
,则这可能是
undefined
的。
在渲染图元后更改此属性无效。
-
Default Value:
undefined
确定几何顶点属性是否交错,这可以稍微提高渲染性能。
-
Default Value:
false
确定图元是否完整并准备好渲染。如果此属性为 true,则将在下次调用
GroundPolylinePrimitive#update
时呈现图元。
readonly readyPromise : Promise.< GroundPolylinePrimitive >
获取当原语准备好呈现时解决的承诺。
当为
true
时,图元不会保留对输入
geometryInstances
的引用以节省内存。
-
Default Value:
true
确定是否将显示图元。这会影响图元中的所有几何实例。
-
Default Value:
true
Methods
初始化最小和最大地形高度。只有在同步创建 GroundPolylinePrimitive 时才需要调用它。
Returns:
加载地形高度后将解决的承诺。
检查给定场景是否支持 GroundPolylinePrimitives。 GroundPolylinePrimitives 需要支持 WEBGL_depth_texture 扩展。
Name | Type | Description |
---|---|---|
scene
|
Scene | 当前场景。 |
Returns:
当前场景是否支持 GroundPolylinePrimitives。
销毁此对象持有的 WebGL 资源。销毁一个对象允许确定性地释放 WebGL 资源,而不是依赖垃圾收集器来销毁这个对象。
一旦一个对象被销毁,它就不应该被使用;调用
isDestroyed
以外的任何函数都将导致
DeveloperError
异常。因此,如示例中所做的那样,将返回值 (
undefined
) 分配给对象。
Throws:
-
DeveloperError : 该对象被销毁,即调用了destroy()。
Example:
e = e && e.destroy();
See:
返回
GeometryInstance
的可修改的每实例属性。
Name | Type | Description |
---|---|---|
id
|
* |
GeometryInstance
的 ID。
|
Returns:
属性格式的类型化数组,如果没有具有 id 的实例,则为未定义。
Throws:
-
DeveloperError :必须在调用 getGeometryInstanceAttributes 之前调用 update。
Example:
const attributes = primitive.getGeometryInstanceAttributes('an id');
attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true);
如果此对象被销毁,则返回 true;否则为假。
如果这个对象被破坏了,它就不应该被使用;调用
isDestroyed
以外的任何函数都将导致
DeveloperError
异常。
Returns:
如果此对象被销毁,则为
true
;否则,
false
。
Throws:
-
DeveloperError : 对于同步的 GroundPolylinePrimitives,您必须调用 GroundPolylinePrimitives.initializeTerrainHeights() 并等待返回的 Promise 解决。
-
DeveloperError :所有几何实例必须具有颜色属性才能将 PolylineColorAppearance 与 GroundPolylinePrimitive 一起使用。