diff --git a/src/basics/vector.cc b/src/basics/vector.cc index 7a8c7e1..7d42a59 100644 --- a/src/basics/vector.cc +++ b/src/basics/vector.cc @@ -25,9 +25,10 @@ Vector4::Vector4(const Double& x, } -Vector4::Vector4(const Matrix<4,1>&& rhs) - : Vector4(static_cast(rhs)) -{ } +Vector4::Vector4(const Matrix<4,1>& rhs) +{ + memcpy(mData, rhs.CArray(), sizeof(Double) * 4); +} /* @@ -86,6 +87,7 @@ Vector4::Z() } +#if 0 /* * charles::basics::Vector4::operator* -- */ @@ -95,6 +97,7 @@ Vector4::operator*(const Double& rhs) { return static_cast>(*this) * rhs; } +#endif /* diff --git a/src/basics/vector.hh b/src/basics/vector.hh index e5ce24c..787bb4f 100644 --- a/src/basics/vector.hh +++ b/src/basics/vector.hh @@ -25,7 +25,7 @@ struct Vector4 : public Vector<4> { Vector4(const Double& x = 0.0, const Double& y = 0.0, const Double& z = 0.0); - Vector4(const Matrix<4,1>&& m); + Vector4(const Matrix<4,1>& m); Double& X(); const Double& X() const; @@ -34,7 +34,9 @@ struct Vector4 Double& Z(); const Double& Z() const; +#if 0 Vector4 operator*(const Double& rhs) const; +#endif Vector4 operator+(const Vector4& rhs) const; Vector4& operator+=(const Vector4& rhs);