GeometryInstance

几何体实例化允许一个Geometry对象在多个不同的位置,并且颜色独特。例如,一个BoxGeometry可以多次实例化,每个BoxGeometry具有不同的modelMatrix来更改其位置、旋转和比例。
new GeometryInstance(options)
Parameters:
options (Object)
Name Description
options.geometry
Geometry
要实例的几何体。
options.modelMatrix
Matrix4
default Matrix4.IDENTITY
将几何体从模型转换为世界坐标的模型矩阵。
options.id
Object
使用Scene#pick或使用Primitive#getGeometryInstanceAttributes获取/设置每个实例属性时要返回的用户定义对象。
options.attributes
Object
每个实例的属性,如下面示例中显示的show或color属性。
Example
// Create geometry for a box, and two instances that refer to it.
// One instance positions the box on the bottom and colored aqua.
// The other instance positions the box on the top and color white.
var geometry = bmgl.BoxGeometry.fromDimensions({
  vertexFormat : bmgl.VertexFormat.POSITION_AND_NORMAL,
  dimensions : new bmgl.Cartesian3(1000000.0, 1000000.0, 500000.0)
});
var instanceBottom = new bmgl.GeometryInstance({
  geometry : geometry,
  modelMatrix : bmgl.Matrix4.multiplyByTranslation(bmgl.Transforms.eastNorthUpToFixedFrame(
    bmgl.Cartesian3.fromDegrees(-75.59777, 40.03883)), new bmgl.Cartesian3(0.0, 0.0, 1000000.0), new bmgl.Matrix4()),
  attributes : {
    color : bmgl.ColorGeometryInstanceAttribute.fromColor(bmgl.Color.AQUA)
  },
  id : 'bottom'
});
var instanceTop = new bmgl.GeometryInstance({
  geometry : geometry,
  modelMatrix : bmgl.Matrix4.multiplyByTranslation(bmgl.Transforms.eastNorthUpToFixedFrame(
    bmgl.Cartesian3.fromDegrees(-75.59777, 40.03883)), new bmgl.Cartesian3(0.0, 0.0, 3000000.0), new bmgl.Matrix4()),
  attributes : {
    color : bmgl.ColorGeometryInstanceAttribute.fromColor(bmgl.Color.AQUA)
  },
  id : 'top'
});
See:

Members

attributes : Object

每个实例的属性,如ColorGeometryInstanceAttributeShowGeometryInstanceAttributeGeometry每个顶点的属性不同;这些属性对于整个实例都是常量。
Default Value: undefined

geometry : Geometry

正在实例化的几何体。
Default Value: undefined

id : Object

选择实例或使用实例获取/设置每个实例属性时返回的用户定义对象。
Default Value: undefined
See:

modelMatrix : Matrix4

将几何体从模型坐标转换为世界坐标的4x4转换矩阵。当这是单位矩阵时,几何图形以世界坐标绘制,即地球的wgs84坐标。本地参考帧可以通过提供不同的转换矩阵来使用,如Transforms.eastNorthUpToFixedFrame返回的转换矩阵。
Default Value: Matrix4.IDENTITY