# Type Definitions

## LoadedInfo&#x20;

此类型定义了模型在加载过程中的数据结构，主要用于描述加载过程的状态和参数。

* **属性**
  * NWYDObjectCount (number): 表示逆维悦动数据对象的个数。
  * total (number): 表示数据包的总个数。
  * name (string): 数据包的名称。
  * loaded (number): 表示当前的加载进度。
  * status (NIVIOBIMLoader.STREAM\_STATUS): 表示流逝加载的状态。
  * nodeIndex (Object): 模型的索引结构。
  * sceneBVHScene (Object): 包含BVHNode数据的对象。
  * sceneBoundingBox (Object): Box3数据，描述场景的包围盒。
  * sceneBoundingSphere (Object): Sphere数据，描述场景的边界球。
  * loadType (string): 加载方式。

此结构的设计旨在提供关于数据加载过程的详细信息，以便于监控和优化加载性能。

### LoadedGltfStatus&#x20;

此类型定义了 glTF 模型加载过程中的状态对象，用于描述加载的状态和进度。

* 属性
  * status (string): 描述加载过程的当前状态,包括:loading,disposing,end三种状态。
  * value (number): 加载进度的数值表示，通常是一个介于 0 和 100 之间的百分比。

### DrawingMapModelConfig

定义了绘图图纸模型的配置。

* 属性
  * **id** (string): 唯一标识符。
  * **levelName** (string): 楼层名称。
  * **CADNames** (Array\<string>): 一个包含CAD名称的数组。

**示例**

```json
{
    "id": "level_1",
    "name": "第一层",
    "children": [
        "建筑图纸",
        "结构图纸",
        "机电图纸"
    ]
}
```

### LoadMode

LoadMode 定义了加载模式的类型。可选值包括：

* 属性
  * STREAM：表示流式加载模式。
  * SINGLE：表示单次加载模式。

### IntersectionResult

IntersectionResult 对象包含有关射线与场景中物体相交情况的详细信息。以下是其属性的解释：

* 属性
  * distance: 射线投射原点和相交部分之间的距离（单位：米）。
  * point: 相交部分的点，使用世界坐标系表示（Vector3）。
  * face: 相交的面（Face 对象）。
  * faceIndex: 相交面的索引号。
  * object: 与射线相交的物体（Object3D）。
  * uv: 相交部分点的UV坐标（Vector2），表示材质上的位置。
  * uv1: 相交点处的第二组UV坐标（Vector2），用于具有多层材质或映射的情况。
  * normal: 交点处的内插法向量（Vector3），表示该点表面的朝向。
  * instanceId: 当射线与InstancedMesh相交时，相交实例的索引号。
