From d4e8364645f059fa38d88a291117f22f6020a8aa Mon Sep 17 00:00:00 2001 From: "Dhivakar.S" Date: Sat, 28 Feb 2026 20:59:01 +0530 Subject: [PATCH 1/2] local changes --- include/physics_engine.h~ | 0 main.cpp | 23 +++++++++++++++++++++++ main.cpp~ | 27 +++++++++++++++++++++++++++ sfml-app | Bin 0 -> 18552 bytes src/physics_engine.cpp | 1 + 5 files changed, 51 insertions(+) create mode 100644 include/physics_engine.h~ create mode 100644 main.cpp create mode 100644 main.cpp~ create mode 100755 sfml-app diff --git a/include/physics_engine.h~ b/include/physics_engine.h~ new file mode 100644 index 0000000..e69de29 diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..038d624 --- /dev/null +++ b/main.cpp @@ -0,0 +1,23 @@ +#include +#include +using namespace std; + +void func() { + for (int i = 0; i < 10; i++) { + cout << "Thread 1" << endl; + } +} + +int main() { + sf::Thread thread1(&func), thread2(&func); + thread1.launch(); + thread2.launch(); + + for(int i = 0; i < 10; i++) { + cout << "Main thread" << endl; + } + + return 0; +} + + diff --git a/main.cpp~ b/main.cpp~ new file mode 100644 index 0000000..9ad31e8 --- /dev/null +++ b/main.cpp~ @@ -0,0 +1,27 @@ +#include +#include +using namespace std; + +void func() { + for (int i = 0; i < 10; i++) { + cout << "Thread 1" << endl; + } +} + +int main() { + sf::Thread thread(&func); + // wait + + //wait + + //wait + thread.launch(); + + for(int i = 0; i < 10; i++) { + cout << "Main thread" << endl; + } + + return 0; +} + + diff --git a/sfml-app b/sfml-app new file mode 100755 index 0000000000000000000000000000000000000000..3e69497017048c2f0095c4dc3cdee537cdb12fe9 GIT binary patch literal 18552 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 } + From b84263a2bd79fa49fb3e4562afb3b471eb4adb73 Mon Sep 17 00:00:00 2001 From: "Dhivakar.S" Date: Sat, 28 Feb 2026 22:57:05 +0530 Subject: [PATCH 2/2] implemented AddCircle --- include/physics_engine.h | 5 ++++- src/physics_engine.cpp | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/include/physics_engine.h b/include/physics_engine.h index 7c284ad..f751e68 100644 --- a/include/physics_engine.h +++ b/include/physics_engine.h @@ -4,13 +4,16 @@ #include #include #include "physics_object.h" +#include "physics_circle.h" class PhysicsEngine{ private: std::vector> objects; public: - void addObject(std::unique_ptr obj); + void addCircle(float radius, ShapeID ID, + sf::Vector2f pos, sf::Vector2f vel, sf::Vector2f acc, + float angle, float ang_acc, float ang_vel, PhysicalAttributes attr, bool isStatic); void update(sf::Time dt); void draw(sf::RenderWindow& window); }; diff --git a/src/physics_engine.cpp b/src/physics_engine.cpp index f651ae4..23907a5 100644 --- a/src/physics_engine.cpp +++ b/src/physics_engine.cpp @@ -1,6 +1,19 @@ #include "physics_engine.h" -void PhysicsEngine::addObject(std::unique_ptr obj) { +void PhysicsEngine::addCircle(float radius, ShapeID ID, + sf::Vector2f pos, sf::Vector2f vel, sf::Vector2f acc, + float angle, float ang_acc, float ang_vel, const PhysicalAttributes &attr, bool isStatic) { + std::unique_ptr obj = new Circle(radius, pos); + + obj->setPosition(pos); + obj->setVelocity(vel); + obj->setAcceleration(acc); + obj->setAngle(angle); + obj->setAngularAcceleration(ang_acc); + obj->setAngularVelocity(ang_vel); + obj->setAttributes(attr); + obj->setIsStatic(isStatic); + objects.push_back(std::move(obj)); }