-
Notifications
You must be signed in to change notification settings - Fork 1
/
CollisionManager.h
52 lines (49 loc) · 1.34 KB
/
CollisionManager.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#pragma once
#include "Includes.h"
class ModelContainer;
///
/// \brief The CollisionManager class
/// Handles the collision detection of various objects in the scene
///
class CollisionManager
{
CollisionManager() { containers = vector<ModelContainer*>(); }
vector<ModelContainer*> containers;
public:
///
/// \brief GetInstance
/// \return
///
static CollisionManager& GetInstance()
{
static CollisionManager instance;
return instance;
}
///
/// \brief CollisionManager
///
CollisionManager(CollisionManager const&) = delete;
///
/// \brief operator =
/// \return
///
CollisionManager& operator=(CollisionManager const&) = delete;
///
/// \brief AddContainer adds a container to check for collision detection
/// \param container
/// \return
///
int AddContainer(ModelContainer* container);
///
/// \brief RemoveContainer removes container from collision detection
/// \param container
///
void RemoveContainer(ModelContainer* container);
///
/// \brief IsColliding Using bounding box vertices
/// \param container the container for which we want to check collision
/// \param index the index of the object for collision detection
/// \return
///
bool IsColliding(ModelContainer* container, int index);
};