Main Page | Class Hierarchy | Class List | File List | Class Members | Related Pages

CMaterialManager Class Reference

Material Manager class. More...

#include <MaterialManager.h>

Inheritance diagram for CMaterialManager:

CResourceManager CSingleton< CMaterialManager > CDoubleList< CXMLResource * > CXMLResource CResource CEntity List of all members.

Public Member Functions

virtual CMaterialLoadResource (TiXmlNode *pDataNode, CString strFilename, UINT uiID=0, CString strName="")
virtual CMaterialGetResource (int uiIndex, int uiID=-1, CString strName="", CString strFilename="")
virtual CMaterialAddResource (CString strName, UINT uiID=0, eEntityType ResourceType=Entity_Default)
int RemoveResource (CMaterial *pMaterial)
virtual int LoadXML (TiXmlNode *pDataNode, CString strFilename)
virtual int SaveXML (TiXmlNode *pDataNode, CString strFilename)
virtual void Destroy ()
virtual bool IsOfType (eEntityType eType)

Detailed Description

Material Manager class.

This class provides means to managing various materials (either DirectX or OpenGL ones) It manages a collection of materials (although not pooled yet!) and allow to retrieve them by index, name, ID or filename.

Definition at line 14 of file MaterialManager.h.


Member Function Documentation

CMaterial * CMaterialManager::AddResource CString  strName,
UINT  uiID = 0,
eEntityType  ResourceType = Entity_Default
[virtual]
 

Method details:

Parameters:
strName - Name of the material to add
uiID - ID of the material to add
ResourceType - Type of the material to add
Returns:
Pointer to the material if it has been added succesfully using given parameters, NULL if not

Reimplemented from CResourceManager.

Definition at line 16 of file MaterialManager.cpp.

References CDoubleList< CXMLResource * >::push_back(), CEntity::SetID(), and CEntity::SetName().

void CMaterialManager::Destroy  )  [virtual]
 

Method details: This is where clean-up occurs

Reimplemented from CResourceManager.

Definition at line 245 of file MaterialManager.cpp.

References CResourceManager::Destroy().

CMaterial * CMaterialManager::GetResource int  uiIndex,
int  uiID = -1,
CString  strName = "",
CString  strFilename = ""
[virtual]
 

Method details:

Parameters:
uiIndex - Index by which to retrieve the material
uiID - ID by which to retrieve the material
strName - Name by which to retrieve the material
strFilename - Filename by which to retrieve the material
Returns:
Pointer to the material if it has been found using given parameters, NULL if not

Reimplemented from CResourceManager.

Definition at line 189 of file MaterialManager.cpp.

References CDoubleList< CXMLResource * >::at(), CDoubleList< CXMLResource * >::begin(), CXMLResource::GetFilename(), CEntity::GetID(), CEntity::GetName(), CDoubleList< CXMLResource * >::next(), CDoubleList< CXMLResource * >::set_ptr(), and CDoubleList< CXMLResource * >::size().

Referenced by LoadResource(), and CGUIElement::PropertyChanging().

bool CMaterialManager::IsOfType eEntityType  eType  )  [virtual]
 

Method details: This is an implementation of Custom RTTI

Reimplemented from CResourceManager.

Definition at line 250 of file MaterialManager.cpp.

References CResourceManager::IsOfType().

CMaterial * CMaterialManager::LoadResource TiXmlNode pDataNode,
CString  strFilename,
UINT  uiID = 0,
CString  strName = ""
[virtual]
 

Method details:

Parameters:
pDataNode - Pointer to XML Data node containing data for the material
strFilename - Name of the file containing data for the material
uiID - ID for the material to be loaded
strName - Name for the material to be loaded
Returns:
Pointer to the material if it has been loaded succesfully, NULL if not

Implements CResourceManager.

Definition at line 119 of file MaterialManager.cpp.

References TiXmlElement::Attribute(), CEntity::GetID(), CEntity::GetName(), GetResource(), CMaterial::LoadXML(), TiXmlNode::pcValue(), CDoubleList< CXMLResource * >::push_back(), CEntity::SetID(), CEntity::SetName(), and TiXmlNode::ToElement().

Referenced by LoadXML(), CGUIElement::LoadXML(), and CBitmapFont::LoadXML().

int CMaterialManager::LoadXML TiXmlNode pDataNode,
CString  strFilename
[virtual]
 

Method details:

Parameters:
pDataNode - Pointer to XML Node that holds data for this texture
strFilename - String containing filename where the data for the material is stored

Reimplemented from CResourceManager.

Definition at line 37 of file MaterialManager.cpp.

References TiXmlNode::FirstChild(), CEntity::GetID(), CEntity::GetName(), CSingleton< CGlobalLogger >::GetSingleton(), TiXmlNode::IterateChildren(), LoadResource(), CResourceManager::LoadXML(), TiXmlNode::pcValue(), and CLogger::Write().

int CMaterialManager::RemoveResource CMaterial pMaterial  ) 
 

Method details:

Parameters:
pResource - Pointer to the material to remove
Returns:
1 if it has been found and removed succesfully, 0 otherwise
Definition at line 239 of file MaterialManager.cpp.

int CMaterialManager::SaveXML TiXmlNode pDataNode,
CString  strFilename
[virtual]
 

Method details:

Parameters:
pDataNode - Pointer to XML Node that will be the parent hold the data for this texture
strFilename - String containing filename where the data for the material is stored

Reimplemented from CResourceManager.

Definition at line 80 of file MaterialManager.cpp.

References CDoubleList< CXMLResource * >::begin(), TiXmlNode::InsertEndChild(), CDoubleList< CXMLResource * >::next(), TiXmlDocument::SaveFile(), CMaterial::SaveXML(), CDoubleList< CXMLResource * >::set_ptr(), and TiXmlNode::ToElement().


The documentation for this class was generated from the following files:
Generated on Sun Jul 17 21:34:30 2005 for OpenGL GUI by doxygen 1.3.8