Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file was 9869, checked in by bensch, 18 years ago

orxonox/trunk: merged the new_class_id branche back to the trunk.
merged with command:
svn merge https://svn.orxonox.net/orxonox/branches/new_class_id trunk -r9683:HEAD
no conflicts… puh..

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
[7711]10
[4541]11#include "base_object.h"
[6022]12#include "model.h"
[5481]13#include "vector.h"
[4541]14
[7711]15
16// forward declarations
[4541]17class BoundingVolume;
18class BVTree;
[4700]19class PNode;
[5028]20class WorldEntity;
[4542]21template<class T> class tList;
[4541]22
[7711]23
[4541]24//! A class that represents a bounding volume tree
25class BVTreeNode : public BaseObject {
[9869]26  ObjectListDeclaration(BVTreeNode);
[4541]27
[7711]28
[4541]29 public:
30  BVTreeNode();
31  virtual ~BVTreeNode();
32
[7711]33  virtual const BoundingVolume* getBV() const = 0;
34  /** returns the index of this bounding volume tree node @returns index of this index */
35  inline const int getIndex() const { return this->treeIndex; }
[4541]36
[7711]37  virtual void spawnBVTree(const modelInfo& modInfo, const int* triangleIndexes, int length) = 0;
[5279]38  virtual void collideWith(BVTreeNode* treeNode, WorldEntity* nodeA, WorldEntity* nodeB) = 0;
[5481]39  virtual void drawBV(int depth, int drawMode, const Vector& color = Vector(1,0,0), bool top = true) const = 0;
[4541]40
41
[7732]42
[4541]43 private:
44  unsigned int        treeIndex;                  //!< Index number of the BV in the tree
45
[7732]46
[4541]47};
48
49#endif /* _BV_TREE_NODE_H */
Note: See TracBrowser for help on using the repository browser.