定位在三維場景中的圖形點,使用
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必須在集合中。
確定此點是否等于另一點。如果點的所有屬性都相等,則點是相等的。不同集合中的點可以相等。