Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/collision_detection/bv_tree.h

Last change on this file 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: 1013 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
[7711]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
[7711]36class BVTree : public BaseObject
37{
[9869]38  ObjectListDeclaration(BVTree);
[4510]39
[7711]40  public:
41    BVTree();
42    virtual ~BVTree();
[4510]43
[7711]44    virtual void spawnBVTree(const modelInfo& modelInf) = 0;
45    virtual void flushTree() = 0;
[4510]46
[7711]47    virtual void collideWith(WorldEntity* entity1, WorldEntity* entity2) = 0;
[4695]48
[7711]49    virtual void drawBV(int depth, int drawMode) const = 0;
[4510]50};
51
[4511]52#endif /* _BV_TREE_H */
Note: See TracBrowser for help on using the repository browser.