Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/cd_merge/src/lib/collision_detection/bv_tree.h @ 6657

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

orxonox/cd_merge: merged the old collision-detection here.

File size: 998 bytes
RevLine 
[4622]1/*!
[5039]2 * @file bv_tree.h
[4836]3  *  Definition of a bounding volume tree
[4510]4
5*/
6
[4511]7#ifndef _BV_TREE_H
8#define _BV_TREE_H
[4510]9
[4553]10
[4510]11#include "base_object.h"
[6022]12#include "model.h"
[4510]13
[5405]14// FORWARD DECLARATION
[4524]15class BoundingVolume;
[4695]16class BVTreeNode;
[4700]17class PNode;
[5026]18class WorldEntity;
[4510]19
[6657]20//! draw mode for the bounding volume
[4635]21typedef enum DrawMode
22{
23  DRAW_ALL               = 1<<0,
24  DRAW_SINGLE            = 1<<1,
[4550]25
[4635]26  DRAW_SEPARATING_PLANE  = 1<<2,
27  DRAW_BV_AXIS           = 1<<3,
28  DRAW_BV_BLENDED        = 1<<4,
29  DRAW_BV_POLYGON        = 1<<5,
[4712]30  DRAW_MODEL             = 1<<6,
31  DRAW_POINTS            = 1<<7
[4635]32};
33
34
[4514]35//! A class that represents a bounding volume tree
[6657]36class BVTree : public BaseObject
37{
[4510]38
[6657]39  public:
40    BVTree();
41    virtual ~BVTree();
[4510]42
[6657]43    virtual void spawnBVTree(const modelInfo& modelInf) = 0;
44    virtual void flushTree() = 0;
[4510]45
[6657]46    virtual void collideWith(const WorldEntity& entity1, const WorldEntity& entity2) const = 0;
[4695]47
[6657]48    virtual void drawBV(int depth, int drawMode) const = 0;
[4510]49};
50
[4511]51#endif /* _BV_TREE_H */
Note: See TracBrowser for help on using the repository browser.