Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/src/util/collision_detection/bounding_volume.h @ 4524

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

orxonox/trunk: mod some interface arguments, defined some functions of bv tree

File size: 1.3 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;
14
15//! An abstract class representing a bounding volume
16class BoundingVolume : public BaseObject {
17
18 public:
19  BoundingVolume();
20  virtual ~BoundingVolume();
21
22  inline const Vector* getCenter() const { return this->center; }
23  inline const Vector* getAxis () const { return this->axis; }
24  inline const sVect3D* getHalfLength() const { return this->halfLength; } 
25
26  virtual sVect3D* getVertices() const = NULL;
27  virtual void mergeWith(const BoundingVolume &bv) = NULL;
28
29  virtual void drawBV(int currentDepth, const int depth) const = NULL;
30  virtual void drawBVPolygon(int currentDepth, const int depth) const = NULL;
31  virtual void drawBVBlended(int currentDepth, const int depth) const = NULL;
32
33 private:
34  Vector*             center;                     //!< Center point of box
35  Vector*             axis;                       //!< Axes of oriented box [x,y,z]
36  sVect3D*            halfLength;                 //!< Half lengths of the box
37
38  unsigned int        treeIndex;                  //!< Index number of the BV in the tree
39};
40
41#endif /* _BOUNDING_VOLUME_H */
Note: See TracBrowser for help on using the repository browser.