/* ----------------------------------------------------------------------------- This source file is part of the GameTools Project http://www.gametools.org Author: Martin Szydlowski ----------------------------------------------------------------------------- */ #ifndef _OgreKdTreeCamera_H_ #define _OgreKdTreeCamera_H_ #include #define KDCAMPTR_CAST(cam) (static_cast(cam)) namespace Ogre { class KdTreeCamera : public Camera { public: enum NodeVisibility { KDNV_NONE, KDNV_PART, KDNV_FULL }; // default constructor KdTreeCamera(const String& name, SceneManager *sm); // default destructor ~KdTreeCamera(); // regular visibility, like isVisible NodeVisibility getVisibilitySimple(const AxisAlignedBox& box ) const; // enhanced visibility NodeVisibility getVisibilityEnhanced(const AxisAlignedBox& box) const; // statistical info mutable unsigned int mNumVisQueries; }; } // namespace Ogre #endif // _OgreKdTreeCamera_H_