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

Revision 59, 1.3 KB checked in by mattausch, 19 years ago (diff)

completely changed file structure plus software design

Line 
1#ifndef _SolidHalfBoundingBox_H__
2#define _SolidHalfBoundingBox_H__
3
4#include "OgreWireBoundingBox.h"
5
6namespace Ogre {
7
8/** Allows the rendering of one half of a solid bounding box.
9    @remarks
10        This class builds a wireframe 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(bool isFirstHalf);
18        void setupBoundingBox(const AxisAlignedBox& aabb);
19        /** Override this method to prevent parent transforms (rotation,translation,scale)
20                and to make it public.
21    */
22        void getWorldTransforms(Matrix4* xform) const;
23
24protected:
25   
26    /** Builds the wireframe line list.
27                @param aab the axis aligned bounding box for setting up the list.
28    */
29        void setupBoundingBoxVertices(const AxisAlignedBox& aab);
30        /**
31                Sets the material used for occlusion queries.
32                @remark the material is called "OcclusionQuery" and
33                uses no lighting, no depth write, and no colours
34        */
35        void setOcclusionQueryMaterial();
36        /** Whether this half box is the first or the second half of the bounding box.
37        */
38        bool mIsFirstHalf;     
39};
40
41}// namespace Ogre
42
43#endif // SolidHalfBoundingBox
44
45
Note: See TracBrowser for help on using the repository browser.