Skip to content

DataManager

数据管理器类,负责管理3D场景中的所有数据,包括3D模型、2D对象和属性数据。提供统一的数据存储、检索和管理接口,支持多种类型的数据管理。

类定义

javascript
class DataManager extends EventManager

属性

models

模型数组,包含所有模型对象。

类型: {Array<Model>}
只读: true

instancedGroups

实例化对象组数组,包含所有实例化对象组。

类型: {Array<Group>}
只读: true

mergedGroups

合并对象组数组,包含所有合并对象组。

类型: {Array<Group>}
只读: true

singleGroups

单对象组数组,包含所有单对象组。

类型: {Array<Group>}
只读: true

models2D

2D对象迭代器,包含所有CSS2D对象的迭代器。

类型: {IterableIterator<CSS2DObject>}
只读: true

properties

属性数据迭代器,包含所有属性数据的迭代器。

类型: {IterableIterator<*>}
只读: true

方法

addModel(key, model)

添加3D模型到数据管理器,将Model对象添加到数据管理器中。

参数:

  • key {string} - 模型的唯一标识键
  • model {Model} - 要添加的Model对象

示例:

javascript
// 添加3D模型
dataManager.addModel('building', model);

add2DModel(key, css2DObject)

添加2D对象到数据管理器,将CSS2DObject对象添加到数据管理器中。

参数:

  • key {string} - 2D对象的唯一标识键
  • css2DObject {CSS2DObject} - 要添加的CSS2DObject对象

示例:

javascript
// 添加2D标签
dataManager.add2DModel('label', css2DObject);

addPropertyData(key, value)

添加属性数据到数据管理器,将属性数据添加到数据管理器中。

参数:

  • key {string} - 属性数据的唯一标识键
  • value {*} - 要添加的属性数据,可以是任意类型

示例:

javascript
// 添加属性数据
dataManager.addPropertyData('metadata', { 
    name: 'Building A', 
    type: 'Commercial' 
});

使用场景

数据存储

  • 统一管理3D模型数据
  • 存储2D标签和UI元素
  • 管理各种属性数据

数据检索

  • 根据键值快速查找数据
  • 提供类型安全的数据访问
  • 支持数据的批量操作

数据管理

  • 支持数据的添加、获取、移除
  • 提供数据的批量清理功能
  • 防止数据重复和冲突

资源清理

  • 提供完整的数据清理功能
  • 防止内存泄漏
  • 支持对象的生命周期管理

相关链接

文档内容为北京逆维悦动科技有限公司版权所有,禁止未授权转载