source: trunk/VUT/Ogre/include/OgreSolidHalfBoundingBox.h @ 117

Revision 117, 1.3 KB checked in by mattausch, 20 years ago (diff)
Line 
1#ifndef _SolidHalfBoundingBox_H__
2#define _SolidHalfBoundingBox_H__
3
4#include "OgreWireBoundingBox.h"
5
6namespace Ogre {
7
8/** The renderable of one half of a solid bounding box.
9    @remarks
10        This class builds a solid renderable from a given aabb. A pointer to this class can be
11                added to a render queue to display the bounding box of an object.
12*/
13class SolidHalfBoundingBox : public WireBoundingBox
14{
15public:
16
17        SolidHalfBoundingBox();
18        /** Sets up the first or second half of a the solid box.
19                @param aab the axis aligned bounding box
20                @param isFirstHalf if it is the first or the second half
21        */
22        void SetupBoundingBox(const AxisAlignedBox& aabb, const bool isFirstHalf);
23       
24        /** Builds the wireframe line list.
25                @param aab the axis aligned bounding box for setting up the vertices
26                @param first or second half of the box
27    */
28        void SetupBoundingBoxVertices(const AxisAlignedBox& aab, const bool isFirstHalf);
29
30protected:
31   
32        /**
33                Sets the material used for occlusion queries.
34                @remark the material is called "Visibility/QueryMaterial" and
35                uses no lighting, no depth write, and no colours
36        */
37        void SetOcclusionQueryMaterial();
38        /** Whether this half box is the first or the second half of the bounding box.
39        */
40        bool mIsFirstHalf;     
41};
42
43}// namespace Ogre
44
45#endif // SolidHalfBoundingBox
46
47
Note: See TracBrowser for help on using the repository browser.