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

# Class: DirectionalLight

## Hierarchy

- [`RenderLivingObject`](RenderLivingObject.md)

  ↳ **`DirectionalLight`**

## Table of contents

### Constructors

- [constructor](DirectionalLight.md#constructor)

### Properties

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

### Accessors

- [childObjects](DirectionalLight.md#childobjects)
- [color](DirectionalLight.md#color)
- [components](DirectionalLight.md#components)
- [id](DirectionalLight.md#id)
- [initModellingMatrix](DirectionalLight.md#initmodellingmatrix)
- [intensity](DirectionalLight.md#intensity)
- [modellingMatrix](DirectionalLight.md#modellingmatrix)
- [name](DirectionalLight.md#name)
- [needSerialization](DirectionalLight.md#needserialization)
- [no](DirectionalLight.md#no)
- [parent](DirectionalLight.md#parent)
- [position](DirectionalLight.md#position)
- [segment](DirectionalLight.md#segment)
- [visible](DirectionalLight.md#visible)

### Methods

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

## Constructors

### constructor

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

#### Returns

[`DirectionalLight`](DirectionalLight.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` = `"DirectionalLight"`

#### Overrides

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

## Accessors

### childObjects

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

#### Returns

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

#### Inherited from

RenderLivingObject.childObjects

___

### color

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

#### Returns

`ArrayLike`\<`number`\>

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

#### Parameters

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

#### Returns

`void`

___

### 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

___

### intensity

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

#### Returns

`number`

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

#### Parameters

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

#### Returns

`void`

___

### 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

___

### position

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

#### Returns

`ArrayLike`\<`number`\>

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

#### Parameters

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

#### Returns

`void`

___

### 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`

#### Overrides

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

___

### serialize

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

#### Parameters

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

#### Returns

`any`

#### 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)
