通过调用
在 3D 场景中定位的图形点,使用 PointPrimitiveCollection#add 来创建一个点并设置其初始属性。请勿直接调用构造函数。
PointPrimitiveCollection 创建和渲染。
Performance:
读取一个属性,例如 PointPrimitive#show,为常量时间。
赋值给属性也是常量时间,但会在调用 PointPrimitiveCollection#update 时导致
CPU 到 GPU 的流量。每个 pointPrimitive 的流量与更新的属性数量无关。
如果集合中的大多数 pointPrimitives 需要更新,使用 PointPrimitiveCollection#removeAll 清空集合
并添加新的 pointPrimitives 可能会更高效,而不是逐个修改每个点。
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:
// Example 1. Assign yellow.
p.color = Cesium.Color.YELLOW;
// Example 2. Make a pointPrimitive 50% translucent.
p.color = new Cesium.Color(1.0, 1.0, 1.0, 0.5);
获取或设置从相机起禁用深度测试的距离,例如,防止与地形裁剪。
设置为零时,始终应用深度测试。设置为 Number.POSITIVE_INFINITY 时,深度测试将永远不应用。
-
Default Value:
0.0
distanceDisplayCondition : DistanceDisplayCondition
获取或设置条件,指定在距离相机多远时显示该点。
-
Default Value:
undefined
获取或设置在点被选取时返回的用户定义值。
outlineColor : Color
获取或设置点的轮廓颜色。
获取或设置轮廓宽度(以像素为单位)。此宽度会加到 pixelSize 上,
增加点的总大小。
获取或设置点的内部大小(以像素为单位)。
获取或设置此点的笛卡尔位置。
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 Cesium.NearFarScalar(1.5e2, 15, 8.0e6, 0.0);
// Example 2.
// disable scaling by distance
p.scaleByDistance = undefined;
确定该点是否可见。使用此属性来隐藏或显示点,而不是移除点并重新添加到集合中。
splitDirection : SplitDirection
要应用于该点的
SplitDirection。
-
Default Value:
SplitDirection.NONE
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 Cesium.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 | optional 存储结果的对象。 |
Returns:
点的屏幕空间位置。
Throws:
-
DeveloperError : PointPrimitive 必须在集合中。
Example:
console.log(p.computeScreenSpacePosition(scene).toString());
确定该点是否等于另一个点。如果所有属性
相等,则点是相等的。不同集合中的点也可以相等。
| Name | Type | Description |
|---|---|---|
other |
PointPrimitive | 要比较相等性的点。 |
Returns:
如果点相等则返回
true;否则返回 false。
