Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/src/lib/collision_detection/bounding_volume.h @ 4541

Last change on this file since 4541 was 4541, checked in by patrick, 19 years ago

orxonox/trunk: added obb tree node structure to be more modular

File size: 1.1 KB
Line 
1/*!
2    \file bounding_volume.h
3    \brief Definition of a bounding volume for collision detection algorithms
4
5*/
6
7#ifndef _BOUNDING_VOLUME_H
8#define _BOUNDING_VOLUME_H
9
10#include "base_object.h"
11
12class sVect3D;
13class Vector;
14template<class T> class tList;
15
16
17//! An abstract class representing a bounding volume
18class BoundingVolume : public BaseObject {
19
20 public:
21  BoundingVolume();
22  virtual ~BoundingVolume();
23
24  virtual void createBV() = NULL;
25
26  inline const Vector* getCenter() const { return this->center; }
27
28  virtual tList<sVect3D>* getVertices() const = NULL;
29  virtual void mergeWith(const BoundingVolume &bv) = NULL;
30
31  virtual void drawBV(int currentDepth, const int depth) const = NULL;
32  virtual void drawBVPolygon(int currentDepth, const int depth) const = NULL;
33  virtual void drawBVBlended(int currentDepth, const int depth) const = NULL;
34
35
36 protected:
37  Vector*             center;                     //!< Center point of box
38
39  tList<sVect3D>*     verticesBuffer;             //!< if CD_STORE_VERTICES enabled, this is the place, where the vert. will be sotred
40};
41
42#endif /* _BOUNDING_VOLUME_H */
Note: See TracBrowser for help on using the repository browser.