ModelFeature

new Cesium.ModelFeature (options)

ModelExperimental 的一个特性。

提供对存储在模型特征表中的特征属性的访问。

ModelFeature 对象的修改具有模型的生命周期。

不要直接构造它。通过使用 Scene#pick 选择来访问它。

Name Type Description
options Object 具有以下属性的对象:
姓名 类型 描述
model 模型实验 特征所属的模型。
featureId 数字 此功能的唯一整数标识符。
Example:
// On mouse over, display all the properties for a feature in the console log.
handler.setInputAction(function(movement) {
    const feature = scene.pick(movement.endPosition);
    if (feature instanceof Cesium.ModelFeature) {
        console.log(feature);
    }
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
Experimental

This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.

Members

获取或设置与特征颜色相乘的突出显示颜色。当它为白色时,特征的颜色不会改变。这是在评估样式颜色时为所有功能设置的。
Default Value: Color.WHITE
获取与此功能关联的功能 ID。对于 3D Tiles 1.0,将返回批次 ID。对于 EXT_mesh_features,这是所选特征 ID 集中的特征 ID。
Experimental

This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.

获取或设置是否显示功能。这是在评估风格的表演时为所有功能设置的。
Default Value: true

Methods

返回具有给定名称的特征属性值的副本。
Name Type Description
name String 属性的区分大小写的名称。
Returns:
属性的值,如果特征没有此属性,则为 undefined
Example:
// Display all the properties for a feature in the console log.
const propertyIds = feature.getPropertyIds();
const length = propertyIds.length;
for (let i = 0; i < length; ++i) {
    const propertyId = propertyIds[i];
    console.log(propertyId + ': ' + feature.getProperty(propertyId));
}

getPropertyIds ( results ) Array.<String>

返回功能的属性 ID 数组。
Name Type Description
results Array.<String> 可选 存储结果的数组。
Returns:
特征属性的 ID。

getPropertyInherited (name) *

返回具有给定名称的特征属性的副本,检查来自 EXT_structural_metadata 和旧版 EXT_feature_metadata glTF 扩展的所有元数据。元数据根据从最具体到最一般的名称进行检查,并返回第一个匹配项。元数据按以下顺序检查:
  1. 语义结构元数据属性
  2. 按属性 ID 的结构元数据属性

请参阅 EXT_structural_metadata 扩展 以及之前 glTF 的 EXT_feature_metadata 扩展

Name Type Description
name String 特征的语义或属性 ID。在每个元数据粒度中的属性 ID 之前检查语义。
Returns:
属性的值,如果特征没有此属性,则为 undefined
Experimental

This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.

deprecated getPropertyNames ( results ) Array.<String>

返回功能的属性名称数组。
Name Type Description
results Array.<String> 可选 存储结果的数组。
Returns:
特征属性的名称。

Deprecated: true

返回要素是否包含此属性。
Name Type Description
name String 属性的区分大小写的名称。
Returns:
特征是否包含此属性。

setProperty (name, value) Boolean

使用给定名称设置特征属性的值。
Name Type Description
name String 属性的区分大小写的名称。
value * 将被复制的属性的值。
Returns:
如果设置了属性,则为 true ,否则为 false
Throws:
Examples:
const height = feature.getProperty('Height'); // e.g., the height of a building
const name = 'clicked';
if (feature.getProperty(name)) {
    console.log('already clicked');
} else {
    feature.setProperty(name, true);
    console.log('first click');
}