定位在三维场景中的图形点,使用
new PointPrimitive()
PointPrimitiveCollection
创建和渲染。创建点并通过调用PointPrimitiveCollection#add
设置其初始属性。
Throws
-
DeveloperError : scaleByDistance.far必须大于scaleByDistance.near
-
DeveloperError : translucencybydistance.far必须大于translucencybydistance.near。
-
DeveloperError : 距离displayCondition.far必须大于距离displayCondition.near
Members
color : Color
获取或设置点的内部颜色。红色、绿色、蓝色和字母值由
value
sred
、green
、blue
和alpha
属性表示,如示例1所示。这些成分的范围从0.0
(无强度)到1.0
(全强度)。
Examples:
// Example 1. Assign yellow.
p.color = bmgl.Color.YELLOW;
// Example 2. Make a pointPrimitive 50% translucent.
p.color = new bmgl.Color(1.0, 1.0, 1.0, 0.5);
disableDepthTestDistance : Number
获取或设置与要禁用深度测试的照相机之间的距离,例如,防止对地形进行剪切。当设置为零时,始终应用深度测试。当设置为数字正无穷大时,深度测试永远不会应用。
-
Default Value:
0.0
distanceDisplayCondition : DistanceDisplayCondition
获取或设置条件,该条件指定此点将显示在距相机的距离处。
-
Default Value:
undefined
id : *
获取或设置拾取点时返回的用户定义值。
outlineColor : Color
获取或设置点的轮廓颜色。
outlineWidth : Number
获取或设置轮廓宽度(像素)。这个宽度增加了像素大小,增加了点的总大小。
pixelSize : Number
获取或设置点的内部大小(像素)。
position : Cartesian3
获取或设置此点的笛卡尔位置。
scaleByDistance : NearFarScalar
获取或设置基于点与相机的距离的点的近和远缩放属性。点的比例将在
NearFarScalar#nearValue
和NearFarScalar#farValue
之间插入,而相机距离在指定NearFarScalar#near
和NearFarScalar#far
的上下限内。在这些范围之外,点的比例仍保持固定到最近的界限。该比例将像素大小和大纲宽度相乘,以影响点的总大小。如果未定义,将禁用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 bmgl.NearFarScalar(1.5e2, 15, 8.0e6, 0.0);
// Example 2.
// disable scaling by distance
p.scaleByDistance = undefined;
show : Boolean
确定是否显示此点。使用此选项可隐藏或显示点,而不是将其删除并重新添加到集合中。
translucencyByDistance : NearFarScalar
获取或设置基于点与相机的距离的点的近半透明和远半透明属性。点的半透明将在
NearFarScalar#nearValue
和NearFarScalar#farValue
之间插入,而相机距离在指定NearFarScalar#near
和NearFarScalar#far
的上下限内。在这些范围之外,该点的半透明性保持固定到最近的边界。如果未定义,半透明Y距离将被禁用。
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 bmgl.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
从上到下增加。
Parameters:
Throws
-
DeveloperError : PointPrimitive必须在集合中。
确定此点是否等于另一点。如果点的所有属性都相等,则点是相等的。不同集合中的点可以相等。