40 lines
1.5 KiB
C++
40 lines
1.5 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);
|
|
|
|
#endif |