ClassificationPrimitive

new Cesium.ClassificationPrimitive(options)

分类原语表示要高亮显示的Scene中包含几何体的卷。

A primitive combines geometry instances with an Appearance that describes the full shading, including Material and RenderState. Roughly, the geometry instance defines the structure and placement, and the appearance defines the visual characteristics. Decoupling geometry and appearance allows us to mix and match most of them and add a new geometry or appearance independently of each other. Only PerInstanceColorAppearance with the same color across all instances is supported at this time when using ClassificationPrimitive directly. For full Appearance support when classifying terrain or 3D Tiles use GroundPrimitive instead.

For correct rendering, this feature requires the EXT_frag_depth WebGL extension. For hardware that do not support this extension, there will be rendering artifacts for some viewing angles.

Valid geometries are BoxGeometry, CylinderGeometry, EllipsoidGeometry, PolylineVolumeGeometry, and SphereGeometry.

Geometries that follow the surface of the ellipsoid, such as CircleGeometry, CorridorGeometry, EllipseGeometry, PolygonGeometry, and RectangleGeometry, are also valid if they are extruded volumes; otherwise, they will not be rendered.

Name Type Description
options Object optional 具有以下属性的对象:
Name Type Default Description
geometryInstances Array | GeometryInstance optional 要渲染的几何体实例。它可以是单个实例,也可以是长度为1的数组。
appearance Appearance optional 用于渲染基本体的外观。当GeometryInstances具有颜色属性时,默认为PerInstanceColorAppearance。
show Boolean true optional 确定是否显示此原语。
vertexCacheOptimize Boolean false optionaltrue时,几何体顶点将为顶点前和后着色器缓存进行优化。
interleave Boolean false optional 61166几何体交错渲染时,可以稍微提高66属性的渲染性能。
compressVertices Boolean true optionaltrue时,几何体顶点被压缩,这将节省内存。
releaseGeometryInstances Boolean true optionaltrue时,原语不保留对输入geometryInstances的引用以节省内存。
allowPicking Boolean true optional 当为true时,每个几何体实例将只能使用Scene#pick进行拾取。当false时,保存GPU内存。
asynchronous Boolean true optional 确定原语是异步创建还是阻塞直到准备就绪。If false initializerRailHeights()必须首先调用。
classificationType ClassificationType ClassificationType.BOTH optional 确定是对地形、三维分幅还是两者都进行分类。
debugShowBoundingVolume Boolean false optional 仅用于调试。确定是否显示了该图元的命令的边界球体。
debugShowShadowVolume Boolean false optional 仅用于调试。确定是否绘制基本体中每个几何体的阴影体积。必须接通6861166 在释放几何图形或options.releaseGeometryInstance必须是false
See:

Members

readonly allowPicking : Boolean

当为true时,每个几何体实例将只能使用Scene#pick进行拾取。当false时,保存GPU内存。
Default Value: true

readonly asynchronous : Boolean

确定几何体实例是否将在web工作器上创建和批处理。
Default Value: true
确定是对地形、三维分幅还是两者都进行分类。
Default Value: ClassificationType.BOTH

readonly compressVertices : Boolean

true时,几何体顶点被压缩,这将节省内存。
Default Value: true

debugShowBoundingVolume : Boolean

此属性仅用于调试;它不用于生产用途,也不进行优化。

Draws the bounding sphere for each draw command in the primitive.

Default Value: false

debugShowShadowVolume : Boolean

此属性仅用于调试;它不用于生产用途,也不进行优化。

Draws the shadow volume for each geometry in the primitive.

Default Value: false

readonly geometryInstances : Array|GeometryInstance

使用此基本体渲染的几何体实例。今年五月 如果是options.releaseGeometryInstances,则为undefined 构造原语时为true

Changing this property after the primitive is rendered has no effect.

Because of the rendering technique used, all geometry instances must be the same color. If there is an instance with a differing color, a DeveloperError will be thrown on the first attempt to render.

Default Value: undefined

readonly interleave : Boolean

确定几何体顶点属性是否交错,这可以稍微提高渲染性能。
Default Value: false

readonly ready : Boolean

确定基本体是否已完成并准备好渲染。如果这个属性是 真的,下一次ClassificationPrimitive#update 被称为。
获取在原语准备呈现时解析的承诺。

readonly releaseGeometryInstances : Boolean

true时,原语不保留对输入geometryInstances的引用以节省内存。
Default Value: true
确定是否显示原语。这会影响所有几何体 原语中的实例。
Default Value: true

readonly vertexCacheOptimize : Boolean

true时,几何体顶点针对顶点前后着色器缓存进行了优化。
Default Value: true

Methods

static Cesium.ClassificationPrimitive.isSupported(scene)Boolean

确定是否支持ClassificationPrimitive呈现。
Name Type Description
scene Scene 现场。
Returns:
如果支持ClassificationPrimitives,则返回true;否则,返回false
销毁此对象持有的WebGL资源。销毁一个对象允许确定性 释放WebGL资源,而不是依赖垃圾回收器销毁此对象。

Once an object is destroyed, it should not be used; calling any function other than isDestroyed will result in a DeveloperError exception. Therefore, assign the return value (undefined) to the object as done in the example.

Throws:
Example:
e = e && e.destroy();
See:

getGeometryInstanceAttributes(id)Object

返回GeometryInstance的每个实例的可修改属性。
Name Type Description
id * GeometryInstance的id。
Returns:
属性格式的类型化数组,如果不是id为的实例,则为未定义数组。
Throws:
  • DeveloperError :必须在调用getGeometryInstanceAttributes之前调用update。
Example:
var attributes = primitive.getGeometryInstanceAttributes('an id');
attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true);

isDestroyed()Boolean

如果此对象已销毁,则返回true;否则返回false。

If this object was destroyed, it should not be used; calling any function other than isDestroyed will result in a DeveloperError exception.

Returns:
如果此对象被销毁,则为true;否则为false
See:
ViewerCesiumWidget将场景渲染到 获取渲染此基本体所需的draw命令。

Do not call this function directly. This is documented just to list the exceptions that may be propagated when the scene is rendered:

Throws:
  • DeveloperError :所有实例几何图形必须具有相同的基本类型。
  • DeveloperError :外观和材质具有相同名称的制服。
  • DeveloperError :并非所有几何体实例都具有相同的颜色属性。