Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

orxonox/trunk: more draw options

File size: 1010 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  DRAW_POINTS            = 1<<7
30};
31
32
33//! A class that represents a bounding volume tree
34class BVTree : public BaseObject {
35
36 public:
37  BVTree();
38  virtual ~BVTree();
39
40  virtual void spawnBVTree(int depth, sVec3D *verticesList, const int length) = NULL;
41  virtual void flushTree() = NULL;
42
43  virtual void collideWith(BVTree* tree, PNode* nodeA, PNode* nodeB) = NULL;
44
45  virtual void drawBV(int depth, int drawMode) const = NULL;
46
47
48 protected:
49  int numberOfVertices;
50
51 private:
52
53
54};
55
56#endif /* _BV_TREE_H */
Note: See TracBrowser for help on using the repository browser.