通过点调用
3D 场景中渲染的图形点,由 PointPrimitiveCollection#add 创建点并设置其初始属性,请勿直接调用构造函数。
PointPrimitiveCollection 创建并渲染。
Performance:
读取属性(例如 PointPrimitive#show)的时间复杂度为常数。赋值属性同样为常数时间,但在调用 PointPrimitiveCollection#update 时会产生 CPU 到 GPU 的流量。无论更新多少属性,每个点的流量相同。如果集合中大多数点需要更新,使用 PointPrimitiveCollection#removeAll 清空集合并添加新点,而非逐个修改,可能更高效。
Throws:
-
DeveloperError : scaleByDistance.far 必须大于 scaleByDistance.near
-
DeveloperError : translucencyByDistance.far 必须大于 translucencyByDistance.near
-
DeveloperError : distanceDisplayCondition.far 必须大于 distanceDisplayCondition.near
Members
获取或设置点的内部颜色。
红、绿、蓝和 alpha 值由
value 的 red、green、blue 和 alpha 属性表示,如示例 1 所示。这些分量范围从 0.0(无强度)到 1.0(全强度)。
Examples:
// 示例 1. 设置为黄色。
p.color = Cesium.Color.YELLOW;
// 示例 2. 使点 50% 透明。
p.color = new Cesium.Color(1.0, 1.0, 1.0, 0.5);
获取或设置禁用深度测试的相机距离,例如用于防止与地形裁剪。当设置为 0 时,始终应用深度测试;当设置为 Number.POSITIVE_INFINITY 时,从不应用深度测试。
-
Default Value:
0.0
distanceDisplayCondition : DistanceDisplayCondition
获取或设置指定点显示距离的条件,即距离相机多远时显示此点。
-
Default Value:
undefined
获取或设置点被拾取时返回的用户定义值。
outlineColor : Color
获取或设置点的轮廓颜色。
获取或设置点的轮廓宽度(像素)。此宽度会加到 pixelSize 上,增加点的总大小。
获取或设置点的内部像素大小。
获取或设置此点的笛卡尔坐标位置。
scaleByDistance : NearFarScalar
获取或设置基于点到相机距离远近缩放属性。
当相机距离在指定的
NearFarScalar#near 和 NearFarScalar#far 范围内时,点的缩放将在 NearFarScalar#nearValue 和 NearFarScalar#farValue 之间插值。
超出这些范围时,点的缩放将保持在最近的边界值。此缩放值乘以 pixelSize 和 outlineWidth 以影响点的总大小。如果未定义,则禁用 scaleByDistance。
Examples:
// 示例 1.
// 设置点的 scaleByDistance,当相机距离点 1500 米时缩放到 15,当距离接近 8.0e6 米时消失。
p.scaleByDistance = new Cesium.NearFarScalar(1.5e2, 15, 8.0e6, 0.0);
// 示例 2.
// 禁用距离缩放
p.scaleByDistance = undefined;
确定是否显示此点。可用于隐藏或显示点,而无需从集合中移除再重新添加。
splitDirection : SplitDirection
应用于此点的
SplitDirection。
-
Default Value:
SplitDirection.NONE
translucencyByDistance : NearFarScalar
获取或设置基于点到相机距离远近的透明度属性。
当相机距离在指定的
NearFarScalar#near 和 NearFarScalar#far 范围内时,点的透明度将在 NearFarScalar#nearValue 和 NearFarScalar#farValue 之间插值。
超出这些范围时,点的透明度将保持在最近的边界值。如果未定义,则禁用 translucencyByDistance。
Examples:
// 示例 1.
// 设置点的透明度,当相机距离点 1500 米时为 1.0,当距离接近 8.0e6 米时消失。
p.translucencyByDistance = new Cesium.NearFarScalar(1.5e2, 1.0, 8.0e6, 0.0);
// 示例 2.
// 禁用距离透明度
p.translucencyByDistance = undefined;
Methods
computeScreenSpacePosition(scene, result) → Cartesian2
计算点原点的屏幕空间位置。
屏幕空间原点为画布的左上角;
x 从左向右增加,y 从上向下增加。
| Name | Type | Description |
|---|---|---|
scene |
Scene | 场景。 |
result |
Cartesian2 | optional 用于存储结果的对象。 |
Returns:
点的屏幕空间位置。
Throws:
-
DeveloperError : 点必须在集合中。
Example:
console.log(p.computeScreenSpacePosition(scene).toString());
确定此点是否与另一个点相等。当所有属性都相等时,两个点相等。不同集合中的点也可以相等。
| Name | Type | Description |
|---|---|---|
other |
PointPrimitive | optional 用于比较相等的点。 |
Returns:
如果点相等则返回
true,否则返回 false。
