Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/cd_merge/src/lib/collision_detection/obb_tree.h @ 6890

Last change on this file since 6890 was 6890, checked in by patrick, 18 years ago

cd_merge: comipiles again. major interface adjustements

File size: 1.3 KB
RevLine 
[4616]1/*!
[5039]2 * @file obb_tree.h
[4836]3  *  Definition of an obb tree (object oriented Bounding Box)
[4510]4
5*/
6
[4511]7#ifndef _OBB_TREE_H
8#define _OBB_TREE_H
[4510]9
[4514]10#include "bv_tree.h"
[6022]11#include "model.h"
[4616]12#include "material.h"
[4510]13
[4616]14class Material;
[4550]15class OBBTreeNode;
[4700]16class PNode;
[4550]17
[4511]18//! A class for representing an obb tree
[6657]19class OBBTree : public BVTree
20{
[4510]21
[4616]22  public:
[6890]23    OBBTree(int depth, const modelInfo* modInfo);
[4616]24    virtual ~OBBTree();
[4682]25    void init();
[4510]26
[6657]27    virtual void spawnBVTree(const modelInfo& modelInf);
[4616]28    virtual void flushTree();
[4510]29
[6890]30    virtual void collideWith(WorldEntity* entity1, WorldEntity* entity2) const;
[4635]31    virtual void drawBV(int depth, int drawMode) const;
[4528]32
[6657]33    /** returns the next if for the obb tree node @return integer id number of the next node */
34    inline const int getID() { return ++this->id;}
35    /** returns the root node of the bounding volume tree @return reference to the root node */
36    inline const OBBTreeNode* getRootNode() const { return this->rootNode; }
[4622]37
[4616]38    void debug();
[4546]39
[4616]40  private:
41    OBBTreeNode*         rootNode;                        //!< reference to the root node of the tree
[6657]42    int                  id;                              //!< the next id of a obb tree node
43    int                  depth;                           //!< the depth of the tree to generate
[4510]44};
45
[4511]46#endif /* _OBB_TREE_H */
Note: See TracBrowser for help on using the repository browser.