new Cesium.GroundPolylinePrimitive(options)
GroundPolylinePrimitive 表示在场景中贴地地形或者3DTiles上的折线。
仅用于包含
GroundPolylineGeometry
的GeometryInstances。
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
optional
具有下列属性的对象:
|
示例:
// 1.用基本颜色材质在地形上画一条折线
var 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. 用每个实例的颜色和距离显示条件在地形上绘制环形折线。
// 地形折线的距离显示条件是基于近似的地形高度,而不是真实的地形高度。
var instance = 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 : instance,
appearance : new Cesium.PolylineColorAppearance()
}));
成员变量
-
Default Value:
true
appearance : Appearance
用于给图元着色的
Appearance
。每个几何实例都以相同的外观着色, 有些外观,如 PolylineColorAppearance
允许赋予每个实例唯一的值。
-
Default Value:
undefined
确定图元是异步创建(true)还是阻塞直到准备就绪。
-
Default Value:
true
classificationType : ClassificationType
确定是贴到地形上,还是贴到3DTiles上。
-
Default Value:
ClassificationType.BOTH
debugShowBoundingVolume : Boolean
此属性仅用于调试;它既不用于生产,也不是最优的。
是否显示图元的包围球。
-
Default Value:
false
此属性仅用于调试;它既不用于生产,也不是最优的。
如果为true,则为图元中的每个几何图形绘制阴影体。
-
Default Value:
false
这个图元渲染的几何实例,它有可能为undefined(当构造图元时,如果
options.releaseGeometryInstances
属性为true)。
在图元被渲染后,更改此属性无效。
-
Default Value:
undefined
确定几何顶点属性是否交错,这可以略微提高渲染性能。
-
Default Value:
false
确定图元是否完成并准备渲染。如果为true,将在下一次调用
GroundPolylinePrimitive#update
时渲染图元。
获取一个Promise,该Promise在准备好渲染图元时解析。
当
true
时,该图元不保留对输入geometryInstances
的引用,以节省内存。
-
Default Value:
true
show : Boolean
是否显示此图元,这将影响图元中的所有几何实例。
-
Default Value:
true
内置方法
staticCesium.GroundPolylinePrimitive.initializeTerrainHeights() → Promise
初始化最小和最大地形高度。只有在同步创建GroundPolylinePrimitive时才需要调用它。
返回值:
一个promise,一旦地形高度已加载将解析。
staticCesium.GroundPolylinePrimitive.isSupported(scene) → Boolean
检查给定的场景Scene是否支持GroundPolylinePrimitives。
GroundPolylinePrimitives需要支持WEBGL_depth_texture扩展。
Name | Type | Description |
---|---|---|
scene |
Scene | 当前的场景。 |
返回值:
当前场景是否支持GroundPolylinePrimitives。
destroy()
销毁此对象持有的WebGL资源。
一旦对象被销毁,它将不能在使用;调用除
一旦对象被销毁,它将不能在使用;调用除
isDestroyed
之外的任何函数都会导致DeveloperError
异常。
因此,将返回值(undefined
)赋给对象,如示例所示。
异常情况:
-
DeveloperError : 对象已经被销毁。
示例:
e = e && e.destroy();
参考:
返回 GeometryInstance 的每个实例的可修改属性。
Name | Type | Description |
---|---|---|
id |
* |
GeometryInstance 的id。
|
返回值:
以属性格式表示的类型化数组。
异常情况:
-
DeveloperError : 必须在调用getGeometryInstanceAttributes之前调用update。
示例:
var attributes = primitive.getGeometryInstanceAttributes('an id');
attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true);
返回值:
false
update()
异常情况:
-
DeveloperError : 对于同步的GroundPolylinePrimitives,您必须调用GroundPolylinePrimitives.initializeTerrainHeights()并等待返回的promise解析。
-
DeveloperError : 所有的几何实例必须有颜色属性才能使用PolylineColorAppearance和GroundPolylinePrimitive。