| ## Public API Reference

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

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

# iRegion Struct Reference
[Crystal Space 3D Engine]

A region. More...

`#include <iengine/region.h>`

Inheritance diagram for iRegion:

[legend]
List of all members.

## Public Member Functions
virtual void | Add (iObject *obj)=0
| Add an object to this region.
virtual void | Clear ()=0
| Clear this region without removing the entities in it.
virtual void | DeleteAll ()=0
| Delete all entities in this region.
virtual iCameraPosition * | FindCameraPosition (const char *iName)=0
| Find a camera position in this region by name.
virtual iCollection * | FindCollection (const char *iName)=0
| Find a collection in this region by name.
virtual iMaterialWrapper * | FindMaterial (const char *iName)=0
| Find a material in this region by name.
virtual iMeshFactoryWrapper * | FindMeshFactory (const char *iName)=0
| Find a mesh factory in this region by name.
virtual iMeshWrapper * | FindMeshObject (const char *iName)=0
| Find a sprite in this region by name.
virtual iSector * | FindSector (const char *iName)=0
| Find a sector in this region by name.
virtual iTextureWrapper * | FindTexture (const char *iName)=0
| Find a texture in this region by name.
virtual bool | IsInRegion (iObject *obj)=0
| Check if some object is in this region.
virtual bool | Prepare ()=0
| Prepare all objects in this region.
virtual bool | PrepareTextures ()=0
| Prepare all textures and materials in this region.
virtual iObject * | QueryObject ()=0
| Get the iObject for this region.
virtual void | Remove (iObject *obj)=0
| Remove an object from this region.
virtual bool | ShineLights ()=0
| Do lighting calculations (or read from cache).

## Detailed Description

A region.

A region is basically a collection of objects in the 3D engine that can be treated as a unit.

Main creators of instances implementing this interface:

- iEngine::CreateRegion()

Main ways to get pointers to this interface:

- iEngine::CreateRegion()

Definition at line 51 of file region.h.

## Member Function Documentation

virtual void iRegion::Add | ( | iObject * | obj | ) | `[pure virtual]`

Add an object to this region.

virtual void iRegion::Clear | ( |  | ) | `[pure virtual]`

Clear this region without removing the entities in it.

The entities will simply get unconnected from this region.

virtual void iRegion::DeleteAll | ( |  | ) | `[pure virtual]`

Delete all entities in this region.

virtual iCameraPosition* iRegion::FindCameraPosition | ( | const char * | iName | ) | `[pure virtual]`

Find a camera position in this region by name.

virtual iCollection* iRegion::FindCollection | ( | const char * | iName | ) | `[pure virtual]`

Find a collection in this region by name.

virtual iMaterialWrapper* iRegion::FindMaterial | ( | const char * | iName | ) | `[pure virtual]`

Find a material in this region by name.

virtual iMeshFactoryWrapper* iRegion::FindMeshFactory | ( | const char * | iName | ) | `[pure virtual]`

Find a mesh factory in this region by name.

virtual iMeshWrapper* iRegion::FindMeshObject | ( | const char * | iName | ) | `[pure virtual]`

Find a sprite in this region by name.

virtual iSector* iRegion::FindSector | ( | const char * | iName | ) | `[pure virtual]`

Find a sector in this region by name.

virtual iTextureWrapper* iRegion::FindTexture | ( | const char * | iName | ) | `[pure virtual]`

Find a texture in this region by name.

virtual bool iRegion::IsInRegion | ( | iObject * | obj | ) | `[pure virtual]`

Check if some object is in this region.

The speed of this function is independent of the number of objects in this region (i.e. very fast).

virtual bool iRegion::Prepare | ( |  | ) | `[pure virtual]`

Prepare all objects in this region.

This has to be called directly after loading new objects. This function is equivalent to calling PrepareTextures() followed by ShineLights().

virtual bool iRegion::PrepareTextures | ( |  | ) | `[pure virtual]`

Prepare all textures and materials in this region.

virtual iObject* iRegion::QueryObject | ( |  | ) | `[pure virtual]`

Get the iObject for this region.

virtual void iRegion::Remove | ( | iObject * | obj | ) | `[pure virtual]`

Remove an object from this region.

virtual bool iRegion::ShineLights | ( |  | ) | `[pure virtual]`

Do lighting calculations (or read from cache).

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

- iengine/region.h