Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

orxonox/trunk: implemented an elegant draw function to display the tree in different ways

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