group_flavor in internal::LieGroup template
parent
79ea949df9
commit
3dc9a7c852
|
@ -117,10 +117,12 @@ struct Manifold {
|
|||
/// A helper that implements the traits interface for GTSAM lie groups.
|
||||
/// To use this for your gtsam type, define:
|
||||
/// template<> struct traits<Type> : public LieGroup<Type> { };
|
||||
template<typename ManifoldType>
|
||||
template<typename ManifoldType,typename _group_flavor = additive_group_tag>
|
||||
struct LieGroup {
|
||||
// Typedefs required by all manifold types.
|
||||
typedef lie_group_tag structure_category;
|
||||
typedef _group_flavor group_flavor;
|
||||
|
||||
enum { dimension = ManifoldType::dimension };
|
||||
typedef Eigen::Matrix<double, dimension, 1> TangentVector;
|
||||
typedef OptionalJacobian<dimension, dimension> ChartJacobian;
|
||||
|
|
|
@ -304,7 +304,7 @@ typedef std::pair<Point2,Point2> Point2Pair;
|
|||
GTSAM_EXPORT boost::optional<Pose2> align(const std::vector<Point2Pair>& pairs);
|
||||
|
||||
template<>
|
||||
struct traits_x<Pose2> : public internal::LieGroup<Pose2> {};
|
||||
struct traits_x<Pose2> : public internal::LieGroup<Pose2, multiplicative_group_tag> {};
|
||||
|
||||
} // namespace gtsam
|
||||
|
||||
|
|
|
@ -363,6 +363,6 @@ typedef std::pair<Point3, Point3> Point3Pair;
|
|||
GTSAM_EXPORT boost::optional<Pose3> align(const std::vector<Point3Pair>& pairs);
|
||||
|
||||
template<>
|
||||
struct traits_x<Pose3> : public internal::LieGroup<Pose3> {};
|
||||
struct traits_x<Pose3> : public internal::LieGroup<Pose3, multiplicative_group_tag> {};
|
||||
|
||||
} // namespace gtsam
|
||||
|
|
|
@ -242,6 +242,6 @@ namespace gtsam {
|
|||
};
|
||||
|
||||
template<>
|
||||
struct traits_x<Rot2> : public internal::LieGroup<Rot2> {};
|
||||
struct traits_x<Rot2> : public internal::LieGroup<Rot2, multiplicative_group_tag> {};
|
||||
|
||||
} // gtsam
|
||||
|
|
|
@ -473,6 +473,6 @@ namespace gtsam {
|
|||
GTSAM_EXPORT std::pair<Matrix3,Vector3> RQ(const Matrix3& A);
|
||||
|
||||
template<>
|
||||
struct traits_x<Rot3> : public internal::LieGroup<Rot3> {};
|
||||
struct traits_x<Rot3> : public internal::LieGroup<Rot3, multiplicative_group_tag> {};
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue