00001 /* $Id: ObjsAheadExplorer.h,v 1.2 2002/11/05 14:31:15 anonymous Exp $ */ 00002 00003 #ifndef __OBJECTS_AHEAD_EXPLORER_H 00004 #define __OBJECTS_AHEAD_EXPLORER_H 00005 00006 #include <esg/geometry/Geometry.h> 00007 #include <esg/Group.h> 00008 #include <esg/SceneGraphObject.h> 00009 #include <esg/Definitions.h> 00010 #include <esg/explorer/RayIntExplorer.h> 00011 00012 /* 00013 * Finds tangible visitable objects interfering half-space determined 00014 * by given vector (origin + direction) and stores 00015 * them in space subdivision structure of given group node 00016 */ 00017 00018 namespace esg { 00019 00020 class OGSCENE_EXPORT ObjsAheadExplorer : public RayIntExplorer { 00021 protected: 00022 Group* _pResult; 00023 float _originDist; 00024 00025 protected: 00026 virtual bool _explore (SceneGraphObject&); 00027 00028 public: 00029 ObjsAheadExplorer(const Vector3& /* origin */, 00030 const Vector3& /* direction */, 00031 Group * /* repository for results */); 00032 }; 00033 00034 }; // namespace 00035 00036 #endif // __OBJECTS_AHEAD_EXPLORER_H