Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/collision_detection/obb_tree.h @ 9442

Last change on this file since 9442 was 9235, checked in by bensch, 18 years ago

merged the presentation back

File size: 1.5 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;
[7711]17class WorldEntity;
[4550]18
[4511]19//! A class for representing an obb tree
[7711]20class OBBTree : public BVTree
21{
[4510]22
[4616]23  public:
[7711]24    OBBTree(int depth, const modelInfo* modInfo, WorldEntity* entity);
[9235]25    OBBTree();
[4616]26    virtual ~OBBTree();
[4682]27    void init();
[4510]28
[7711]29    virtual void spawnBVTree(const modelInfo& modelInf);
[4616]30    virtual void flushTree();
[4510]31
[9235]32    void createBox(Vector start, Vector end);
33
[5026]34    virtual void collideWith(WorldEntity* entity1, WorldEntity* entity2);
[4635]35    virtual void drawBV(int depth, int drawMode) const;
[4528]36
[7711]37    /** returns the next if for the obb tree node @return integer id number of the next node */
38    inline const int getID() { return ++this->id;}
39    /** returns the root node of the bounding volume tree @return reference to the root node */
40    inline OBBTreeNode* getRootNode() const { return this->rootNode; }
41    inline WorldEntity* getOwner() const { return this->owner; }
[4622]42
[4616]43    void debug();
[4546]44
[4616]45  private:
46    OBBTreeNode*         rootNode;                        //!< reference to the root node of the tree
[7711]47    int                  id;                              //!< the next id of a obb tree node
48    int                  depth;                           //!< the depth of the tree to generate
49    WorldEntity*         owner;                           //!< owner
[4510]50};
51
[4511]52#endif /* _OBB_TREE_H */
Note: See TracBrowser for help on using the repository browser.