Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 5039 was 5039, checked in by bensch, 19 years ago

orxonox/trunk: useless stuff :)

File size: 1.4 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"
[4551]11#include "abstract_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
[4514]19class OBBTree : public BVTree {
[4510]20
[4616]21  public:
22    OBBTree();
[4682]23    OBBTree(int depth, sVec3D *verticesList, const int length);
[4616]24    virtual ~OBBTree();
[4682]25    void init();
[4510]26
[4616]27    virtual void spawnBVTree(int depth, sVec3D *verticesList, const int length);
28    virtual void flushTree();
[4510]29
[5028]30    virtual void collideWith(BVTree* tree, WorldEntity* nodeA, WorldEntity* nodeB);
[5026]31    virtual void collideWith(WorldEntity* entity1, WorldEntity* entity2);
[4528]32
[4635]33    virtual void drawBV(int depth, int drawMode) const;
[4528]34
[4702]35    Material* getMaterial(unsigned int depth) { return this->material[depth%5]; }
36    Material* getTransparentMaterial(unsigned int depth) { return this->transparentMaterial[depth%5]; }
37    Material* getCollisionMaterial() { return this->collisionMaterial; }
[4638]38    int getID() { return ++this->id;}
[4696]39    inline OBBTreeNode* getRootNode() { return this->rootNode; }
[4622]40
[4616]41    void debug();
[4546]42
[4616]43  public:
[4510]44
[4616]45
[4622]46
[4616]47  private:
48    OBBTreeNode*         rootNode;                        //!< reference to the root node of the tree
[4622]49    Material**           material;
[4670]50    Material**           transparentMaterial;
[4702]51    Material*            collisionMaterial;
[4638]52    int                  id;
[4510]53};
54
[4511]55#endif /* _OBB_TREE_H */
Note: See TracBrowser for help on using the repository browser.