Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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