From b9b17ea5a534a692700f643ca5f7daf6e327f81c Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Thu, 6 Aug 2009 11:02:03 +0200 Subject: [PATCH] add the missing Affine Transform * set of column vectors products... --- Eigen/src/Geometry/Transform.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Eigen/src/Geometry/Transform.h b/Eigen/src/Geometry/Transform.h index da3187e3c..842a6bb4e 100644 --- a/Eigen/src/Geometry/Transform.h +++ b/Eigen/src/Geometry/Transform.h @@ -1034,6 +1034,17 @@ struct ei_transform_right_product_impl { return tr.linear() * other + tr.translation(); } }; +// Affine * set of column vectors +// FIXME use a ReturnByValue to remove the temporary +template +struct ei_transform_right_product_impl +{ + typedef Transform TransformType; + typedef Matrix ResultType; + static ResultType run(const TransformType& tr, const Other& other) + { return (tr.linear() * other).colwise() + tr.translation(); } +}; + // Affine * homogeneous column vector // FIXME added for backward compatibility, but I'm not sure we should keep it template