Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/collision_detection/bv_tree_node.h @ 6193

Last change on this file since 6193 was 6022, checked in by bensch, 18 years ago

orxonox/trunk: merged the NewModel branche back to the trunk.
merged with command
svn merge branches/newModel/ trunk/ -r 6016:HEAD
no conflicts

File size: 1.1 KB
RevLine 
[4618]1/*!
[5039]2 * @file bv_tree.h
[4836]3  *  Definition of a bounding volume tree
[4541]4
5*/
6
7#ifndef _BV_TREE_NODE_H
8#define _BV_TREE_NODE_H
9
10#include "base_object.h"
[6022]11#include "model.h"
[5481]12#include "vector.h"
[4541]13
[5405]14// FORWARD DECLARATION
[4541]15class BoundingVolume;
16class BVTree;
[4700]17class PNode;
[5028]18class WorldEntity;
[4542]19template<class T> class tList;
[4541]20
21//! A class that represents a bounding volume tree
22class BVTreeNode : public BaseObject {
23
24 public:
25  BVTreeNode();
26  virtual ~BVTreeNode();
27
[5688]28  virtual void spawnBVTree(const int depth, const sVec3D *verticesList, unsigned int length ) = 0;
[5684]29  virtual void spawnBVTree(const int depth, const modelInfo& modInfo) = 0;
[4541]30
[5279]31  virtual BoundingVolume* getBV(int index) const = 0;
[4618]32  inline const int getIndex() { return this->treeIndex; }
[4541]33
[5279]34  virtual void collideWith(BVTreeNode* treeNode, WorldEntity* nodeA, WorldEntity* nodeB) = 0;
[4541]35
[5481]36  virtual void drawBV(int depth, int drawMode, const Vector& color = Vector(1,0,0), bool top = true) const = 0;
[4541]37
38
39 private:
40  unsigned int        treeIndex;                  //!< Index number of the BV in the tree
41
42};
43
44#endif /* _BV_TREE_NODE_H */
Note: See TracBrowser for help on using the repository browser.