summaryrefslogtreecommitdiffstats
path: root/include/core
diff options
context:
space:
mode:
Diffstat (limited to 'include/core')
-rw-r--r--include/core/Basis.hpp2
-rw-r--r--include/core/Transform.hpp7
2 files changed, 8 insertions, 1 deletions
diff --git a/include/core/Basis.hpp b/include/core/Basis.hpp
index b559b00..eb1cf76 100644
--- a/include/core/Basis.hpp
+++ b/include/core/Basis.hpp
@@ -307,7 +307,7 @@ public:
Basis();
- const Vector3 &operator[](int axis) const {
+ const Vector3 operator[](int axis) const {
return get_axis(axis);
}
diff --git a/include/core/Transform.hpp b/include/core/Transform.hpp
index a56a9a2..9da6366 100644
--- a/include/core/Transform.hpp
+++ b/include/core/Transform.hpp
@@ -58,6 +58,13 @@ public:
void operator*=(const Transform &p_transform);
Transform operator*(const Transform &p_transform) const;
+ inline Vector3 operator*(const Vector3 &p_vector) const {
+ return Vector3(
+ basis.elements[0].dot(p_vector) + origin.x,
+ basis.elements[1].dot(p_vector) + origin.y,
+ basis.elements[2].dot(p_vector) + origin.z);
+ }
+
Transform interpolate_with(const Transform &p_transform, real_t p_c) const;
Transform inverse_xform(const Transform &t) const;