OpenMW
|
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