new PointPrimitiveCollection(options)
Parameters:
options
(Object)
Name | Description |
---|---|
options.modelMatrix
Matrix4
default Matrix4.IDENTITY
|
將每個點從模型坐標轉換為世界坐標的4x4變換矩陣。 |
options.debugShowBoundingVolume
Boolean
default false
|
僅用于調試。確定是否顯示此基元的命令的邊界球。 |
options.blendOption
BlendOption
default BlendOption.OPAQUE_AND_TRANSLUCENT
|
點混合選項。默認值用于渲染不透明點和半透明點。但是,如果所有點都是完全不透明的或都是完全半透明的,則將該技術設置為blendoption.opaque或blendoption.transparent可以將性能提高2倍。 |
Example
// Create a pointPrimitive collection with two points
var points = scene.primitives.add(new bmgl.PointPrimitiveCollection());
points.add({
position : new bmgl.Cartesian3(1.0, 2.0, 3.0),
color : bmgl.Color.YELLOW
});
points.add({
position : new bmgl.Cartesian3(4.0, 5.0, 6.0),
color : bmgl.Color.CYAN
});
Members
blendOption : BlendOption
點混合選項。默認值用于渲染不透明點和半透明點。但是,如果所有點都是完全不透明的或都是完全半透明的,則將該技術設置為blendoption.opaque或blendoption.transparent可以將性能提高2倍。
-
Default Value:
BlendOption.OPAQUE_AND_TRANSLUCENT
debugShowBoundingVolume : Boolean
此屬性僅用于調試;它既不用于生產,也不進行優化。
為基本體中的每個draw命令繪制邊界球體。
-
Default Value:
false
length : Number
返回此集合中的點數。這通常與
PointPrimitiveCollection#get
一起用于迭代集合中的所有點。
modelMatrix : Matrix4
4x4變換矩陣,將集合中的每個點從模型坐標轉換為世界坐標。當這是單位矩陣時,點基元以世界坐標繪制,即地球的wgs84坐標。本地參考幀可以通過提供不同的轉換矩陣來使用,如
Transforms.eastNorthUpToFixedFrame
返回的轉換矩陣。
-
Default Value:
Matrix4.IDENTITY
See:
Example:
var center = bmgl.Cartesian3.fromDegrees(-75.59777, 40.03883);
pointPrimitives.modelMatrix = bmgl.Transforms.eastNorthUpToFixedFrame(center);
pointPrimitives.add({
color : bmgl.Color.ORANGE,
position : new bmgl.Cartesian3(0.0, 0.0, 0.0) // center
});
pointPrimitives.add({
color : bmgl.Color.YELLOW,
position : new bmgl.Cartesian3(1000000.0, 0.0, 0.0) // east
});
pointPrimitives.add({
color : bmgl.Color.GREEN,
position : new bmgl.Cartesian3(0.0, 1000000.0, 0.0) // north
});
pointPrimitives.add({
color : bmgl.Color.CYAN,
position : new bmgl.Cartesian3(0.0, 0.0, 1000000.0) // up
});
Methods
add(options) → {PointPrimitive}
創建具有指定初始屬性的點并將其添加到集合中。將返回添加的點,以便以后可以修改或從集合中刪除它。
Parameters:
options
(Object)
描述點屬性的模板,如示例1所示。
Examples
// Example 1: Add a point, specifying all the default values.
var p = pointPrimitives.add({
show : true,
position : bmgl.Cartesian3.ZERO,
pixelSize : 10.0,
color : bmgl.Color.WHITE,
outlineColor : bmgl.Color.TRANSPARENT,
outlineWidth : 0.0,
id : undefined
});
// Example 2: Specify only the point's cartographic position.
var p = pointPrimitives.add({
position : bmgl.Cartesian3.fromDegrees(longitude, latitude, height)
});
Throws
-
DeveloperError : 此對象已被銷毀,即調用destroy()。
檢查此集合是否包含給定點。
Parameters:
銷毀此對象持有的WebGL資源。銷毀對象允許確定地釋放WebGL資源,而不是依賴垃圾收集器來銷毀此對象。
一旦對象被破壞,就不應使用它;調用除
一旦對象被破壞,就不應使用它;調用除
isDestroyed
以外的任何函數都將導致DeveloperError
異常。因此,將返回值(undefined
)賦給對象,如示例中所述。
Throws
-
DeveloperError : 此對象已被銷毀,即調用destroy()。
返回集合中指定索引處的點。指數以零為基礎,隨著點數的增加而增加。刪除一個點后,所有點都向左移動,更改其索引。此函數通常與
PointPrimitiveCollection#length
一起用于迭代集合中的所有點。
Parameters:
index
(Number)
點的從零開始的索引。
Example
// Toggle the show property of every point in the collection
var len = pointPrimitives.length;
for (var i = 0; i < len; ++i) {
var p = pointPrimitives.get(i);
p.show = !p.show;
}
Throws
-
DeveloperError : 此對象已被銷毀,即調用destroy()。
從集合中刪除一個點。
Parameters:
Throws
-
DeveloperError : 此對象已被銷毀,即調用destroy()。
從集合中移除所有點。
Throws
-
DeveloperError : 此對象已被銷毀,即調用destroy()。