Explorer.h

Go to the documentation of this file.
00001 /* $Id: Explorer.h,v 1.2 2002/11/05 14:31:15 anonymous Exp $ */
00002 
00003 #ifndef __EXPLORER_H
00004 #define __EXPLORER_H
00005 
00006 #include <esg/SceneGraphObject.h>
00007 #include <esg/Transform.h>
00008 
00009 #include <stack>
00010 #include <esg/Export>
00011 
00012 namespace esg {
00013 
00014 class OGSCENE_EXPORT Explorer {
00015 protected:
00016     std::stack<Matrix4*> _trStack;     // Stored transf. during traversal
00017 
00018 protected:
00019     virtual bool _explore                   (SceneGraphObject&);
00020     virtual bool _iterate                   (SceneGraphObject&);
00021     virtual bool _process_leaf              (SceneGraphObject&)  = 0;
00022     virtual void _accept_new_transformation (const Matrix4&)     = 0;
00023     
00024 public:
00025     virtual ~Explorer() {
00026         while (!_trStack.empty()) { delete _trStack.top(); _trStack.pop(); }
00027     }
00028     
00029     virtual void explore (SceneGraphObject&);
00030 };
00031 
00032 }; // namespace
00033 
00034 #endif // __EXPLORER_H

Generated on Wed Jun 28 12:24:28 2006 for esg by  doxygen 1.4.6