几何实例化允许一个
Geometry
对象在多个对象中的位置不同的位置和独特的颜色。例如,一个
BoxGeometry
可以被实例化多次,每次使用不同的
modelMatrix
进行更改它的位置,旋转和比例。
Name | Type | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
具有以下属性的对象:
|
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 = LSGlobe.BoxGeometry.fromDimensions({
vertexFormat : LSGlobe.VertexFormat.POSITION_AND_NORMAL,
dimensions : new LSGlobe.Cartesian3(1000000.0, 1000000.0, 500000.0)
});
var instanceBottom = new LSGlobe.GeometryInstance({
geometry : geometry,
modelMatrix : LSGlobe.Matrix4.multiplyByTranslation(LSGlobe.Transforms.eastNorthUpToFixedFrame(
LSGlobe.Cartesian3.fromDegrees(-75.59777, 40.03883)), new LSGlobe.Cartesian3(0.0, 0.0, 1000000.0), new LSGlobe.Matrix4()),
attributes : {
color : LSGlobe.ColorGeometryInstanceAttribute.fromColor(LSGlobe.Color.AQUA)
},
id : 'bottom'
});
var instanceTop = new LSGlobe.GeometryInstance({
geometry : geometry,
modelMatrix : LSGlobe.Matrix4.multiplyByTranslation(LSGlobe.Transforms.eastNorthUpToFixedFrame(
LSGlobe.Cartesian3.fromDegrees(-75.59777, 40.03883)), new LSGlobe.Cartesian3(0.0, 0.0, 3000000.0), new LSGlobe.Matrix4()),
attributes : {
color : LSGlobe.ColorGeometryInstanceAttribute.fromColor(LSGlobe.Color.AQUA)
},
id : 'top'
});
See:
Members
每个实例的属性,例如
ColorGeometryInstanceAttribute
或
ShowGeometryInstanceAttribute
。
Geometry
属性随顶点而变化;这些属性对于整个实例是恒定的。
-
Default Value:
undefined
geometry : Geometry
实例化的几何体。
-
Default Value:
undefined
拾取实例或用于获取/设置每个实例属性时返回的用户定义对象。
-
Default Value:
undefined
See:
modelMatrix : Matrix4
4x4转换矩阵,可将几何图形从模型转换为世界坐标。如果这是单位矩阵,则以世界坐标(即地球的WGS84坐标)绘制几何。可以通过提供不同的转换矩阵(如返回的矩阵)来使用局部参考系通过
Transforms.eastNorthUpToFixedFrame
。
-
Default Value:
Matrix4.IDENTITY