00001
00002
00003 #ifndef __N_EXTENTS_EXPLORER_H
00004 #define __N_EXTENTS_EXPLORER_H
00005
00006 #include <esg/Definitions.h>
00007 #include <esg/explorer/Explorer.h>
00008
00009 namespace esg {
00010
00011 class OGSCENE_EXPORT NExtentsExplorer : public Explorer {
00012 protected:
00013 Interval* _results;
00014 Vector3* _dirs;
00015 Vector3* _trDirs;
00016 float* _scale;
00017 const unsigned _nDirs;
00018 float* _translate;
00019
00020 protected:
00021 virtual bool _process_leaf (SceneGraphObject&);
00022 virtual void _accept_new_transformation (const Matrix4&);
00023
00024 NExtentsExplorer (unsigned nDirs)
00025 : _results(NULL),
00026 _dirs(NULL),
00027 _trDirs(NULL),
00028 _scale(NULL),
00029 _nDirs(nDirs),
00030 _translate(NULL) {}
00031
00032 public:
00033 NExtentsExplorer (const float (*dirs)[3], unsigned nDirs);
00034 NExtentsExplorer (const Vector3* dirs, unsigned nDirs);
00035
00036 virtual ~NExtentsExplorer ();
00037
00038 virtual Interval result (unsigned ) const;
00039 };
00040
00041 };
00042
00043 #endif // __N_EXTENTS_EXPLORER_H