# Viewer3D

## Constructor

### new Viewer3D（config）

#### Parameters

<table><thead><tr><th>param</th><th width="154">type</th><th>description</th></tr></thead><tbody><tr><td>config<mark style="color:red;">*</mark></td><td><a href="config">Config</a></td><td>配置实例</td></tr></tbody></table>

## Static Methods

### Initializer（config,progress,failed）

初始化Viewer3D，推荐使用。

#### Parameters

<table><thead><tr><th>param</th><th width="190">type</th><th>description</th></tr></thead><tbody><tr><td>config<mark style="color:red;">*</mark></td><td><a href="config">Config</a></td><td>初始化配置实例</td></tr><tr><td>progress<mark style="color:red;">*</mark></td><td>function(<a href="../../../globals/type-definitions#loadedinfo-dui-xiang">LoadedInfo</a>)</td><td>初始化时的回调函数</td></tr><tr><td>failed<mark style="color:red;">*</mark></td><td>function(Error)</td><td>初始化失败的回调函数</td></tr></tbody></table>

#### Returns

| type     | description                                                                                                           |
| -------- | --------------------------------------------------------------------------------------------------------------------- |
| Viewer3D | 一个[Viewer3D](https://niviobim.gitbook.io/niviobim2.0-kai-fa-wen-dang/jie-kou-wen-dang/graphicsengine/core/viewer3d)实例 |

## Properties

| name             | type                                                                                                                                 | description             |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ----------------------- |
| renderManager    | [RenderManager](https://niviobim.gitbook.io/niviobim2.0-kai-fa-wen-dang/jie-kou-wen-dang/graphicsengine/manager/rendermanager)       | 一个渲染管理器实例，获取与渲染相关的控制。   |
| sceneManager     | [SceneManager](https://niviobim.gitbook.io/niviobim2.0-kai-fa-wen-dang/jie-kou-wen-dang/graphicsengine/manager/scenemanager)         | 一个场景管理器实例，获取与场景相关的控制。   |
| extensionManager | [ExtensionManager](https://niviobim.gitbook.io/niviobim2.0-kai-fa-wen-dang/jie-kou-wen-dang/graphicsengine/manager/extensionmanager) | 一个拓展管理器实例，获取与插件扩展的相关控制。 |
| loader           | [NIVIOBIMLoader](https://niviobim.gitbook.io/niviobim2.0-kai-fa-wen-dang/jie-kou-wen-dang/graphicsengine/core/niviobimloader)        | 一个逆维悦动加载器实例，获取加载相关功能    |
| selection        | [Selection](https://niviobim.gitbook.io/niviobim2.0-kai-fa-wen-dang/jie-kou-wen-dang/graphicsengine/core/selection)                  | 一个拾取模型实例，获取拾取模型对象的相关功能。 |
| config           | [Config](https://niviobim.gitbook.io/niviobim2.0-kai-fa-wen-dang/jie-kou-wen-dang/graphicsengine/core/config)                        | 一个设置类实例，获取设置的相关属性。      |

## Methods

### allRender()

同时渲染[标签元素](https://niviobim.gitbook.io/niviobim2.0-kai-fa-wen-dang/zhuan-ye-shu-yu/graphicsengine-xi-lie#biao-qian-yuan-su)和[几何元素](https://niviobim.gitbook.io/niviobim2.0-kai-fa-wen-dang/zhuan-ye-shu-yu/graphicsengine-xi-lie#ji-he-yuan-su)

### glRender()

渲染几何元素

### CssRender()

渲染标签元素

### resizeRender()

将canvas像素适应到窗口大小

### loadModelByStream(onSuccess,onProgress,onError = null)

模型流逝加载

#### Parameters

<table><thead><tr><th width="142">param</th><th>type</th><th>description</th></tr></thead><tbody><tr><td>onSuccess*</td><td>function(<a href="model">Model</a>)</td><td>模型加载成功的回调函数</td></tr><tr><td>onProgress*</td><td>function(<a href="../../../globals/type-definitions#loadedinfo-dui-xiang">LoadedInfo</a>)</td><td>模型加载过程中的回调函数</td></tr><tr><td>onError</td><td>function(Error)</td><td>模型加载失败的回调函数</td></tr></tbody></table>

### loadGlTF(onSuccess, onProgress = null, onError = null)

加载glTF模型，并转换为[Model](https://niviobim.gitbook.io/niviobim2.0-kai-fa-wen-dang/jie-kou-wen-dang/graphicsengine/core/model)。

#### Parameters

| param       | type                                                                                                                                      | description  |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
| onSuccess\* | function([Model](https://niviobim.gitbook.io/niviobim2.0-kai-fa-wen-dang/jie-kou-wen-dang/graphicsengine/core/model))                     | 模型加载成功的回调函数  |
| onProgress  | function([LoadedGltfStatus](https://niviobim.gitbook.io/niviobim2.0-kai-fa-wen-dang/globals/type-definitions#loadedgltfstatus-dui-xiang)) | 模型加载过程中的回调函数 |
| onError     | function(Error)                                                                                                                           | 模型加载失败的回调函数  |

### loadModelProperty()

加载模型属性

#### Returns

| type    | description |
| ------- | ----------- |
| Promise | 一个promise对象 |

### loadModelTree()

加载模型树属性

#### Returns

| type    | description |
| ------- | ----------- |
| Promise | 一个promise对象 |

### controllingRender()

交互时开始渐进式渲染

### controlEndRender()

交互结束时渐进式渲染

### dispose()

回收viewer3D
