Correct issue with function overload ambiguity when passing function pointer to expression constructor on windows

release/4.3a0
Andrew Melim 2014-11-26 15:06:16 -05:00
parent 58fa326f85
commit cc4cdc93a3
1 changed files with 11 additions and 2 deletions

View File

@ -20,7 +20,11 @@ typedef Expression<Rot2> Rot2_;
typedef Expression<Pose2> Pose2_; typedef Expression<Pose2> Pose2_;
Point2_ transform_to(const Pose2_& x, const Point2_& p) { Point2_ transform_to(const Pose2_& x, const Point2_& p) {
return Point2_(x, &Pose2::transform_to, p); Point2(Pose2::*transform)(const Point2& p,
boost::optional<Matrix23&> H1,
boost::optional<Matrix2&> H2) const = &Pose2::transform_to;
return Point2_(x, transform, p);
} }
// 3D Geometry // 3D Geometry
@ -30,7 +34,12 @@ typedef Expression<Rot3> Rot3_;
typedef Expression<Pose3> Pose3_; typedef Expression<Pose3> Pose3_;
Point3_ transform_to(const Pose3_& x, const Point3_& p) { Point3_ transform_to(const Pose3_& x, const Point3_& p) {
return Point3_(x, &Pose3::transform_to, p);
Point3(Pose3::*transform)(const Point3& p,
boost::optional<Matrix36&> Dpose,
boost::optional<Matrix3&> Dpoint) const = &Pose3::transform_to;
return Point3_(x, transform, p);
} }
// Projection // Projection