summaryrefslogtreecommitdiffstats
path: root/src/math
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2020-12-18 01:57:54 +0100
committerSergeanur <s.anureev@yandex.ua>2020-12-18 01:57:54 +0100
commite9a567034818c5e3338120958061e4a4278d97da (patch)
tree20293ced9c835a859071400fdbb3338b90159846 /src/math
parentPreAllocateRwObjects (diff)
downloadre3-e9a567034818c5e3338120958061e4a4278d97da.tar
re3-e9a567034818c5e3338120958061e4a4278d97da.tar.gz
re3-e9a567034818c5e3338120958061e4a4278d97da.tar.bz2
re3-e9a567034818c5e3338120958061e4a4278d97da.tar.lz
re3-e9a567034818c5e3338120958061e4a4278d97da.tar.xz
re3-e9a567034818c5e3338120958061e4a4278d97da.tar.zst
re3-e9a567034818c5e3338120958061e4a4278d97da.zip
Diffstat (limited to '')
-rw-r--r--src/math/Vector.h25
-rw-r--r--src/math/VuVector.h13
2 files changed, 13 insertions, 25 deletions
diff --git a/src/math/Vector.h b/src/math/Vector.h
index 082b296f..776bfcfe 100644
--- a/src/math/Vector.h
+++ b/src/math/Vector.h
@@ -1,23 +1,22 @@
#pragma once
-class CVector
+class CVector : public RwV3d
{
public:
- float x, y, z;
CVector(void) {}
- CVector(float x, float y, float z) : x(x), y(y), z(z) {}
-#ifdef RWCORE_H
- CVector(const RwV3d &v) : x(v.x), y(v.y), z(v.z) {}
-
- operator RwV3d (void) const {
- RwV3d vecRw = { this->x, this->y, this->z };
- return vecRw;
+ CVector(float x, float y, float z)
+ {
+ this->x = x;
+ this->y = y;
+ this->z = z;
}
-
- operator RwV3d *(void) {
- return (RwV3d*)this;
+
+ CVector(const RwV3d &v)
+ {
+ x = v.x;
+ y = v.y;
+ z = v.z;
}
-#endif
// (0,1,0) means no rotation. So get right vector and its atan
float Heading(void) const { return Atan2(-x, y); }
float Magnitude(void) const { return Sqrt(x*x + y*y + z*z); }
diff --git a/src/math/VuVector.h b/src/math/VuVector.h
index f90818e0..30d62cfc 100644
--- a/src/math/VuVector.h
+++ b/src/math/VuVector.h
@@ -8,18 +8,7 @@ public:
CVuVector(float x, float y, float z) : CVector(x, y, z) {}
CVuVector(float x, float y, float z, float w) : CVector(x, y, z), w(w) {}
CVuVector(const CVector &v) : CVector(v.x, v.y, v.z) {}
-#ifdef RWCORE_H
- CVuVector(const RwV3d &v) : CVector(v.x, v.y, v.z) {}
-
- operator RwV3d (void) const {
- RwV3d vecRw = { this->x, this->y, this->z };
- return vecRw;
- }
-
- operator RwV3d *(void) {
- return (RwV3d*)this;
- }
-#endif
+ CVuVector(const RwV3d &v) : CVector(v) {}
/*
void Normalise(void) {
float sq = MagnitudeSqr();