
feat: + Ajout des collisions entre une sphere et un cube bug: + Les collisions impliquant les spheres sont imparfaites, il y aura un fort clipping
27 lines
688 B
C++
27 lines
688 B
C++
#ifndef _PHYSICS_H_
|
|
#define _PHYSICS_H_
|
|
|
|
#include "object.h"
|
|
#include "math.h"
|
|
|
|
class Physics : public Object
|
|
{
|
|
public:
|
|
Physics();
|
|
explicit Physics(const Physics&); // Use explicit to avoid implicit conversion
|
|
~Physics();
|
|
|
|
XMVECTOR GetGravity() const; // Get the gravity value
|
|
void SetGravity(XMVECTOR gravity); // Define the gravity value
|
|
void ApplyGravity(Object*, float, float); // Apply gravity to an object
|
|
void AddForce(Object*, XMVECTOR);
|
|
bool IsColliding(Object*, Object*);
|
|
bool CubesOverlap(Object*, Object*);
|
|
bool SpheresOverlap(Object*, Object*);
|
|
bool SphereCubeOverlap(Object*, Object*);
|
|
|
|
private:
|
|
XMVECTOR m_gravity;
|
|
};
|
|
|
|
#endif |