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