casse-brick latest
Ce projet est réalisé dans le cadre du cours de Programmation Avancée en M1 Informatique de l'université de Strasbourg.
Loading...
Searching...
No Matches
CollisionManager.h
Go to the documentation of this file.
1//
2// Created by nicolas elfering on 08.05.24.
3//
4
5#ifndef CASSE_BRIQUE_COLLISIONMANAGER_H
6#define CASSE_BRIQUE_COLLISIONMANAGER_H
7
8#include <unordered_map>
9#include <vector>
10#include <memory>
11
12#include "CollidingObject.h"
13#include "iostream"
14#include "rectangle.h"
19 std::weak_ptr<Collider> collider1;
20 std::weak_ptr<Collider> collider2;
21 float collisionX;
22 float collisionY;
23};
24
31public:
33
38 numBalls=1;
39 };
40
41 std::vector<std::shared_ptr<CollidingObject>> colliders;
42 std::vector<CollisionInfo> collisions;
43
49 void addCollider(const std::shared_ptr<CollidingObject>& collider);
50
56 void removeCollider(const std::shared_ptr<CollidingObject>& collider);
57
63 bool detectCollisions();
64
68 void printCollisions() const;
69};
70
71
72#endif //CASSE_BRIQUE_COLLISIONMANAGER_H
The CollisionManager class manages collision detection and resolution.
bool detectCollisions()
Detects collisions between collisionObject.
void removeCollider(const std::shared_ptr< CollidingObject > &collider)
Removes a collisionObject from the collision manager.
std::vector< CollisionInfo > collisions
The collection of collision information.
std::vector< std::shared_ptr< CollidingObject > > colliders
The collection of colliding objects.
void addCollider(const std::shared_ptr< CollidingObject > &collider)
Adds a collisionObject to the collision manager.
CollisionManager()
Constructs a new CollisionManager object.
void printCollisions() const
Prints information about collisions to the console.
int numBalls
The number of balls in the collision manager.
The CollisionInfo struct contains information about a collision.
std::weak_ptr< Collider > collider1
The first collider involved in the collision.
float collisionY
The y-coordinate of the collision point.
float collisionX
The x-coordinate of the collision point.
std::weak_ptr< Collider > collider2
The second collider involved in the collision.