# RoomleConfigurator.Internal.ObjectRenderCache

[configurator-core/src/roomle-configurator](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/modules/configurator_core_src_roomle_configurator).[internal](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/modules/configurator_core_src_roomle_configurator._internal_).ObjectRenderCache

## Hierarchy

* **`ObjectRenderCache`**

  ↳ [`GBufferMaterialCache`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.gbuffermaterialcache)

  ↳ [`ShadowMapPassOverrideMaterialCache`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.shadowmappassoverridematerialcache)

## Implements

* [`RenderCache`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache)

## Table of contents

### Constructors

* [constructor](#constructor)

### Methods

* [addLineOrPoint](#addlineorpoint)
* [addMesh](#addmesh)
* [addObject](#addobject)
* [addToCache](#addtocache)
* [clear](#clear)
* [dispose](#dispose)
* [onAfterRender](#onafterrender)
* [onBeforeRender](#onbeforerender)

## Constructors

### constructor

• **new ObjectRenderCache**()

## Methods

### addLineOrPoint

▸ `Abstract` **addLineOrPoint**(`object3d`): `void`

#### Parameters

| Name       | Type                           |
| ---------- | ------------------------------ |
| `object3d` | `Object3D`<`Object3DEventMap`> |

#### Returns

`void`

#### Implementation of

[RenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache).[addLineOrPoint](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache#addlineorpoint)

***

### addMesh

▸ `Abstract` **addMesh**(`mesh`): `void`

#### Parameters

| Name   | Type                                                                                                |
| ------ | --------------------------------------------------------------------------------------------------- |
| `mesh` | `Mesh`<`BufferGeometry`<`NormalBufferAttributes`>, `Material` \| `Material`\[], `Object3DEventMap`> |

#### Returns

`void`

#### Implementation of

[RenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache).[addMesh](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache#addmesh)

***

### addObject

▸ `Abstract` **addObject**(`object3d`): `void`

#### Parameters

| Name       | Type                           |
| ---------- | ------------------------------ |
| `object3d` | `Object3D`<`Object3DEventMap`> |

#### Returns

`void`

#### Implementation of

[RenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache).[addObject](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache#addobject)

***

### addToCache

▸ **addToCache**(`object`, `updateObjectData`): `void`

#### Parameters

| Name               | Type                                                                                                                                                                |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `object`           | `Object3D`<`Object3DEventMap`> \| `Mesh`<`BufferGeometry`<`NormalBufferAttributes`>, `Material` \| `Material`\[], `Object3DEventMap`>                               |
| `updateObjectData` | [`ObjectCacheData`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.objectcachedata) |

#### Returns

`void`

***

### clear

▸ **clear**(): `void`

#### Returns

`void`

#### Implementation of

[RenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache).[clear](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache#clear)

***

### dispose

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

#### Returns

`void`

#### Implementation of

[RenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache).[dispose](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache#dispose)

***

### onAfterRender

▸ **onAfterRender**(): `void`

#### Returns

`void`

#### Implementation of

[RenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache).[onAfterRender](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache#onafterrender)

***

### onBeforeRender

▸ **onBeforeRender**(): `void`

#### Returns

`void`

#### Implementation of

[RenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache).[onBeforeRender](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.rendercache#onbeforerender)
