TDME2  1.9.200
Partition.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vector>
4 
5 #include <tdme/tdme.h>
6 #include <tdme/engine/fwd-tdme.h>
7 
8 using std::vector;
9 
12 
13 /**
14  * Partition interface
15  * @author Andreas Drewke
16  */
18 {
19  /**
20  * Destructor
21  */
22  virtual ~Partition() {}
23 
24  /**
25  * Reset
26  */
27  virtual void reset() = 0;
28 
29  /**
30  * Adds a entity
31  * @param entity entity
32  */
33  virtual void addEntity(Entity* entity) = 0;
34 
35  /**
36  * Updates a entity
37  * @param entity entity
38  */
39  virtual void updateEntity(Entity* entity) = 0;
40 
41  /**
42  * Removes a entity
43  * @param entity entity
44  */
45  virtual void removeEntity(Entity* entity) = 0;
46 
47  /**
48  * Get visible entities
49  * @param frustum frustum
50  * @return visible entities
51  */
52  virtual const vector<Entity*>& getVisibleEntities(Frustum* frustum) = 0;
53 
54  /**
55  * Check if entity is visible
56  * @param frustum frustum
57  * @param entity entity
58  * @return if entity has been determined to be visible by last getVisibleEntities() call
59  */
60  virtual bool isVisibleEntity(Entity* entity) = 0;
61 
62 };
Engine entity.
Definition: Entity.h:30
Frustum class.
Definition: Frustum.h:29
Partition interface.
Definition: Partition.h:18
virtual bool isVisibleEntity(Entity *entity)=0
Check if entity is visible.
virtual void updateEntity(Entity *entity)=0
Updates a entity.
virtual ~Partition()
Destructor.
Definition: Partition.h:22
virtual void reset()=0
Reset.
virtual void addEntity(Entity *entity)=0
Adds a entity.
virtual void removeEntity(Entity *entity)=0
Removes a entity.
virtual const vector< Entity * > & getVisibleEntities(Frustum *frustum)=0
Get visible entities.