| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iGeneralMeshCommonState Struct Reference
[Mesh plugins]

The common interface between genmesh meshes and factories. More...

`#include <imesh/genmesh.h>`

Inheritance diagram for iGeneralMeshCommonState:

[legend]
List of all members.

## Public Member Functions
virtual bool | IsLighting () const =0
| Is lighting enabled.
virtual bool | IsManualColors () const =0
| Are manual colors enabled?
virtual bool | IsShadowCasting () const =0
| Is shadow casting enabled?
virtual bool | IsShadowReceiving () const =0
| Is shadow receiving enabled?
virtual void | SetLighting (bool l)=0
| Set lighting.
virtual void | SetManualColors (bool m)=0
| Set manual colors.
virtual void | SetShadowCasting (bool m)=0
| Set shadowing.
virtual void | SetShadowReceiving (bool m)=0
| Set shadow receiving on.
Custom render buffers
virtual bool | AddRenderBuffer (const char *name, iRenderBuffer *buffer)=0
| Adds an independently named render buffer.
virtual csRef< iRenderBuffer > | GetRenderBuffer (int index)=0
| Get independent render buffer by index.
virtual int | GetRenderBufferCount () const =0
| Get number of independent render buffers.
virtual csRef< iString > | GetRenderBufferName (int index) const =0
| Get the name of an independent render buffer by index.
virtual bool | RemoveRenderBuffer (const char *name)=0
| Removes an independently named render buffer.

## Detailed Description

The common interface between genmesh meshes and factories.

This interface is usually not used alone. Generally one uses iGeneralMeshState or iGeneralFactoryState.

Definition at line 72 of file genmesh.h.

## Member Function Documentation

virtual bool iGeneralMeshCommonState::AddRenderBuffer | ( | const char * | name,
|  | iRenderBuffer * | buffer |
| ) |  |  | `[pure virtual]`

Adds an independently named render buffer.

virtual csRef<iRenderBuffer> iGeneralMeshCommonState::GetRenderBuffer | ( | int | index | ) | `[pure virtual]`

Get independent render buffer by index.

virtual int iGeneralMeshCommonState::GetRenderBufferCount | ( |  | ) | const`[pure virtual]`

Get number of independent render buffers.

virtual csRef<iString> iGeneralMeshCommonState::GetRenderBufferName | ( | int | index | ) | const`[pure virtual]`

Get the name of an independent render buffer by index.

virtual bool iGeneralMeshCommonState::IsLighting | ( |  | ) | const`[pure virtual]`

Is lighting enabled.

virtual bool iGeneralMeshCommonState::IsManualColors | ( |  | ) | const`[pure virtual]`

Are manual colors enabled?

virtual bool iGeneralMeshCommonState::IsShadowCasting | ( |  | ) | const`[pure virtual]`

Is shadow casting enabled?

virtual bool iGeneralMeshCommonState::IsShadowReceiving | ( |  | ) | const`[pure virtual]`

Is shadow receiving enabled?

virtual bool iGeneralMeshCommonState::RemoveRenderBuffer | ( | const char * | name | ) | `[pure virtual]`

Removes an independently named render buffer.

virtual void iGeneralMeshCommonState::SetLighting | ( | bool | l | ) | `[pure virtual]`

Set lighting.

virtual void iGeneralMeshCommonState::SetManualColors | ( | bool | m | ) | `[pure virtual]`

Set manual colors.

If this is set then lighting will be ignored and so will the color set with SetColor(). In this case you can manipulate the color array manually by calling GetColors().

virtual void iGeneralMeshCommonState::SetShadowCasting | ( | bool | m | ) | `[pure virtual]`

Set shadowing.

By default genmesh objects will cast shadows (during the static lighting phase). You can disable this here.

virtual void iGeneralMeshCommonState::SetShadowReceiving | ( | bool | m | ) | `[pure virtual]`

Set shadow receiving on.

By default this is disabled in which case the genmesh object will receive all lighting information dynamically but without shadows. If this is enabled then the lighting system resembles more the lighting system with things which static and pseudo-dynamic lighting. In this case there will be shadows on the genmesh instance.

The documentation for this struct was generated from the following file:

- imesh/genmesh.h