OpenMW
apps/openmw/mwworld/cellfunctors.hpp
Go to the documentation of this file.
00001 #ifndef GAME_MWWORLD_CELLFUNCTORS_H
00002 #define GAME_MWWORLD_CELLFUNCTORS_H
00003 
00004 #include <vector>
00005 #include <string>
00006 
00007 #include "ptr.hpp"
00008 
00009 namespace ESM
00010 {
00011     class CellRef;
00012 }
00013 
00014 namespace MWWorld
00015 {
00017     struct ListAndResetHandles
00018     {
00019         std::vector<Ogre::SceneNode*> mHandles;
00020 
00021         bool operator() (MWWorld::Ptr ptr)
00022         {
00023             Ogre::SceneNode* handle = ptr.getRefData().getBaseNode();
00024             if (handle)
00025                 mHandles.push_back (handle);
00026 
00027             ptr.getRefData().setBaseNode(0);
00028             return true;
00029         }
00030     };
00031 }
00032 
00033 #endif