创建在3D场景中的图形点并使用
PointPrimitiveCollection
进行渲染。创建一个点及其初始通过调用
PointPrimitiveCollection#add
来设置属性。
Performance:
读取属性(例如
PointPrimitive#show
)是固定时间。分配给属性是固定时间,但会导致调用
PointPrimitiveCollection#update
时,CPU到GPU的流量。每点原始流量为相同,无论更新了多少个属性。如果集合中的大多数pointPrimitives需要更新后,使用
PointPrimitiveCollection#removeAll
清除集合可能更有效。并添加新的pointPrimitives而不是对其进行修改。
Throws:
-
DeveloperError :scaleByDistance.far必须大于scaleByDistance.near
-
DeveloperError :translucencyByDistance.far必须大于translucencyByDistance.near
-
DeveloperError :distanceDisplayCondition.far必须大于distanceDisplayCondition.near
Members
color : Color
获取或设置点的内部颜色。红色,绿色,蓝色和alpha值由
value
的
red
,
green
,
blue
和
alpha
属性,如示例1所示。这些组件的范围为
0.0
(无强度)到
1.0
(全强度)。
Examples:
// Example 1. Assign yellow.
p.color = LSGlobe.Color.YELLOW;
// Example 2. Make a pointPrimitive 50% translucent.
p.color = new LSGlobe.Color(1.0, 1.0, 1.0, 0.5);
获取或设置与相机的距离,在深度处禁用深度测试,例如,以防止剪切地形。设置为零时,将始终应用深度测试。设置为Number.POSITIVE_INFINITY时,永远不会应用深度测试。
-
Default Value:
0.0
distanceDisplayCondition : DistanceDisplayCondition
获取或设置条件,该条件指定将在距相机的距离显示此点。
-
Default Value:
undefined
获取或设置拾取点时返回的用户定义值。
outlineColor : Color
获取或设置点的轮廓颜色。
获取或设置轮廓宽度(以像素为单位)。该宽度增加了pixelSize,增加点的总大小。
获取或设置点的内部大小(以像素为单位)。
position : Cartesian3
获取或设置此点的笛卡尔位置。
scaleByDistance : NearFarScalar
根据该点到相机的距离,获取或设置该点的近和远缩放属性。点的比例将在
NearFarScalar#nearValue
和
NearFarScalar#farValue
,而摄像头距离在上下限之内指定的
NearFarScalar#near
和
NearFarScalar#far 代码>
。在这些范围之外,该点的比例尺仍保持在最近的范围内。这个规模将pixelSize和outlineWidth相乘以影响点的总大小。如果未定义,scaleByDistance将被禁用。
Examples:
// Example 1.
// Set a pointPrimitive's scaleByDistance to scale to 15 when the
// camera is 1500 meters from the pointPrimitive and disappear as
// the camera distance approaches 8.0e6 meters.
p.scaleByDistance = new LSGlobe.NearFarScalar(1.5e2, 15, 8.0e6, 0.0);
// Example 2.
// disable scaling by distance
p.scaleByDistance = undefined;
确定是否将显示此点。用它来隐藏或显示一个点将其删除并将其重新添加到集合中。
translucencyByDistance : NearFarScalar
根据该点到相机的距离来获取或设置该点的近和远半透明属性。点的半透明性将在
NearFarScalar#nearValue
和
NearFarScalar#farValue
,而摄像头距离在上下限之内指定的
NearFarScalar#near
和
NearFarScalar#far 代码>
。在这些范围之外,该点的半透明性仍保持在最近的范围内。如果未定义,translucencyByDistance将被禁用。
Examples:
// Example 1.
// Set a point's translucency to 1.0 when the
// camera is 1500 meters from the point and disappear as
// the camera distance approaches 8.0e6 meters.
p.translucencyByDistance = new LSGlobe.NearFarScalar(1.5e2, 1.0, 8.0e6, 0.0);
// Example 2.
// disable translucency by distance
p.translucencyByDistance = undefined;
Methods
computeScreenSpacePosition (scene, result ) → Cartesian2
计算点原点的屏幕空间位置。屏幕空间原点是画布的左上角;
x
从从左到右,
y
从上到下增加。
Name | Type | Description |
---|---|---|
scene
|
Scene | 现场。 |
result
|
Cartesian2 | 可选 将结果存储到的对象。 |
Returns:
点的屏幕空间位置。
Throws:
-
DeveloperError :PointPrimitive必须在集合中。
Example:
console.log(p.computeScreenSpacePosition(scene).toString());
确定此点是否等于另一个点。如果点的所有属性均相等相等。不同集合中的点可以相等。
Name | Type | Description |
---|---|---|
other
|
PointPrimitive | 比较平等的点。 |
Returns:
真正
如果分数相等;除此以外,
假
。