# RoomleConfigurator.Internal.ShadowMapPassOverrideMaterialCache

[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_).ShadowMapPassOverrideMaterialCache

## Hierarchy

* [`ObjectRenderCache`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.objectrendercache)

  ↳ **`ShadowMapPassOverrideMaterialCache`**

## Table of contents

### Constructors

* [constructor](#constructor)

### Properties

* [useModifiedMaterial](#usemodifiedmaterial)

### Accessors

* [shadowOnGround](#shadowonground)

### Methods

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

## Constructors

### constructor

• **new ShadowMapPassOverrideMaterialCache**()

#### Overrides

[ObjectRenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.objectrendercache).[constructor](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_roomle_configurator._internal_.objectrendercache#constructor)

## Properties

### useModifiedMaterial

▪ `Static` **useModifiedMaterial**: `boolean` = `true`

## Accessors

### shadowOnGround

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

#### Parameters

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

#### Returns

`void`

## Methods

### addLineOrPoint

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

#### Parameters

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

#### Returns

`void`

#### Overrides

[ObjectRenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.objectrendercache).[addLineOrPoint](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_roomle_configurator._internal_.objectrendercache#addlineorpoint)

***

### addMesh

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

#### Parameters

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

#### Returns

`void`

#### Overrides

[ObjectRenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.objectrendercache).[addMesh](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_roomle_configurator._internal_.objectrendercache#addmesh)

***

### addObject

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

#### Parameters

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

#### Returns

`void`

#### Overrides

[ObjectRenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.objectrendercache).[addObject](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_roomle_configurator._internal_.objectrendercache#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`

#### Inherited from

[ObjectRenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.objectrendercache).[addToCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_roomle_configurator._internal_.objectrendercache#addtocache)

***

### clear

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

#### Returns

`void`

#### Inherited from

[ObjectRenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.objectrendercache).[clear](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_roomle_configurator._internal_.objectrendercache#clear)

***

### dispose

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

#### Returns

`void`

#### Overrides

[ObjectRenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.objectrendercache).[dispose](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_roomle_configurator._internal_.objectrendercache#dispose)

***

### onAfterRender

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

#### Returns

`void`

#### Inherited from

[ObjectRenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.objectrendercache).[onAfterRender](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_roomle_configurator._internal_.objectrendercache#onafterrender)

***

### onBeforeRender

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

#### Returns

`void`

#### Inherited from

[ObjectRenderCache](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.objectrendercache).[onBeforeRender](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_roomle_configurator._internal_.objectrendercache#onbeforerender)

***

### setBoundingBox

▸ **setBoundingBox**(`box`): `void`

#### Parameters

| Name  | Type   |
| ----- | ------ |
| `box` | `Box3` |

#### Returns

`void`

***

### setShadowParameters

▸ **setShadowParameters**(`enableGroundBoundary`, `directionalDependency`, `directionalExponent`, `groundBoundary`, `groundMapScale`, `distance`, `blur`): `void`

#### Parameters

| Name                    | Type      |
| ----------------------- | --------- |
| `enableGroundBoundary`  | `boolean` |
| `directionalDependency` | `number`  |
| `directionalExponent`   | `number`  |
| `groundBoundary`        | `number`  |
| `groundMapScale`        | `number`  |
| `distance`              | `number`  |
| `blur`                  | `number`  |

#### Returns

`void`
