| ## Public API Reference

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

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

# iLoaderContext Struct Reference
[Loading & Saving support]

This interface gives the context for the loader. More...

`#include <imap/ldrctxt.h>`

Inheritance diagram for iLoaderContext:

[legend]
List of all members.

## Public Member Functions
virtual bool | CheckDupes () const =0
| Return true if we check for dupes (to avoid objects with same name being loaded again.
virtual bool | CurrentRegionOnly () const =0
| Return true if we only want to look for objects in the region given by GetRegion().
virtual iLight * | FindLight (const char *name)=0
| Find a light.
virtual iMaterialWrapper * | FindMaterial (const char *filename)=0
| Find a material.
virtual iMeshFactoryWrapper * | FindMeshFactory (const char *name)=0
| Find a mesh factory.
virtual iMeshWrapper * | FindMeshObject (const char *name)=0
| Find a mesh object.
virtual iMaterialWrapper * | FindNamedMaterial (const char *name, const char *filename)=0
| Same as FindMaterial but there is no assumption that the name and the filename are the same.
virtual iTextureWrapper * | FindNamedTexture (const char *name, const char *filename)=0
| Find a texture with the given name.
virtual iSector * | FindSector (const char *name)=0
| Find a sector.
virtual iShader * | FindShader (const char *name)=0
| Find a shader.
virtual iTextureWrapper * | FindTexture (const char *filename)=0
| Find a texture.
virtual iRegion * | GetRegion () const =0
| Return a region if we only want to load in that region.

## Detailed Description

This interface gives the context for the loader.

It basically gives loading plugins a way to find materials, meshes, and sectors. In all these cases region-qualified names can be used (i.e. 'regionname/objectname') or normal object names.

WARNING! When a context is created it should not be modified afterwards. Some loader plugins will keep a reference to the context when they support delayed loading. In that case they still need the original contents in the context. So a loader that creates a context should create a new one every time.

Definition at line 51 of file ldrctxt.h.

## Member Function Documentation

virtual bool iLoaderContext::CheckDupes | ( |  | ) | const`[pure virtual]`

Return true if we check for dupes (to avoid objects with same name being loaded again.

virtual bool iLoaderContext::CurrentRegionOnly | ( |  | ) | const`[pure virtual]`

Return true if we only want to look for objects in the region given by GetRegion().

virtual iLight* iLoaderContext::FindLight | ( | const char * | name | ) | `[pure virtual]`

Find a light.

virtual iMaterialWrapper* iLoaderContext::FindMaterial | ( | const char * | filename | ) | `[pure virtual]`

Find a material.

If not found, try to use the filename supplied to find a matching texture. If that isn't found, try to load the texture using the filename. If loaded then it is also Prepared.

virtual iMeshFactoryWrapper* iLoaderContext::FindMeshFactory | ( | const char * | name | ) | `[pure virtual]`

Find a mesh factory.

virtual iMeshWrapper* iLoaderContext::FindMeshObject | ( | const char * | name | ) | `[pure virtual]`

Find a mesh object.

virtual iMaterialWrapper* iLoaderContext::FindNamedMaterial | ( | const char * | name,
|  | const char * | filename |
| ) |  |  | `[pure virtual]`

Same as FindMaterial but there is no assumption that the name and the filename are the same.

This is useful if the filename has /'s in it (a pathname), since region searching will mean that names with /'s will never be found correctly.

virtual iTextureWrapper* iLoaderContext::FindNamedTexture | ( | const char * | name,
|  | const char * | filename |
| ) |  |  | `[pure virtual]`

Find a texture with the given name.

If not found, attempt to load the supplied filename and prepare the texture using the supplied name.

virtual iSector* iLoaderContext::FindSector | ( | const char * | name | ) | `[pure virtual]`

Find a sector.

virtual iShader* iLoaderContext::FindShader | ( | const char * | name | ) | `[pure virtual]`

Find a shader.

virtual iTextureWrapper* iLoaderContext::FindTexture | ( | const char * | filename | ) | `[pure virtual]`

Find a texture.

If not found, attempt to load and prepare the texture using the supplied filename as the name.

virtual iRegion* iLoaderContext::GetRegion | ( |  | ) | const`[pure virtual]`

Return a region if we only want to load in that region.

0 otherwise. If not 0 then all objects will be created in the region.

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

- imap/ldrctxt.h