[gs-longan](../README.md) / Viewer

# Class: Viewer

## Hierarchy

- [`Viewer`](LonganCore.Viewer.md)

  ↳ **`Viewer`**

## Table of contents

### Constructors

- [constructor](Viewer.md#constructor)

### Properties

- [autoUpdateNearFar](Viewer.md#autoupdatenearfar)
- [canvas](Viewer.md#canvas)
- [collisionComputed](Viewer.md#collisioncomputed)
- [collisionComputing](Viewer.md#collisioncomputing)
- [componentsLoaded](Viewer.md#componentsloaded)
- [configs](Viewer.md#configs)
- [container](Viewer.md#container)
- [contextHandle](Viewer.md#contexthandle)
- [coordinateManager](Viewer.md#coordinatemanager)
- [current\_CullingMaximumExtent](Viewer.md#current_cullingmaximumextent)
- [current\_ViewFrustumCulling](Viewer.md#current_viewfrustumculling)
- [deltaSeconds](Viewer.md#deltaseconds)
- [durationTime](Viewer.md#durationtime)
- [geometryDrawFinish](Viewer.md#geometrydrawfinish)
- [geometryItem](Viewer.md#geometryitem)
- [geometryItems](Viewer.md#geometryitems)
- [keyDown](Viewer.md#keydown)
- [lButtonDown](Viewer.md#lbuttondown)
- [mButtonDown](Viewer.md#mbuttondown)
- [name](Viewer.md#name)
- [onKeyDown](Viewer.md#onkeydown)
- [onKeyPress](Viewer.md#onkeypress)
- [onKeyUp](Viewer.md#onkeyup)
- [onLButtonDown](Viewer.md#onlbuttondown)
- [onLButtonDownAndMove](Viewer.md#onlbuttondownandmove)
- [onLButtonUp](Viewer.md#onlbuttonup)
- [onMButtonDown](Viewer.md#onmbuttondown)
- [onMButtonDownAndMove](Viewer.md#onmbuttondownandmove)
- [onMButtonUp](Viewer.md#onmbuttonup)
- [onMouseMove](Viewer.md#onmousemove)
- [onMouseWheel](Viewer.md#onmousewheel)
- [onRButtonDown](Viewer.md#onrbuttondown)
- [onRButtonDownAndMove](Viewer.md#onrbuttondownandmove)
- [onRButtonUp](Viewer.md#onrbuttonup)
- [onTouchCancel](Viewer.md#ontouchcancel)
- [onTouchEnd](Viewer.md#ontouchend)
- [onTouchMove](Viewer.md#ontouchmove)
- [onTouchStart](Viewer.md#ontouchstart)
- [onWindowKeyDown](Viewer.md#onwindowkeydown)
- [onWindowKeyPress](Viewer.md#onwindowkeypress)
- [onWindowKeyUp](Viewer.md#onwindowkeyup)
- [operatorManager](Viewer.md#operatormanager)
- [process](Viewer.md#process)
- [rButtonDown](Viewer.md#rbuttondown)
- [renderContext](Viewer.md#rendercontext)
- [renderObjects](Viewer.md#renderobjects)
- [renderPasses](Viewer.md#renderpasses)
- [resize](Viewer.md#resize)
- [touching](Viewer.md#touching)
- [updateManager](Viewer.md#updatemanager)
- [zoomLimit](Viewer.md#zoomlimit)
- [collisionCounter](Viewer.md#collisioncounter)
- [currentRenderContext](Viewer.md#currentrendercontext)
- [currentViewer](Viewer.md#currentviewer)

### Accessors

- [aspectRatio](Viewer.md#aspectratio)
- [backgroundColor](Viewer.md#backgroundcolor)
- [backgroundImage](Viewer.md#backgroundimage)
- [boundingBox](Viewer.md#boundingbox)
- [camera](Viewer.md#camera)
- [cameraOrientationFixed](Viewer.md#cameraorientationfixed)
- [collisionTolerance](Viewer.md#collisiontolerance)
- [freeze](Viewer.md#freeze)
- [height](Viewer.md#height)
- [instanceObject](Viewer.md#instanceobject)
- [instanceObjectSegment](Viewer.md#instanceobjectsegment)
- [isBusy](Viewer.md#isbusy)
- [isCache](Viewer.md#iscache)
- [lightingMode](Viewer.md#lightingmode)
- [loadedRenderObjects](Viewer.md#loadedrenderobjects)
- [modelKey](Viewer.md#modelkey)
- [modelSegment](Viewer.md#modelsegment)
- [renderObject](Viewer.md#renderobject)
- [sceneKey](Viewer.md#scenekey)
- [sceneSegment](Viewer.md#scenesegment)
- [screenSegment](Viewer.md#screensegment)
- [selectDistanceTolerance](Viewer.md#selectdistancetolerance)
- [selectionTolerance](Viewer.md#selectiontolerance)
- [smoothTransition](Viewer.md#smoothtransition)
- [smoothTransitionDuration](Viewer.md#smoothtransitionduration)
- [softCollisionDistance](Viewer.md#softcollisiondistance)
- [styleKey](Viewer.md#stylekey)
- [styleSegment](Viewer.md#stylesegment)
- [unitLength](Viewer.md#unitlength)
- [updateDisplayMode](Viewer.md#updatedisplaymode)
- [utilitySegment](Viewer.md#utilitysegment)
- [viewKey](Viewer.md#viewkey)
- [viewObjectSegment](Viewer.md#viewobjectsegment)
- [viewSegment](Viewer.md#viewsegment)
- [width](Viewer.md#width)

### Methods

- [clearCache](Viewer.md#clearcache)
- [computeBoundingBox](Viewer.md#computeboundingbox)
- [computeBoundingBoxWithVisibility](Viewer.md#computeboundingboxwithvisibility)
- [computeGeometryRayTest](Viewer.md#computegeometryraytest)
- [computeNearPlaneWorldPos](Viewer.md#computenearplaneworldpos)
- [computePerspectiveNearWorldPos](Viewer.md#computeperspectivenearworldpos)
- [computeRayTest](Viewer.md#computeraytest)
- [computeViewBoundingBox](Viewer.md#computeviewboundingbox)
- [computeViewBoundingBoxByKey](Viewer.md#computeviewboundingboxbykey)
- [computeViewBoundingBoxes](Viewer.md#computeviewboundingboxes)
- [convertCoordinate](Viewer.md#convertcoordinate)
- [deInstantiateRenderObject](Viewer.md#deinstantiaterenderobject)
- [dispose](Viewer.md#dispose)
- [finaComponent](Viewer.md#finacomponent)
- [finaComponents](Viewer.md#finacomponents)
- [findInstanceObject](Viewer.md#findinstanceobject)
- [findInstanceObjectByInsParent](Viewer.md#findinstanceobjectbyinsparent)
- [findInstanceObjects](Viewer.md#findinstanceobjects)
- [findInstanceObjectsByInsParent](Viewer.md#findinstanceobjectsbyinsparent)
- [fitWorld](Viewer.md#fitworld)
- [getGslId](Viewer.md#getgslid)
- [getInstanceObjectByPath](Viewer.md#getinstanceobjectbypath)
- [getRenderObjectByPath](Viewer.md#getrenderobjectbypath)
- [initComponent](Viewer.md#initcomponent)
- [initComponents](Viewer.md#initcomponents)
- [initManagers](Viewer.md#initmanagers)
- [instantiateRenderObject](Viewer.md#instantiaterenderobject)
- [locateWorld](Viewer.md#locateworld)
- [locateWorldByData](Viewer.md#locateworldbydata)
- [makeContextCurrent](Viewer.md#makecontextcurrent)
- [pixelPointToWorldPoint](Viewer.md#pixelpointtoworldpoint)
- [rebind](Viewer.md#rebind)
- [reset](Viewer.md#reset)
- [run](Viewer.md#run)
- [selectByArea](Viewer.md#selectbyarea)
- [selectByPoint](Viewer.md#selectbypoint)
- [selectPositionByPoint](Viewer.md#selectpositionbypoint)
- [setSceneCamera](Viewer.md#setscenecamera)
- [setViewMode](Viewer.md#setviewmode)
- [stop](Viewer.md#stop)
- [updateCameraNearFar](Viewer.md#updatecameranearfar)
- [updateDisplay](Viewer.md#updatedisplay)
- [updateSize](Viewer.md#updatesize)
- [updateViewerBoundingbox](Viewer.md#updateviewerboundingbox)
- [worldPointToPixelPoint](Viewer.md#worldpointtopixelpoint)
- [zUnitLength](Viewer.md#zunitlength)

## Constructors

### constructor

• **new Viewer**(`containerId`): [`Viewer`](Viewer.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `containerId` | `string` |

#### Returns

[`Viewer`](Viewer.md)

#### Overrides

[Viewer](LonganCore.Viewer.md).[constructor](LonganCore.Viewer.md#constructor)

## Properties

### autoUpdateNearFar

• **autoUpdateNearFar**: `boolean` = `true`

___

### canvas

• **canvas**: `HTMLCanvasElement`

#### Inherited from

[Viewer](LonganCore.Viewer.md).[canvas](LonganCore.Viewer.md#canvas)

___

### collisionComputed

• **collisionComputed**: [`List`](List.md)\<`Function`\>

#### Inherited from

[Viewer](LonganCore.Viewer.md).[collisionComputed](LonganCore.Viewer.md#collisioncomputed)

___

### collisionComputing

• **collisionComputing**: [`List`](List.md)\<`Function`\>

#### Inherited from

[Viewer](LonganCore.Viewer.md).[collisionComputing](LonganCore.Viewer.md#collisioncomputing)

___

### componentsLoaded

• **componentsLoaded**: [`List`](List.md)\<(`viewer`: [`Viewer`](Viewer.md), `args`: [`EventArgs`](EventArgs.md)) => `void`\>

___

### configs

• **configs**: [`RenderingConfigs`](../interfaces/LonganCore.RenderingConfigs.md)

#### Inherited from

[Viewer](LonganCore.Viewer.md).[configs](LonganCore.Viewer.md#configs)

___

### container

• **container**: `HTMLElement`

#### Inherited from

[Viewer](LonganCore.Viewer.md).[container](LonganCore.Viewer.md#container)

___

### contextHandle

• **contextHandle**: `number`

#### Inherited from

[Viewer](LonganCore.Viewer.md).[contextHandle](LonganCore.Viewer.md#contexthandle)

___

### coordinateManager

• **coordinateManager**: [`CoordinateManager`](CoordinateManager.md)

坐标管理器

___

### current\_CullingMaximumExtent

• **current\_CullingMaximumExtent**: `number` = `0`

___

### current\_ViewFrustumCulling

• **current\_ViewFrustumCulling**: `boolean` = `true`

___

### deltaSeconds

• **deltaSeconds**: `number` = `0.0`

___

### durationTime

• **durationTime**: `number` = `0.0`

___

### geometryDrawFinish

• **geometryDrawFinish**: [`List`](List.md)\<`Function`\>

#### Inherited from

[Viewer](LonganCore.Viewer.md).[geometryDrawFinish](LonganCore.Viewer.md#geometrydrawfinish)

___

### geometryItem

• **geometryItem**: [`List`](List.md)\<`Function`\>

#### Inherited from

[Viewer](LonganCore.Viewer.md).[geometryItem](LonganCore.Viewer.md#geometryitem)

___

### geometryItems

• **geometryItems**: [`List`](List.md)\<`Function`\>

#### Inherited from

[Viewer](LonganCore.Viewer.md).[geometryItems](LonganCore.Viewer.md#geometryitems)

___

### keyDown

• **keyDown**: `boolean` = `false`

___

### lButtonDown

• **lButtonDown**: `boolean` = `false`

___

### mButtonDown

• **mButtonDown**: `boolean` = `false`

___

### name

• **name**: `string`

___

### onKeyDown

• **onKeyDown**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

键盘按下

___

### onKeyPress

• **onKeyPress**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

键盘按住

___

### onKeyUp

• **onKeyUp**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

键盘松开

___

### onLButtonDown

• **onLButtonDown**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

鼠标左键点击

___

### onLButtonDownAndMove

• **onLButtonDownAndMove**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

左键点击并鼠标移动

___

### onLButtonUp

• **onLButtonUp**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

鼠标左键松开

___

### onMButtonDown

• **onMButtonDown**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

鼠标中键点击

___

### onMButtonDownAndMove

• **onMButtonDownAndMove**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

右键点击并鼠标移动

___

### onMButtonUp

• **onMButtonUp**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

鼠标中键松开

___

### onMouseMove

• **onMouseMove**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

鼠标移动

___

### onMouseWheel

• **onMouseWheel**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

鼠标中键滚轮滚动

___

### onRButtonDown

• **onRButtonDown**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

鼠标右键点击

___

### onRButtonDownAndMove

• **onRButtonDownAndMove**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

中键点击并鼠标移动

___

### onRButtonUp

• **onRButtonUp**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

鼠标右键松开

___

### onTouchCancel

• **onTouchCancel**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

触摸取消

___

### onTouchEnd

• **onTouchEnd**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

触摸结束

___

### onTouchMove

• **onTouchMove**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

触摸移动

___

### onTouchStart

• **onTouchStart**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

触摸开始

___

### onWindowKeyDown

• **onWindowKeyDown**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

全局键盘按下

___

### onWindowKeyPress

• **onWindowKeyPress**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

全局键盘长按

___

### onWindowKeyUp

• **onWindowKeyUp**: [`List`](List.md)\<(`sender`: [`Viewer`](Viewer.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

全局键盘松开

___

### operatorManager

• **operatorManager**: [`OperatorManager`](OperatorManager.md)

___

### process

• **process**: [`Process`](Process.md)

___

### rButtonDown

• **rButtonDown**: `boolean` = `false`

___

### renderContext

• **renderContext**: [`WebGL2RenderContext`](WebGL2RenderContext.md)

#### Inherited from

[Viewer](LonganCore.Viewer.md).[renderContext](LonganCore.Viewer.md#rendercontext)

___

### renderObjects

• **renderObjects**: `RenderObjectCollection`

___

### renderPasses

• **renderPasses**: `RenderPassCollection`

___

### resize

• **resize**: [`List`](List.md)\<(`viewer`: [`Viewer`](LonganCore.Viewer.md), `args`: [`EventArgs`](EventArgs.md)) => `void`\>

#### Inherited from

[Viewer](LonganCore.Viewer.md).[resize](LonganCore.Viewer.md#resize)

___

### touching

• **touching**: `boolean` = `false`

___

### updateManager

• **updateManager**: [`UpdateManager`](UpdateManager.md)

___

### zoomLimit

• **zoomLimit**: `number` = `0.000001`

#### Inherited from

[Viewer](LonganCore.Viewer.md).[zoomLimit](LonganCore.Viewer.md#zoomlimit)

___

### collisionCounter

▪ `Static` **collisionCounter**: `number` = `1`

___

### currentRenderContext

▪ `Static` **currentRenderContext**: `IRenderContext` = `null`

___

### currentViewer

▪ `Static` **currentViewer**: [`Viewer`](Viewer.md) = `null`

## Accessors

### aspectRatio

• `get` **aspectRatio**(): `number`

#### Returns

`number`

#### Inherited from

LonganCoreViewer.aspectRatio

• `set` **aspectRatio**(`aspectRatio`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `aspectRatio` | `number` |

#### Returns

`void`

#### Inherited from

LonganCoreViewer.aspectRatio

___

### backgroundColor

• `get` **backgroundColor**(): `ArrayLike`\<`number`\>

#### Returns

`ArrayLike`\<`number`\>

#### Inherited from

LonganCoreViewer.backgroundColor

• `set` **backgroundColor**(`val`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `val` | `ArrayLike`\<`number`\> |

#### Returns

`void`

#### Inherited from

LonganCoreViewer.backgroundColor

___

### backgroundImage

• `set` **backgroundImage**(`imageSrc`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `imageSrc` | `string` |

#### Returns

`void`

#### Inherited from

LonganCoreViewer.backgroundImage

___

### boundingBox

• `get` **boundingBox**(): `Float32Array`

#### Returns

`Float32Array`

• `set` **boundingBox**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `Float32Array` |

#### Returns

`void`

___

### camera

• `get` **camera**(): [`Camera`](Rendering.Camera.md)

#### Returns

[`Camera`](Rendering.Camera.md)

___

### cameraOrientationFixed

• `get` **cameraOrientationFixed**(): `boolean`

#### Returns

`boolean`

#### Inherited from

LonganCoreViewer.cameraOrientationFixed

• `set` **cameraOrientationFixed**(`val`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `val` | `boolean` |

#### Returns

`void`

#### Inherited from

LonganCoreViewer.cameraOrientationFixed

___

### collisionTolerance

• `get` **collisionTolerance**(): `number`

#### Returns

`number`

#### Inherited from

LonganCoreViewer.collisionTolerance

• `set` **collisionTolerance**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `number` |

#### Returns

`void`

#### Inherited from

LonganCoreViewer.collisionTolerance

___

### freeze

• `get` **freeze**(): `boolean`

#### Returns

`boolean`

• `set` **freeze**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `boolean` |

#### Returns

`void`

___

### height

• `get` **height**(): `number`

#### Returns

`number`

#### Inherited from

LonganCoreViewer.height

• `set` **height**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `number` |

#### Returns

`void`

#### Inherited from

LonganCoreViewer.height

___

### instanceObject

• `get` **instanceObject**(): [`RenderInstanceObject`](RenderInstanceObject.md)

#### Returns

[`RenderInstanceObject`](RenderInstanceObject.md)

• `set` **instanceObject**(`val`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `val` | [`RenderInstanceObject`](RenderInstanceObject.md) |

#### Returns

`void`

___

### instanceObjectSegment

• `get` **instanceObjectSegment**(): [`Segment`](Segment.md)

#### Returns

[`Segment`](Segment.md)

___

### isBusy

• `get` **isBusy**(): `boolean`

#### Returns

`boolean`

• `set` **isBusy**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `boolean` |

#### Returns

`void`

___

### isCache

• `get` **isCache**(): `boolean`

#### Returns

`boolean`

• `set` **isCache**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `boolean` |

#### Returns

`void`

___

### lightingMode

• `get` **lightingMode**(): [`LightingMode`](../enums/LonganCore.LightingMode.md)

#### Returns

[`LightingMode`](../enums/LonganCore.LightingMode.md)

#### Inherited from

LonganCoreViewer.lightingMode

• `set` **lightingMode**(`mode`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `mode` | [`LightingMode`](../enums/LonganCore.LightingMode.md) |

#### Returns

`void`

#### Inherited from

LonganCoreViewer.lightingMode

___

### loadedRenderObjects

• `get` **loadedRenderObjects**(): [`List`](List.md)\<[`RenderLivingObject`](RenderLivingObject.md)\>

#### Returns

[`List`](List.md)\<[`RenderLivingObject`](RenderLivingObject.md)\>

___

### modelKey

• `get` **modelKey**(): `number`

#### Returns

`number`

#### Inherited from

LonganCoreViewer.modelKey

___

### modelSegment

• `get` **modelSegment**(): [`Segment`](Segment.md)

#### Returns

[`Segment`](Segment.md)

___

### renderObject

• `get` **renderObject**(): [`RenderObject`](RenderObject.md)

#### Returns

[`RenderObject`](RenderObject.md)

• `set` **renderObject**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | [`RenderObject`](RenderObject.md) |

#### Returns

`void`

___

### sceneKey

• `get` **sceneKey**(): `number`

#### Returns

`number`

#### Inherited from

LonganCoreViewer.sceneKey

___

### sceneSegment

• `get` **sceneSegment**(): [`Segment`](Segment.md)

#### Returns

[`Segment`](Segment.md)

___

### screenSegment

• `get` **screenSegment**(): [`Segment`](Segment.md)

#### Returns

[`Segment`](Segment.md)

___

### selectDistanceTolerance

• `get` **selectDistanceTolerance**(): `number`

#### Returns

`number`

• `set` **selectDistanceTolerance**(`selectDistanceTolerance`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `selectDistanceTolerance` | `number` |

#### Returns

`void`

___

### selectionTolerance

• `get` **selectionTolerance**(): `number`

#### Returns

`number`

#### Inherited from

LonganCoreViewer.selectionTolerance

• `set` **selectionTolerance**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `number` |

#### Returns

`void`

#### Inherited from

LonganCoreViewer.selectionTolerance

___

### smoothTransition

• `get` **smoothTransition**(): `boolean`

#### Returns

`boolean`

#### Inherited from

LonganCoreViewer.smoothTransition

• `set` **smoothTransition**(`val`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `val` | `boolean` |

#### Returns

`void`

#### Inherited from

LonganCoreViewer.smoothTransition

___

### smoothTransitionDuration

• `get` **smoothTransitionDuration**(): `number`

#### Returns

`number`

#### Inherited from

LonganCoreViewer.smoothTransitionDuration

• `set` **smoothTransitionDuration**(`duration`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `duration` | `number` |

#### Returns

`void`

#### Inherited from

LonganCoreViewer.smoothTransitionDuration

___

### softCollisionDistance

• `get` **softCollisionDistance**(): `number`

#### Returns

`number`

#### Inherited from

LonganCoreViewer.softCollisionDistance

• `set` **softCollisionDistance**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `number` |

#### Returns

`void`

#### Inherited from

LonganCoreViewer.softCollisionDistance

___

### styleKey

• `get` **styleKey**(): `number`

#### Returns

`number`

#### Inherited from

LonganCoreViewer.styleKey

___

### styleSegment

• `get` **styleSegment**(): [`Segment`](Segment.md)

#### Returns

[`Segment`](Segment.md)

___

### unitLength

• `get` **unitLength**(): `number`

#### Returns

`number`

___

### updateDisplayMode

• `get` **updateDisplayMode**(): [`UpdateDisplayMode`](../enums/UpdateDisplayMode.md)

#### Returns

[`UpdateDisplayMode`](../enums/UpdateDisplayMode.md)

• `set` **updateDisplayMode**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | [`UpdateDisplayMode`](../enums/UpdateDisplayMode.md) |

#### Returns

`void`

___

### utilitySegment

• `get` **utilitySegment**(): [`Segment`](Segment.md)

#### Returns

[`Segment`](Segment.md)

___

### viewKey

• `get` **viewKey**(): `number`

#### Returns

`number`

#### Inherited from

LonganCoreViewer.viewKey

___

### viewObjectSegment

• `get` **viewObjectSegment**(): [`Segment`](Segment.md)

#### Returns

[`Segment`](Segment.md)

___

### viewSegment

• `get` **viewSegment**(): [`Segment`](Segment.md)

#### Returns

[`Segment`](Segment.md)

___

### width

• `get` **width**(): `number`

#### Returns

`number`

#### Inherited from

LonganCoreViewer.width

• `set` **width**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `number` |

#### Returns

`void`

#### Inherited from

LonganCoreViewer.width

## Methods

### clearCache

▸ **clearCache**(): `Promise`\<`void`\>

清除缓存的模型数据

#### Returns

`Promise`\<`void`\>

___

### computeBoundingBox

▸ **computeBoundingBox**(`segment`): `any`

#### Parameters

| Name | Type |
| :------ | :------ |
| `segment` | [`Segment`](Segment.md) |

#### Returns

`any`

___

### computeBoundingBoxWithVisibility

▸ **computeBoundingBoxWithVisibility**(`segment`, `element_types`): `Float32Array`

#### Parameters

| Name | Type |
| :------ | :------ |
| `segment` | [`Segment`](Segment.md) |
| `element_types` | [`ElementType`](../enums/LonganCore.ElementType.md) |

#### Returns

`Float32Array`

___

### computeGeometryRayTest

▸ **computeGeometryRayTest**(`geom`, `origin`, `direct`): `Float32Array`

#### Parameters

| Name | Type |
| :------ | :------ |
| `geom` | [`Geometry`](Geometry.md) |
| `origin` | `ArrayLike`\<`number`\> |
| `direct` | `ArrayLike`\<`number`\> |

#### Returns

`Float32Array`

___

### computeNearPlaneWorldPos

▸ **computeNearPlaneWorldPos**(`pixel`): `Float64Array`

#### Parameters

| Name | Type |
| :------ | :------ |
| `pixel` | `Float32Array` |

#### Returns

`Float64Array`

___

### computePerspectiveNearWorldPos

▸ **computePerspectiveNearWorldPos**(`pixel`): `Float64Array`

#### Parameters

| Name | Type |
| :------ | :------ |
| `pixel` | `Float32Array` |

#### Returns

`Float64Array`

___

### computeRayTest

▸ **computeRayTest**(`origin`, `direct`): `Float32Array`

#### Parameters

| Name | Type |
| :------ | :------ |
| `origin` | `ArrayLike`\<`number`\> |
| `direct` | `ArrayLike`\<`number`\> |

#### Returns

`Float32Array`

___

### computeViewBoundingBox

▸ **computeViewBoundingBox**(`segment`): `any`

#### Parameters

| Name | Type |
| :------ | :------ |
| `segment` | [`Segment`](Segment.md) \| [`List`](List.md)\<[`Segment`](Segment.md)\> |

#### Returns

`any`

___

### computeViewBoundingBoxByKey

▸ **computeViewBoundingBoxByKey**(`key`): `Float32Array`

#### Parameters

| Name | Type |
| :------ | :------ |
| `key` | `any` |

#### Returns

`Float32Array`

___

### computeViewBoundingBoxes

▸ **computeViewBoundingBoxes**(`segments`): `any`

#### Parameters

| Name | Type |
| :------ | :------ |
| `segments` | [`Segment`](Segment.md)[] |

#### Returns

`any`

___

### convertCoordinate

▸ **convertCoordinate**(`inCoordinate`, `outCoordinate`, `inPoint`): `Float32Array`

#### Parameters

| Name | Type |
| :------ | :------ |
| `inCoordinate` | [`CoordinateType`](../enums/CoordinateType.md) |
| `outCoordinate` | [`CoordinateType`](../enums/CoordinateType.md) |
| `inPoint` | `ArrayLike`\<`number`\> |

#### Returns

`Float32Array`

___

### deInstantiateRenderObject

▸ **deInstantiateRenderObject**(`parent`, `ro`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `parent` | [`RenderInstanceObject`](RenderInstanceObject.md) |
| `ro` | [`RenderObject`](RenderObject.md) |

#### Returns

`void`

___

### dispose

▸ **dispose**(): `void`

#### Returns

`void`

#### Overrides

[Viewer](LonganCore.Viewer.md).[dispose](LonganCore.Viewer.md#dispose)

___

### finaComponent

▸ **finaComponent**(`component`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `component` | [`PropertyComponent`](PropertyComponent.md) |

#### Returns

`void`

___

### finaComponents

▸ **finaComponents**(`ro`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `ro` | [`RenderObject`](RenderObject.md) |

#### Returns

`void`

___

### findInstanceObject

▸ **findInstanceObject**(`ro`): [`RenderInstanceObject`](RenderInstanceObject.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `ro` | [`RenderObject`](RenderObject.md) |

#### Returns

[`RenderInstanceObject`](RenderInstanceObject.md)

___

### findInstanceObjectByInsParent

▸ **findInstanceObjectByInsParent**(`insParent`, `ro`): `any`

#### Parameters

| Name | Type |
| :------ | :------ |
| `insParent` | [`RenderObject`](RenderObject.md) |
| `ro` | [`RenderObject`](RenderObject.md) |

#### Returns

`any`

___

### findInstanceObjects

▸ **findInstanceObjects**(`ro`): [`NumberKeyList`](NumberKeyList.md)\<[`RenderInstanceObject`](RenderInstanceObject.md)\>

#### Parameters

| Name | Type |
| :------ | :------ |
| `ro` | [`RenderObject`](RenderObject.md) |

#### Returns

[`NumberKeyList`](NumberKeyList.md)\<[`RenderInstanceObject`](RenderInstanceObject.md)\>

___

### findInstanceObjectsByInsParent

▸ **findInstanceObjectsByInsParent**(`insParent`, `ro`): [`NumberKeyList`](NumberKeyList.md)\<`any`\>

#### Parameters

| Name | Type |
| :------ | :------ |
| `insParent` | [`RenderObject`](RenderObject.md) |
| `ro` | [`RenderObject`](RenderObject.md) |

#### Returns

[`NumberKeyList`](NumberKeyList.md)\<`any`\>

___

### fitWorld

▸ **fitWorld**(`type?`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `type?` | [`ElementType`](../enums/LonganCore.ElementType.md) |

#### Returns

`void`

#### Inherited from

[Viewer](LonganCore.Viewer.md).[fitWorld](LonganCore.Viewer.md#fitworld)

___

### getGslId

▸ **getGslId**(`key`): `string`

#### Parameters

| Name | Type |
| :------ | :------ |
| `key` | `any` |

#### Returns

`string`

#### Inherited from

[Viewer](LonganCore.Viewer.md).[getGslId](LonganCore.Viewer.md#getgslid)

___

### getInstanceObjectByPath

▸ **getInstanceObjectByPath**(`path`): [`RenderInstanceObject`](RenderInstanceObject.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `path` | `any` |

#### Returns

[`RenderInstanceObject`](RenderInstanceObject.md)

___

### getRenderObjectByPath

▸ **getRenderObjectByPath**(`path`): [`RenderObject`](RenderObject.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `path` | `any` |

#### Returns

[`RenderObject`](RenderObject.md)

___

### initComponent

▸ **initComponent**(`component`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `component` | [`PropertyComponent`](PropertyComponent.md) |

#### Returns

`void`

___

### initComponents

▸ **initComponents**(`ro`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `ro` | [`RenderObject`](RenderObject.md) |

#### Returns

`void`

___

### initManagers

▸ **initManagers**(): `void`

#### Returns

`void`

___

### instantiateRenderObject

▸ **instantiateRenderObject**(`insParent`, `ro`, `deep?`): `void`

#### Parameters

| Name | Type | Default value |
| :------ | :------ | :------ |
| `insParent` | [`RenderInstanceObject`](RenderInstanceObject.md) | `undefined` |
| `ro` | [`RenderObject`](RenderObject.md) | `undefined` |
| `deep` | `boolean` | `true` |

#### Returns

`void`

___

### locateWorld

▸ **locateWorld**(`segment`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `segment` | `number` \| [`Segment`](Segment.md) |

#### Returns

`void`

#### Overrides

[Viewer](LonganCore.Viewer.md).[locateWorld](LonganCore.Viewer.md#locateworld)

___

### locateWorldByData

▸ **locateWorldByData**(`tmin`, `tmax`, `target?`): `void`

#### Parameters

| Name | Type | Default value |
| :------ | :------ | :------ |
| `tmin` | `number`[] | `undefined` |
| `tmax` | `number`[] | `undefined` |
| `target` | `Float32Array` | `null` |

#### Returns

`void`

#### Inherited from

[Viewer](LonganCore.Viewer.md).[locateWorldByData](LonganCore.Viewer.md#locateworldbydata)

___

### makeContextCurrent

▸ **makeContextCurrent**(): `void`

#### Returns

`void`

#### Inherited from

[Viewer](LonganCore.Viewer.md).[makeContextCurrent](LonganCore.Viewer.md#makecontextcurrent)

___

### pixelPointToWorldPoint

▸ **pixelPointToWorldPoint**(`position`, `isMultiplyModel?`): [`number`, `number`, `number`][]

二维坐标转三维坐标，支持多点转换

#### Parameters

| Name | Type | Default value | Description |
| :------ | :------ | :------ | :------ |
| `position` | [`number`, `number`][] | `undefined` | 二维坐标列表 |
| `isMultiplyModel` | `boolean` | `true` | - |

#### Returns

[`number`, `number`, `number`][]

returns 三维坐标列表

___

### rebind

▸ **rebind**(`containerId`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `containerId` | `string` |

#### Returns

`void`

#### Inherited from

[Viewer](LonganCore.Viewer.md).[rebind](LonganCore.Viewer.md#rebind)

___

### reset

▸ **reset**(): `void`

#### Returns

`void`

___

### run

▸ **run**(): `void`

#### Returns

`void`

___

### selectByArea

▸ **selectByArea**(`winArea`, `type`): [`List`](List.md)\<[`SelectionKey`](SelectionKey.md)\>

#### Parameters

| Name | Type |
| :------ | :------ |
| `winArea` | `ArrayLike`\<`number`\> |
| `type` | [`AreaSelectionType`](../enums/LonganCore.AreaSelectionType.md) |

#### Returns

[`List`](List.md)\<[`SelectionKey`](SelectionKey.md)\>

___

### selectByPoint

▸ **selectByPoint**(`winPos`): [`List`](List.md)\<[`SelectionKey`](SelectionKey.md)\>

#### Parameters

| Name | Type |
| :------ | :------ |
| `winPos` | `ArrayLike`\<`number`\> |

#### Returns

[`List`](List.md)\<[`SelectionKey`](SelectionKey.md)\>

___

### selectPositionByPoint

▸ **selectPositionByPoint**(`winPos`): `Float32Array`

#### Parameters

| Name | Type |
| :------ | :------ |
| `winPos` | `ArrayLike`\<`number`\> |

#### Returns

`Float32Array`

#### Inherited from

[Viewer](LonganCore.Viewer.md).[selectPositionByPoint](LonganCore.Viewer.md#selectpositionbypoint)

___

### setSceneCamera

▸ **setSceneCamera**(`position`, `target`, `up`, `width?`, `height?`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `position` | `ArrayLike`\<`number`\> |
| `target` | `ArrayLike`\<`number`\> |
| `up` | `ArrayLike`\<`number`\> |
| `width?` | `number` |
| `height?` | `number` |

#### Returns

`void`

#### Inherited from

[Viewer](LonganCore.Viewer.md).[setSceneCamera](LonganCore.Viewer.md#setscenecamera)

___

### setViewMode

▸ **setViewMode**(`mode`, `fitWorld?`, `bb?`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `mode` | [`ViewMode`](../enums/LonganCore.ViewMode.md) |
| `fitWorld?` | `boolean` |
| `bb?` | `Float32Array` |

#### Returns

`void`

#### Inherited from

[Viewer](LonganCore.Viewer.md).[setViewMode](LonganCore.Viewer.md#setviewmode)

___

### stop

▸ **stop**(): `void`

#### Returns

`void`

___

### updateCameraNearFar

▸ **updateCameraNearFar**(): `void`

#### Returns

`void`

#### Inherited from

[Viewer](LonganCore.Viewer.md).[updateCameraNearFar](LonganCore.Viewer.md#updatecameranearfar)

___

### updateDisplay

▸ **updateDisplay**(): `void`

#### Returns

`void`

___

### updateSize

▸ **updateSize**(): `void`

#### Returns

`void`

#### Inherited from

[Viewer](LonganCore.Viewer.md).[updateSize](LonganCore.Viewer.md#updatesize)

___

### updateViewerBoundingbox

▸ **updateViewerBoundingbox**(): `void`

设置了lightModel的matrix后，需要重新更新viewer的包围盒.

#### Returns

`void`

___

### worldPointToPixelPoint

▸ **worldPointToPixelPoint**(`position`, `isMultiplyModel?`): [`number`, `number`][]

三维坐标转二维坐标，支持多点转换

#### Parameters

| Name | Type | Default value | Description |
| :------ | :------ | :------ | :------ |
| `position` | `Float32Array`[] \| `Float64Array`[] \| `number`[][] | `undefined` | 三维坐标列表 |
| `isMultiplyModel` | `boolean` | `true` | - |

#### Returns

[`number`, `number`][]

returns 二维坐标列表

___

### zUnitLength

▸ **zUnitLength**(`z`): `number`

#### Parameters

| Name | Type |
| :------ | :------ |
| `z` | `number` |

#### Returns

`number`
