| ## Public API Reference

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

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

# iRenderLoopManager Struct Reference
[Renderloops & Rendersteps]

Render loop manager. More...

`#include <iengine/renderloop.h>`

Inheritance diagram for iRenderLoopManager:

[legend]
List of all members.

## Public Member Functions
virtual csPtr< iRenderLoop > | Create ()=0
| Create a new render loop.
virtual const char * | GetName (iRenderLoop *loop)=0
| Get the name asociated to the render loop.
virtual csPtr< iRenderLoop > | Load (const char *fileName)=0
| Load a renderloop from VFS file.
virtual bool | Register (const char *name, iRenderLoop *loop)=0
| Associate a name with a renderloop.
virtual iRenderLoop * | Retrieve (const char *name)=0
| Get the render loop associated with the name.
virtual bool | Unregister (iRenderLoop *loop)=0
| Remove an association between a name and a render loop.

## Detailed Description

Render loop manager.

Use to create new loops and manage loop names.

Remarks:
  It's not recommended to unregister the loop with the name of CS_DEFAULT_RENDERLOOP_NAME.

Main ways to get pointers to this interface:

- iEngine::GetRenderLoopManager()

Definition at line 79 of file renderloop.h.

## Member Function Documentation

virtual csPtr<iRenderLoop> iRenderLoopManager::Create | ( |  | ) | `[pure virtual]`

Create a new render loop.

Remarks:
  This render loop is "unnamed". To name it, use Register().

virtual const char* iRenderLoopManager::GetName | ( | iRenderLoop * | loop | ) | `[pure virtual]`

Get the name asociated to the render loop.

Parameters:

  | loop | Render loop which associated name is to be retrieved.

Returns:
  Name of the loop. 0 if the loop isn't registered.

virtual csPtr<iRenderLoop> iRenderLoopManager::Load | ( | const char * | fileName | ) | `[pure virtual]`

Load a renderloop from VFS file.

This file should be a renderloop XML file with <params> as the root.

Parameters:

  | fileName | is the VFS path.

virtual bool iRenderLoopManager::Register | ( | const char * | name,
|  | iRenderLoop * | loop |
| ) |  |  | `[pure virtual]`

Associate a name with a renderloop.

One name is associated with one render loop. If you try to register a loop with a name that is already used, Register() will fail.

Parameters:

  | name | Name the render loop is registered with.
  | loop | The render loop.

Returns:
  Whether the loop could be registered with the name. Fails if either the name is already used or the loop is already registered.

virtual iRenderLoop* iRenderLoopManager::Retrieve | ( | const char * | name | ) | `[pure virtual]`

Get the render loop associated with the name.

Parameters:

  | name | Name for which the renderloop is to be retrieved.

Returns:
  The render loop associated with the name, or 0 when no loop is registered with that name.

virtual bool iRenderLoopManager::Unregister | ( | iRenderLoop * | loop | ) | `[pure virtual]`

Remove an association between a name and a render loop.

Parameters:

  | loop | Render loop which associated name should be removed.

Returns:
  Whether the association was successfully removed.

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

- iengine/renderloop.h