You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
690 B
28 lines
690 B
2 years ago
|
#pragma once
|
||
|
|
||
|
#include "Eigen/Dense"
|
||
|
|
||
|
inline Vector3d ToEigen(const FVector V){
|
||
|
return Vector3d(V.X, V.Y, V.Z);
|
||
|
}
|
||
|
|
||
|
inline FVector FromEigen(const Vector3d V){
|
||
|
return FVector(V.x(), V.y(), V.z());
|
||
|
}
|
||
|
|
||
|
inline FQuat FromEigen(const Quaterniond Q){
|
||
|
return FQuat(Q.x(), Q.y(), Q.z(), Q.w());
|
||
|
}
|
||
|
|
||
|
inline Quaterniond operator* (const Quaterniond Q, const double D){
|
||
|
return Quaterniond(Q.w() * D, Q.x() * D, Q.y() * D, Q.z() * D);
|
||
|
}
|
||
|
|
||
|
inline Quaterniond operator+ (const Quaterniond Q1, const Quaterniond Q2){
|
||
|
return Quaterniond(Q1.w() + Q2.w(), Q1.x() + Q2.x(), Q1.y() + Q2.y(), Q1.z() + Q2.z());
|
||
|
}
|
||
|
|
||
|
inline Quaterniond operator+= (const Quaterniond Q1, const Quaterniond Q2){
|
||
|
return Q1 + Q2;
|
||
|
}
|