summaryrefslogtreecommitdiffstats
path: root/core/math/transform_3d.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/math/transform_3d.cpp')
-rw-r--r--core/math/transform_3d.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/core/math/transform_3d.cpp b/core/math/transform_3d.cpp
index 210f0b81bb..51766b39f4 100644
--- a/core/math/transform_3d.cpp
+++ b/core/math/transform_3d.cpp
@@ -190,8 +190,22 @@ Transform3D Transform3D::operator*(const Transform3D &p_transform) const {
return t;
}
+void Transform3D::operator*=(const real_t p_val) {
+ origin *= p_val;
+ basis *= p_val;
+}
+
+Transform3D Transform3D::operator*(const real_t p_val) const {
+ Transform3D ret(*this);
+ ret *= p_val;
+ return ret;
+}
+
Transform3D::operator String() const {
- return basis.operator String() + " - " + origin.operator String();
+ return "[X: " + basis.get_axis(0).operator String() +
+ ", Y: " + basis.get_axis(1).operator String() +
+ ", Z: " + basis.get_axis(2).operator String() +
+ ", O: " + origin.operator String() + "]";
}
Transform3D::Transform3D(const Basis &p_basis, const Vector3 &p_origin) :