/* ----------------------------------------------------------------------------- This source file is part of the GameTools Project http://www.gametools.org Author: Martin Szydlowski ----------------------------------------------------------------------------- */ #ifndef _OgreBvHierarchyCamera_H_ #define _OgreBvHierarchyCamera_H_ #include #define BVHCAMPTR_CAST(cam) (static_cast(cam)) namespace Ogre { class BvHierarchyCamera : public Camera { public: enum NodeVisibility { BVHNV_NONE, BVHNV_PART, BVHNV_FULL }; // default constructor BvHierarchyCamera(const String& name, SceneManager *sm); // default destructor ~BvHierarchyCamera(); // 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 // _OgreBvHierarchyCamera_H_