]> git.tdb.fi Git - libs/math.git/blobdiff - source/geometry/affinetransformation.h
Convert the geometry part to use the new vector slicing API
[libs/math.git] / source / geometry / affinetransformation.h
index 15bd92675405a36a4b4205326400256ee3187934..f01ac3addbf0b6d5fb2b503f448f5ff47f493371 100644 (file)
@@ -175,13 +175,13 @@ inline AffineTransformation<T, D> invert(const AffineTransformation<T, D> &at)
 template<typename T, unsigned D>
 inline LinAl::Vector<T, D> AffineTransformation<T, D>::transform(const LinAl::Vector<T, D> &v) const
 {
-       return LinAl::Vector<T, D>(matrix*LinAl::Vector<T, D+1>(v, T(1)));
+       return (matrix*compose(v, T(1))).template slice<D>(0);
 }
 
 template<typename T, unsigned D>
 inline LinAl::Vector<T, D> AffineTransformation<T, D>::transform_linear(const LinAl::Vector<T, D> &v) const
 {
-       return LinAl::Vector<T, D>(matrix*LinAl::Vector<T, D+1>(v, T(0)));
+       return (matrix*compose(v, T(0))).template slice<D>(0);
 }
 
 template<typename T, unsigned D>