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

# Class: SceneObject

## Hierarchy

- [`RenderLivingObject`](RenderLivingObject.md)

  ↳ **`SceneObject`**

## Implements

- [`IBoundingBox`](../interfaces/Interface.IBoundingBox.md)

## Table of contents

### Constructors

- [constructor](SceneObject.md#constructor)

### Properties

- [\_childObjects](SceneObject.md#_childobjects)
- [\_components](SceneObject.md#_components)
- [\_needInstantiation](SceneObject.md#_needinstantiation)
- [beginRun](SceneObject.md#beginrun)
- [deInstantiate](SceneObject.md#deinstantiate)
- [endRun](SceneObject.md#endrun)
- [instantiate](SceneObject.md#instantiate)
- [typeName](SceneObject.md#typename)

### Accessors

- [boundingBox](SceneObject.md#boundingbox)
- [childObjects](SceneObject.md#childobjects)
- [components](SceneObject.md#components)
- [id](SceneObject.md#id)
- [initModellingMatrix](SceneObject.md#initmodellingmatrix)
- [modellingMatrix](SceneObject.md#modellingmatrix)
- [name](SceneObject.md#name)
- [needSerialization](SceneObject.md#needserialization)
- [no](SceneObject.md#no)
- [parent](SceneObject.md#parent)
- [segment](SceneObject.md#segment)
- [visible](SceneObject.md#visible)

### Methods

- [\_executeBeginRun](SceneObject.md#_executebeginrun)
- [\_executeDeInstantiate](SceneObject.md#_executedeinstantiate)
- [\_executeEndRun](SceneObject.md#_executeendrun)
- [\_executeInstantiate](SceneObject.md#_executeinstantiate)
- [addChildObject](SceneObject.md#addchildobject)
- [appendModellingMatrix](SceneObject.md#appendmodellingmatrix)
- [backup](SceneObject.md#backup)
- [backupSegment](SceneObject.md#backupsegment)
- [clearChildObjects](SceneObject.md#clearchildobjects)
- [deserialize](SceneObject.md#deserialize)
- [dispose](SceneObject.md#dispose)
- [forEach](SceneObject.md#foreach)
- [getTreeModellingMatrix](SceneObject.md#gettreemodellingmatrix)
- [getTreeModellingMatrixExcludeSelf](SceneObject.md#gettreemodellingmatrixexcludeself)
- [onSegmentRender](SceneObject.md#onsegmentrender)
- [removeChildObject](SceneObject.md#removechildobject)
- [render](SceneObject.md#render)
- [serialize](SceneObject.md#serialize)
- [updateBoundingBox](SceneObject.md#updateboundingbox)

## Constructors

### constructor

• **new SceneObject**(): [`SceneObject`](SceneObject.md)

#### Returns

[`SceneObject`](SceneObject.md)

#### Overrides

[RenderLivingObject](RenderLivingObject.md).[constructor](RenderLivingObject.md#constructor)

## Properties

### \_childObjects

• **\_childObjects**: [`RenderObject`](RenderObject.md)[] = `[]`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[_childObjects](RenderLivingObject.md#_childobjects)

___

### \_components

• **\_components**: `ComponentCollection`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[_components](RenderLivingObject.md#_components)

___

### \_needInstantiation

• **\_needInstantiation**: `boolean` = `true`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[_needInstantiation](RenderLivingObject.md#_needinstantiation)

___

### beginRun

• **beginRun**: [`List`](List.md)\<(`Viewer`: `any`, `EventArgs`: `any`) => `void`\>

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[beginRun](RenderLivingObject.md#beginrun)

___

### deInstantiate

• **deInstantiate**: [`List`](List.md)\<(`Viewer`: `any`, `EventArgs`: `any`) => `void`\>

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[deInstantiate](RenderLivingObject.md#deinstantiate)

___

### endRun

• **endRun**: [`List`](List.md)\<(`Viewer`: `any`, `EventArgs`: `any`) => `void`\>

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[endRun](RenderLivingObject.md#endrun)

___

### instantiate

• **instantiate**: [`List`](List.md)\<(`Viewer`: `any`, `EventArgs`: `any`) => `void`\>

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[instantiate](RenderLivingObject.md#instantiate)

___

### typeName

• **typeName**: `string` = `"SceneObject"`

#### Overrides

[RenderLivingObject](RenderLivingObject.md).[typeName](RenderLivingObject.md#typename)

## Accessors

### boundingBox

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

#### Returns

`Float64Array`

#### Implementation of

[IBoundingBox](../interfaces/Interface.IBoundingBox.md).[boundingBox](../interfaces/Interface.IBoundingBox.md#boundingbox)

___

### childObjects

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

#### Returns

[`RenderObject`](RenderObject.md)[]

#### Inherited from

RenderLivingObject.childObjects

___

### components

• `get` **components**(): `ComponentCollection`

#### Returns

`ComponentCollection`

#### Inherited from

RenderLivingObject.components

___

### id

• `get` **id**(): `string`

#### Returns

`string`

#### Inherited from

RenderLivingObject.id

___

### initModellingMatrix

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

#### Returns

`Float32Array`

#### Inherited from

RenderLivingObject.initModellingMatrix

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

#### Parameters

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

#### Returns

`void`

#### Inherited from

RenderLivingObject.initModellingMatrix

___

### modellingMatrix

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

#### Returns

`Float32Array`

#### Inherited from

RenderLivingObject.modellingMatrix

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

#### Parameters

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

#### Returns

`void`

#### Inherited from

RenderLivingObject.modellingMatrix

___

### name

• `get` **name**(): `string`

#### Returns

`string`

#### Inherited from

RenderLivingObject.name

• `set` **name**(`na`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `na` | `string` |

#### Returns

`void`

#### Inherited from

RenderLivingObject.name

___

### needSerialization

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

#### Returns

`boolean`

#### Inherited from

RenderLivingObject.needSerialization

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

#### Parameters

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

#### Returns

`void`

#### Inherited from

RenderLivingObject.needSerialization

___

### no

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

#### Returns

`number`

#### Inherited from

RenderLivingObject.no

___

### parent

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

#### Returns

[`RenderObject`](RenderObject.md)

#### Inherited from

RenderLivingObject.parent

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

#### Parameters

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

#### Returns

`void`

#### Inherited from

RenderLivingObject.parent

___

### segment

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

#### Returns

[`Segment`](Segment.md)

#### Inherited from

RenderLivingObject.segment

___

### visible

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

#### Returns

`boolean`

#### Inherited from

RenderLivingObject.visible

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

#### Parameters

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

#### Returns

`void`

#### Inherited from

RenderLivingObject.visible

## Methods

### \_executeBeginRun

▸ **_executeBeginRun**(`viewer`, `args`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `viewer` | [`Viewer`](Viewer.md) |
| `args` | [`EventArgs`](EventArgs.md) |

#### Returns

`void`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[_executeBeginRun](RenderLivingObject.md#_executebeginrun)

___

### \_executeDeInstantiate

▸ **_executeDeInstantiate**(`viewer`, `args`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `viewer` | [`Viewer`](Viewer.md) |
| `args` | [`EventArgs`](EventArgs.md) |

#### Returns

`void`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[_executeDeInstantiate](RenderLivingObject.md#_executedeinstantiate)

___

### \_executeEndRun

▸ **_executeEndRun**(`viewer`, `args`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `viewer` | [`Viewer`](Viewer.md) |
| `args` | [`EventArgs`](EventArgs.md) |

#### Returns

`void`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[_executeEndRun](RenderLivingObject.md#_executeendrun)

___

### \_executeInstantiate

▸ **_executeInstantiate**(`viewer`, `args`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `viewer` | [`Viewer`](Viewer.md) |
| `args` | [`EventArgs`](EventArgs.md) |

#### Returns

`void`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[_executeInstantiate](RenderLivingObject.md#_executeinstantiate)

___

### addChildObject

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

#### Parameters

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

#### Returns

`void`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[addChildObject](RenderLivingObject.md#addchildobject)

___

### appendModellingMatrix

▸ **appendModellingMatrix**(`mm`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `mm` | `Float32Array` |

#### Returns

`void`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[appendModellingMatrix](RenderLivingObject.md#appendmodellingmatrix)

___

### backup

▸ **backup**(): `Object`

#### Returns

`Object`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[backup](RenderLivingObject.md#backup)

___

### backupSegment

▸ **backupSegment**(): [`Segment`](Segment.md)

#### Returns

[`Segment`](Segment.md)

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[backupSegment](RenderLivingObject.md#backupsegment)

___

### clearChildObjects

▸ **clearChildObjects**(): `void`

#### Returns

`void`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[clearChildObjects](RenderLivingObject.md#clearchildobjects)

___

### deserialize

▸ **deserialize**(`obj`, `pm?`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `obj` | `any` |
| `pm?` | [`IPersistenceManager`](../interfaces/Interface.IPersistenceManager.md) |

#### Returns

`void`

#### Overrides

[RenderLivingObject](RenderLivingObject.md).[deserialize](RenderLivingObject.md#deserialize)

___

### dispose

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

#### Returns

`void`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[dispose](RenderLivingObject.md#dispose)

___

### forEach

▸ **forEach**(`callback`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `callback` | (`ro`: [`RenderObject`](RenderObject.md)) => `any` |

#### Returns

`void`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[forEach](RenderLivingObject.md#foreach)

___

### getTreeModellingMatrix

▸ **getTreeModellingMatrix**(): `Float32Array`

#### Returns

`Float32Array`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[getTreeModellingMatrix](RenderLivingObject.md#gettreemodellingmatrix)

___

### getTreeModellingMatrixExcludeSelf

▸ **getTreeModellingMatrixExcludeSelf**(): `Float32Array`

#### Returns

`Float32Array`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[getTreeModellingMatrixExcludeSelf](RenderLivingObject.md#gettreemodellingmatrixexcludeself)

___

### onSegmentRender

▸ **onSegmentRender**(`viewer`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `viewer` | [`Viewer`](Viewer.md) |

#### Returns

`void`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[onSegmentRender](RenderLivingObject.md#onsegmentrender)

___

### removeChildObject

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

#### Parameters

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

#### Returns

`void`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[removeChildObject](RenderLivingObject.md#removechildobject)

___

### render

▸ **render**(): `void`

#### Returns

`void`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[render](RenderLivingObject.md#render)

___

### serialize

▸ **serialize**(`pm?`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `pm?` | [`IPersistenceManager`](../interfaces/Interface.IPersistenceManager.md) |

#### Returns

`void`

#### Overrides

[RenderLivingObject](RenderLivingObject.md).[serialize](RenderLivingObject.md#serialize)

___

### updateBoundingBox

▸ **updateBoundingBox**(`matrix`, `updateOriginBB`): `void`

更新模型树的所有节点的BB

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `matrix` | `Float32Array` |  |
| `updateOriginBB` | `boolean` | 是否更新RO上的初始BB值. |

#### Returns

`void`

#### Inherited from

[RenderLivingObject](RenderLivingObject.md).[updateBoundingBox](RenderLivingObject.md#updateboundingbox)
