new Cesium.GeometryInstance(options)
几何图形实例允许一个
Geometry
对象位于几个不同的位置和独特的(uniquely)颜色。
例如,一个BoxGeometry
可以实例化多次,每次都使用不同的modelMatrix
来改变它的位置、旋转和比例。
Name | Type | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
对象,具有以下属性:
|
示例:
// 为一个box创建几何图形,以及引用它的两个实例。
// 一个实例将盒子放置在底部,且颜色设置为浅绿色。
// 另一个实例将盒子放置在顶部,并将颜色设置为白色。
var geometry = Cesium.BoxGeometry.fromDimensions({
vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL,
dimensions : new Cesium.Cartesian3(1000000.0, 1000000.0, 500000.0)
});
var instanceBottom = new Cesium.GeometryInstance({
geometry : geometry,
modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 1000000.0), new Cesium.Matrix4()),
attributes : {
color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
},
id : 'bottom'
});
var instanceTop = new Cesium.GeometryInstance({
geometry : geometry,
modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 3000000.0), new Cesium.Matrix4()),
attributes : {
color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
},
id : 'top'
});
参考:
成员变量
attributes : Object
每个实例的属性,如
ColorGeometryInstanceAttribute
或ShowGeometryInstanceAttribute
。
Geometry
属性随顶点而变化;这些属性对于整个实例是恒定的。
-
Default Value:
undefined
geometry : Geometry
要实例化的几何图形。
-
Default Value:
undefined
id : Object
在选择实例或用于获取/设置每个实例的属性时返回用户定义的对象。
-
Default Value:
undefined
参考:
modelMatrix : Matrix4
从模型坐标到世界坐标的4x4变换矩阵。
当这是单位矩阵时,几何图形是在世界坐标中绘制的,即:地球的WGS84坐标。
本地参考系可以通过提供一个不同的转换矩阵来使用,比如
Transforms.eastNorthUpToFixedFrame
返回的转换矩阵。
-
Default Value:
Matrix4.IDENTITY