CesiumJS中的BoxOutlineGeometry
(长方体轮廓几何体)是用于创建沿着长方体边框的顶点数组的几何体。它通常用于创建线框框架,以便在场景中突出显示某个对象的轮廓。
var geometry = new Cesium.BoxOutlineGeometry({
minimum : Cesium.Cartesian3.ZERO,
maximum : new Cesium.Cartesian3(width, height, depth)
});
options
: Object ,可选项对象,其成员如下:
minimum
: Cartesian3
类型,长方体的最小点,即在x、y、z轴上的最小坐标值。maximum
: Cartesian3
类型,长方体的最大点,即在x、y、z轴上的最大坐标值。另外,还可以使用以下可选参数:
vertexFormat
:VertexFormat
类型,指定几何体的顶点格式。var viewer = new Cesium.Viewer("cesiumContainer");
var geometry = new Cesium.BoxOutlineGeometry({
minimum : new Cesium.Cartesian3(-150000.0, -150000.0, -500000.0),
maximum : new Cesium.Cartesian3(150000.0, 150000.0, 0.0),
});
var instance = new Cesium.GeometryInstance({
geometry: geometry,
modelMatrix: Cesium.Matrix4.multiplyByTranslation(
Cesium.Transforms.eastNorthUpToFixedFrame(
Cesium.Cartesian3.fromDegrees(-122.1903, 46.1985)
),
new Cesium.Cartesian3(0.0, 0.0, 500000.0),
new Cesium.Matrix4()
),
attributes: {
color: Cesium.ColorGeometryInstanceAttribute.fromColor(
Cesium.Color.YELLOW
),
},
});
viewer.scene.primitives.add(
new Cesium.Primitive({
geometryInstances: instance,
appearance: new Cesium.PerInstanceColorAppearance(),
})
);
在以上示例中,我们首先创建了一个 BoxOutlineGeometry
对象,该对象描述了一个长方体,并指定了其最小和最大点位置。然后,我们创建了一个 GeometryInstance
实例,将 BoxOutlineGeometry
传入其中,并通过 attributes
指定了长方体的颜色为黄色。接着,我们将 GeometryInstance
传入场景中的 Primitive
对象中,并最终添加到了场景的渲染队列中,实现了长方体轮廓的画出。