OMK::Vis::SubEntityMaterial Class Reference

#include <OMKMaterial.h>

Inheritance diagram for OMK::Vis::SubEntityMaterial:

Inheritance graph
[legend]
Collaboration diagram for OMK::Vis::SubEntityMaterial:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SubEntityMaterial (Ogre::SubEntity *ogreSubEntity)
virtual ~SubEntityMaterial ()
Ogre::MaterialPtr & getMaterial ()
Ogre::SubEntity * getOgreSubEntity ()
void activateMaterial ()
void activateMaterial (const Ogre::String &materialName)
virtual void clearMaterial ()
void doAction (const IMaterialAction &action)

Protected Attributes

Ogre::SubEntity * _ogreSubEntity
Ogre::MaterialPtr _mat

Friends

class SubEntityMaterialCopy

Detailed Description

Definition at line 138 of file OMKMaterial.h.


Constructor & Destructor Documentation

OMK::Vis::SubEntityMaterial::SubEntityMaterial ( Ogre::SubEntity *  ogreSubEntity  )  [inline]

Definition at line 141 of file OMKMaterial.h.

00141 : _ogreSubEntity( ogreSubEntity ) {} ;

virtual OMK::Vis::SubEntityMaterial::~SubEntityMaterial (  )  [inline, virtual]

Definition at line 142 of file OMKMaterial.h.

00142 {} ;


Member Function Documentation

Ogre::MaterialPtr& OMK::Vis::SubEntityMaterial::getMaterial (  )  [inline]

Definition at line 148 of file OMKMaterial.h.

Referenced by OMK::Vis::IMaterialAction::getFirstPassOfFirstTechnique(), and OMK::Vis::IMaterialPassAction::subEntityAction().

00148 { return _mat ; }

Ogre::SubEntity* OMK::Vis::SubEntityMaterial::getOgreSubEntity (  )  [inline]

Definition at line 149 of file OMKMaterial.h.

00149 { return _ogreSubEntity ; }

void SubEntityMaterial::activateMaterial (  ) 

Definition at line 133 of file OMKMaterial.cpp.

References _mat, _ogreSubEntity, and OMTRACEID.

Referenced by OMK::Vis::MaterialSetMaterialName::subEntityAction().

00134 {
00135   if( !_mat.isNull() )
00136   {
00137     OMTRACEID("OMK::Material", "set Material " << _mat->getName());
00138     _ogreSubEntity->setMaterialName( _mat->getName() ) ;
00139   }
00140 }

void SubEntityMaterial::activateMaterial ( const Ogre::String &  materialName  ) 

Definition at line 142 of file OMKMaterial.cpp.

References _mat, _ogreSubEntity, clearMaterial(), and OMTRACEID.

00143 {
00144   if( _mat.isNull() || materialName != _mat->getName() )
00145   {
00146     OMTRACEID("OMK::Material", "set Material start " << materialName);
00147     clearMaterial() ;
00148     _mat = Ogre::MaterialManager::getSingleton().getByName( materialName ) ;
00149     _ogreSubEntity->setMaterialName( materialName ) ;
00150   }
00151 }

void SubEntityMaterial::clearMaterial (  )  [virtual]

Reimplemented in OMK::Vis::SubEntityMaterialOrig.

Definition at line 153 of file OMKMaterial.cpp.

References _mat.

Referenced by activateMaterial().

00154 {
00155   if( !_mat.isNull() )
00156   {
00157     Ogre::MaterialManager::getSingleton().remove( _mat->getName() ) ;
00158     _mat.setNull() ;
00159   }
00160 }

void SubEntityMaterial::doAction ( const IMaterialAction action  ) 

Definition at line 128 of file OMKMaterial.cpp.

References OMK::Vis::IMaterialAction::subEntityAction().

00129 {
00130   action.subEntityAction( this ) ;
00131 }


Friends And Related Function Documentation

friend class SubEntityMaterialCopy [friend]

Definition at line 142 of file OMKMaterial.h.


Member Data Documentation

Ogre::SubEntity* OMK::Vis::SubEntityMaterial::_ogreSubEntity [protected]

Definition at line 145 of file OMKMaterial.h.

Referenced by activateMaterial(), OMK::Vis::SubEntityMaterialCopy::SubEntityMaterialCopy(), OMK::Vis::SubEntityMaterialOrig::SubEntityMaterialOrig(), and OMK::Vis::SubEntityMaterialOrig::~SubEntityMaterialOrig().

Ogre::MaterialPtr OMK::Vis::SubEntityMaterial::_mat [protected]

Definition at line 146 of file OMKMaterial.h.

Referenced by activateMaterial(), clearMaterial(), OMK::Vis::SubEntityMaterialCopy::SubEntityMaterialCopy(), OMK::Vis::SubEntityMaterialOrig::SubEntityMaterialOrig(), and OMK::Vis::SubEntityMaterialOrig::~SubEntityMaterialOrig().


logo OpenMask

Documentation generated on Mon Jun 9 11:46:05 2008

Generated with doxygen by Dimitri van Heesch ,   1997-2007