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()。