GroundPolylinePrimitive表示在
Scene
中的地形或3D Tiles上叠加的折线。
仅用于包含
GroundPolylineGeometry
的GeometryInstances。
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
optional
Object with the following properties:
|
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
-
Default Value:
true
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
为
undefined
构造基元时为
true
。
渲染图元后更改此属性无效。
-
Default Value:
undefined
确定是否交错几何图形顶点属性,这可以稍微改善渲染性能。
-
Default Value:
false
确定图元是否完整并准备渲染。如果此属性是true,则下一次
GroundPolylinePrimitive#update
时将渲染图元。叫做。
readonly readyPromise : Promise.< GroundPolylinePrimitive >
获取一个承诺,该承诺在准备好渲染图元时解析。
如果为
true
,则该原语不保留对输入的
geometryInstances
的引用以节省内存。
-
Default Value:
true
确定是否显示图元。这会影响所有几何原语中的实例。
-
Default Value:
true
Methods
初始化最小和最大地形高度。仅当您正在创建同步接地。
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的实例,则为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);
如果此对象已销毁,则返回true;否则返回false。否则为假。
如果该对象被破坏,则不应使用。调用除
isDestroyed
将导致
DeveloperError
异常。
Returns:
真正
该物体是否被破坏;除此以外,
假
。
Throws:
-
DeveloperError :对于同步的GroundPolylinePrimitives,必须调用GroundPolylinePrimitives.initializeTerrainHeights()并等待返回的诺言解决。
-
DeveloperError :所有GeometryInstance都必须具有颜色属性,才能将PolylineColorAppearance与GroundPolylinePrimitive一起使用。