-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApplication.cpp
More file actions
39 lines (35 loc) · 1.19 KB
/
Application.cpp
File metadata and controls
39 lines (35 loc) · 1.19 KB
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
//
// Created by ParthSchool on 1/4/2020.
//
#include "Application.h"
#include "Physics.h"
Application::Application() {
objects.reserve(5);
}
void Application::execute() {
for (TransformObject &object : objects) {
Physics::updateRotation(object);
Physics::updatePosition(object);
}
for (TransformObject &object1 : objects) {
for (TransformObject &object2 : objects) {
if (&object1 != &object2) {
float penetration;
int faceIndex;
if (Physics::collisionDetected(object1, object2, penetration, faceIndex)) {
Physics::resolveCollision(object1, object2, penetration, faceIndex);
continue;
}
float overlap;
std::array<float, 2> contactPoint;
std::array<float, 2> axis;
if (Physics::polygonCollisionDetected(object1, object2, overlap, contactPoint, axis)) {
Physics::resolvePolygonCollision(object1, object2, overlap, contactPoint, axis);
}
}
}
}
}
void Application::addObject(TransformObject &object) {
objects.push_back(object);
}