Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/src/lib/collision_detection/bv_tree.h @ 4700

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

orxonox/trunk: 3 axis get checked:) 12 to go…

File size: 977 bytes
Line 
1/*!
2    \file bv_tree.h
3    \brief Definition of a bounding volume tree
4
5*/
6
7#ifndef _BV_TREE_H
8#define _BV_TREE_H
9
10
11#include "base_object.h"
12#include "abstract_model.h"
13
14// FORWARD DEFINITION
15class BoundingVolume;
16class BVTreeNode;
17class PNode;
18
19typedef enum DrawMode
20{
21  DRAW_ALL               = 1<<0,
22  DRAW_SINGLE            = 1<<1,
23
24  DRAW_SEPARATING_PLANE  = 1<<2,
25  DRAW_BV_AXIS           = 1<<3,
26  DRAW_BV_BLENDED        = 1<<4,
27  DRAW_BV_POLYGON        = 1<<5,
28  DRAW_MODEL             = 1<<6
29};
30
31
32//! A class that represents a bounding volume tree
33class BVTree : public BaseObject {
34
35 public:
36  BVTree();
37  virtual ~BVTree();
38
39  virtual void spawnBVTree(int depth, sVec3D *verticesList, const int length) = NULL;
40  virtual void flushTree() = NULL;
41
42  virtual void collideWith(BVTree* tree, PNode* nodeA, PNode* nodeB) = NULL;
43
44  virtual void drawBV(int depth, int drawMode) const = NULL;
45
46
47 protected:
48  int numberOfVertices;
49
50 private:
51
52
53};
54
55#endif /* _BV_TREE_H */
Note: See TracBrowser for help on using the repository browser.