mirror of
https://github.com/AxioDL/zeus.git
synced 2025-12-10 22:17:44 +00:00
Move some quaternion functions in-header
This commit is contained in:
@@ -76,15 +76,6 @@ void CQuaternion::fromVector3f(const CVector3f& vec) {
|
||||
mSimd.copy_from(f);
|
||||
}
|
||||
|
||||
CQuaternion& CQuaternion::operator=(const CQuaternion& q) {
|
||||
mSimd = q.mSimd;
|
||||
return *this;
|
||||
}
|
||||
|
||||
CQuaternion CQuaternion::operator+(const CQuaternion& q) const { return mSimd + q.mSimd; }
|
||||
|
||||
CQuaternion CQuaternion::operator-(const CQuaternion& q) const { return mSimd - q.mSimd; }
|
||||
|
||||
CQuaternion CQuaternion::operator*(const CQuaternion& q) const {
|
||||
return CQuaternion(w() * q.w() - CVector3f(x(), y(), z()).dot({q.x(), q.y(), q.z()}),
|
||||
y() * q.z() - z() * q.y() + w() * q.x() + x() * q.w(),
|
||||
@@ -105,29 +96,6 @@ CQuaternion CQuaternion::operator/(const CQuaternion& q) const {
|
||||
return *this * p;
|
||||
}
|
||||
|
||||
CQuaternion CQuaternion::operator*(float scale) const { return mSimd * simd<float>(scale); }
|
||||
|
||||
CNUQuaternion CNUQuaternion::operator*(float scale) const { return mSimd * simd<float>(scale); }
|
||||
|
||||
CQuaternion CQuaternion::operator/(float scale) const { return mSimd / simd<float>(scale); }
|
||||
|
||||
CQuaternion CQuaternion::operator-() const { return -mSimd; }
|
||||
|
||||
const CQuaternion& CQuaternion::operator+=(const CQuaternion& q) {
|
||||
mSimd += q.mSimd;
|
||||
return *this;
|
||||
}
|
||||
|
||||
const CNUQuaternion& CNUQuaternion::operator+=(const CNUQuaternion& q) {
|
||||
mSimd += q.mSimd;
|
||||
return *this;
|
||||
}
|
||||
|
||||
const CQuaternion& CQuaternion::operator-=(const CQuaternion& q) {
|
||||
mSimd -= q.mSimd;
|
||||
return *this;
|
||||
}
|
||||
|
||||
const CQuaternion& CQuaternion::operator*=(const CQuaternion& q) {
|
||||
CQuaternion orig = *this;
|
||||
|
||||
@@ -139,16 +107,6 @@ const CQuaternion& CQuaternion::operator*=(const CQuaternion& q) {
|
||||
return *this;
|
||||
}
|
||||
|
||||
const CQuaternion& CQuaternion::operator*=(float scale) {
|
||||
mSimd *= simd<float>(scale);
|
||||
return *this;
|
||||
}
|
||||
|
||||
const CQuaternion& CQuaternion::operator/=(float scale) {
|
||||
mSimd /= simd<float>(scale);
|
||||
return *this;
|
||||
}
|
||||
|
||||
CQuaternion CQuaternion::log() const {
|
||||
float a = std::acos(w());
|
||||
float sina = std::sin(a);
|
||||
|
||||
Reference in New Issue
Block a user