Cesium3DTileset
的一个功能。
还提供对存储在切片的批处理表中的要素属性的访问
作为显示/隐藏特征并通过以下方式更改其高亮颜色的能力
Cesium3DTileFeature#show
和 Cesium3DTileFeature#color
。
对 Cesium3DTileFeature
对象的修改具有瓦片的
内容。 如果图块的内容已卸载,例如,由于它超出视图并需要
要在缓存中为可见切片释放空间,请监听 Cesium3DTileset#tileUnload
事件以保存任何
修改。此外,侦听 Cesium3DTileset#tileVisible
事件以重新应用任何修改。
不要直接构造它。 通过 Cesium3DTileContent#getFeature
访问它
或使用 Scene#pick
进行挑选。
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.Cesium3DTileFeature) {
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)}`);
}
}
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
Members
获取或设置高亮颜色 (highlight color) 与特征颜色相乘。 什么时候
这是白色的,特征的颜色不会改变。这是为所有功能设置的
当评估样式的颜色时。
-
Default Value:
Color.WHITE
获取与此功能关联的功能 ID。对于 3D 瓦片 1.0,
返回批处理 ID。对于EXT_mesh_features,这是
所选特征 ID 集。
Experimental
此功能使用的是 3D Tiles 规范的一部分,该规范不是最终版本,并且可能会在没有 Cesium 标准弃用策略的情况下进行更改。
获取包含折线的 ECEF 位置的类型化数组。
如果
Cesium3DTileset#vectorKeepDecodedPositions
为 false,则返回 undefined
或特征不是矢量切片中的折线。
Experimental
此功能使用的是 3D Tiles 规范的一部分,该规范并非最终版本,并且可能会在没有 Cesium 标准弃用政策的情况下进行更改。
readonly primitive : Cesium3DTileset
Scene#pick
返回的所有对象都具有 primitive
属性。这将返回
包含特征的瓦片集。
获取或设置是否功能。这是为所有功能设置的
评估样式的显示时。
-
Default Value:
true
readonly tileset : Cesium3DTileset
获取包含特征的图块集。
Methods
返回具有给定名称的功能属性的副本,检查所有
来自 3D Tiles 1.0 格式的元数据、EXT_structural_metadata 和旧版
EXT_feature_metadata glTF 扩展,元数据位于
图块集 JSON (3D Tiles 1.1) 或在 3DTILES_metadata 3D Tiles 扩展中。
根据名称从最具体到最通用的顺序检查元数据,并且
返回第一个匹配项。元数据按以下顺序检查:
- 按语义划分的批处理表(结构元数据)属性
- 按属性 ID 的批处理表(结构元数据)属性
- 语义的内容元数据属性
- 按属性划分的内容元数据属性
- 按语义划分的平铺元数据属性
- 按属性 ID 划分的平铺元数据属性
- 按语义划分的子树元数据属性
- 按属性 ID 划分的子树元数据属性
- 按语义对元数据属性进行分组
- 按属性 ID 对元数据属性进行分组
- 按语义划分的 Tileset 元数据属性
- 按属性 ID 划分的瓦片集元数据属性
- 否则,返回 undefined
对于 3D Tiles Next 详细信息, 请参阅 3DTILES_metadata Extension 用于 3D 瓦片,以及 EXT_structural_metadata Extension 表示 glTF。对于旧版 glTF 扩展, 请参阅 EXT_feature_metadata Extension
Name | Type | Description |
---|---|---|
content |
Cesium3DTileContent | 用于访问元数据的内容 |
batchId |
number | 要获取其属性的特征的批处理 ID(或特征 ID) |
name |
string | 特征的语义或属性 ID。在每个元数据粒度中,在属性 ID 之前检查语义。 |
Returns:
属性的值,如果功能没有此属性,
则为 undefined
。
Experimental
此功能使用的是 3D Tiles 规范的一部分,该规范并非最终版本,并且可能会在没有 Cesium 标准弃用政策的情况下进行更改。
返回具有给定名称的功能属性的值的副本。这包括此功能的
类和继承的类。
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)}`);
}
See:
返回功能的属性 ID 数组。这包括此功能的
类和继承的类。
Name | Type | Description |
---|---|---|
results |
Array.<string> | optional 存储结果的数组。 |
Returns:
功能属性的 ID。
返回功能是否包含此属性。这包括此功能的
类和继承的类。
Name | Type | Description |
---|---|---|
name |
string | 属性的区分大小写的名称。 |
Returns:
特征是否包含此属性。
使用给定名称设置功能属性的值。
如果具有给定名称的属性不存在,则会创建该属性。
Name | Type | Description |
---|---|---|
name |
string | 属性的区分大小写的名称。 |
value |
* | 将要复制的属性的值。 |
Throws:
-
DeveloperError : 继承的批处理表层次结构属性是只读的。
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');
}