Files
deltaengine/include/math.hpp
T
2026-02-13 22:53:09 +01:00

46 lines
1.6 KiB
C++

#ifndef DELTA_MATH
#define DELTA_MATH
class DeltaVector2 {
public:
float x, y;
DeltaVector2(float xval, float yval);
DeltaVector2();
DeltaVector2 operator+(const DeltaVector2& other) const;
DeltaVector2 operator-(const DeltaVector2& other) const;
DeltaVector2 operator*(float a) const;
DeltaVector2& operator+=(const DeltaVector2& other);
DeltaVector2& operator-=(const DeltaVector2& other);
float distanceToVector(const DeltaVector2& vec) const;
float distanceToPos(float x, float y) const;
float dotProduct(const DeltaVector2& vec) const;
float angleTo(const DeltaVector2& vec) const;
float length() const;
};
class DeltaVector3 {
public:
float x, y, z;
DeltaVector3(float xval, float yval, float zval);
DeltaVector3();
DeltaVector3 operator+(const DeltaVector3& other) const;
DeltaVector3 operator-(const DeltaVector3& other) const;
DeltaVector3 operator*(float a) const;
DeltaVector3& operator+=(const DeltaVector3& other);
DeltaVector3& operator-=(const DeltaVector3& other);
float distanceToVector(const DeltaVector3 &vec) const;
float distanceToPos(float x, float y) const;
float dotProduct(const DeltaVector3 &vec) const;
float angleTo(const DeltaVector3 &vec) const;
float length() const;
};
float getDeterminant(const DeltaVector2 &pointA, const DeltaVector2 &pointB, const DeltaVector2 &candidate);
struct DeltaTriangle {
DeltaVector3 a, b, c;
};
uint32_t SDLColorToUint32(SDL_Color color);
#endif