diff options
Diffstat (limited to 'src/lib/mathlib/math')
-rw-r--r-- | src/lib/mathlib/math/Dcm.cpp | 5 | ||||
-rw-r--r-- | src/lib/mathlib/math/Dcm.hpp | 5 | ||||
-rw-r--r-- | src/lib/mathlib/math/Vector3.cpp | 10 | ||||
-rw-r--r-- | src/lib/mathlib/math/Vector3.hpp | 2 | ||||
-rw-r--r-- | src/lib/mathlib/math/arm/Vector.hpp | 2 |
5 files changed, 23 insertions, 1 deletions
diff --git a/src/lib/mathlib/math/Dcm.cpp b/src/lib/mathlib/math/Dcm.cpp index f509f7081..5c15d4d6d 100644 --- a/src/lib/mathlib/math/Dcm.cpp +++ b/src/lib/mathlib/math/Dcm.cpp @@ -135,6 +135,11 @@ Dcm::Dcm(const Dcm &right) : { } +Dcm::Dcm(const Matrix &right) : + Matrix(right) +{ +} + Dcm::~Dcm() { } diff --git a/src/lib/mathlib/math/Dcm.hpp b/src/lib/mathlib/math/Dcm.hpp index df8970d3a..38f697c15 100644 --- a/src/lib/mathlib/math/Dcm.hpp +++ b/src/lib/mathlib/math/Dcm.hpp @@ -97,6 +97,11 @@ public: Dcm(const Dcm &right); /** + * copy ctor (deep) + */ + Dcm(const Matrix &right); + + /** * dtor */ virtual ~Dcm(); diff --git a/src/lib/mathlib/math/Vector3.cpp b/src/lib/mathlib/math/Vector3.cpp index dcb85600e..3936650c6 100644 --- a/src/lib/mathlib/math/Vector3.cpp +++ b/src/lib/mathlib/math/Vector3.cpp @@ -84,6 +84,16 @@ Vector3 Vector3::cross(const Vector3 &b) const return result; } +Vector3 Vector3::operator %(const Vector3 &v) const +{ + return cross(v); +} + +float Vector3::operator *(const Vector3 &v) const +{ + return dot(v); +} + int __EXPORT vector3Test() { printf("Test Vector3\t\t: "); diff --git a/src/lib/mathlib/math/Vector3.hpp b/src/lib/mathlib/math/Vector3.hpp index 568d9669a..2bf00f26b 100644 --- a/src/lib/mathlib/math/Vector3.hpp +++ b/src/lib/mathlib/math/Vector3.hpp @@ -54,6 +54,8 @@ public: Vector3(const float *data); virtual ~Vector3(); Vector3 cross(const Vector3 &b) const; + Vector3 operator %(const Vector3 &v) const; + float operator *(const Vector3 &v) const; /** * accessors diff --git a/src/lib/mathlib/math/arm/Vector.hpp b/src/lib/mathlib/math/arm/Vector.hpp index 52220fc15..a2526d0a2 100644 --- a/src/lib/mathlib/math/arm/Vector.hpp +++ b/src/lib/mathlib/math/arm/Vector.hpp @@ -141,7 +141,7 @@ public: getRows()); return result; } - inline Vector operator*(float right) const { + inline Vector operator*(const float &right) const { Vector result(getRows()); arm_scale_f32((float *)getData(), right, result.getData(), |