Cesium ClassificationPrimitive
Cesium 的 ClassificationPrimitive 是一个用于在三维场景中分类地表或其他几何体的工具。这种分类通常用于在现有的地表或模型上应用覆盖效果,比如标记特定区域、着色或其他视觉效果,用于突出显示某些特征或为特定应用添加信息层。
- 地表分类:
- ClassificationPrimitive 主要用于对地表进行分类处理,可以为地形或模型表面覆盖一层指定的材质或颜色,通常用于高亮、区分不同区域的用途。
- 与现有几何体的交互:
- 它能够与地形、3D Tiles 或其他几何图形结合使用,提供了一种方法来在这些图形上绘制或标记数据,而不修改原始数据。
- 高度自定义的视觉效果:
- 支持自定义的材质和着色方式,可以通过指定的Appearance对象来定义如何渲染覆盖层,包括但不限于使用 GLSL 着色器来创建复杂的视觉效果。
ClassificationPrimitive 可用于高亮显示特定区域,如城市规划区、受保护地区等
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| RestrictHeight.prototype.addToMap = function () { this.removeFromMap(); if (!this.positions) { return; } const positions = Cesium.Cartesian3.fromDegreesArray(this.positions); const polygonInstance = new Cesium.GeometryInstance({ geometry: new Cesium.PolygonGeometry({ polygonHierarchy: new Cesium.PolygonHierarchy(positions), height: this.baseHeight, extrudedHeight: this.baseHeight + this.extrudedHeight, }), attributes: { color: Cesium.ColorGeometryInstanceAttribute.fromColor(this.color), }, });
this.limitHeightPrimitive = this._coreMap.scene.primitives.add( new Cesium.ClassificationPrimitive({ geometryInstances: polygonInstance, releaseGeometryInstances: false, classificationType: Cesium.ClassificationType.CESIUM_3D_TILE, }) ); };
|