Windows build fixes
parent
a6853f15e8
commit
ecc763d9f0
|
|
@ -106,23 +106,23 @@ struct zero<double> {
|
|||
|
||||
// Fixed size Eigen::Matrix type
|
||||
|
||||
template<int M, int N, int Options>
|
||||
struct is_group<Eigen::Matrix<double, M, N, Options> > : public boost::true_type {
|
||||
template<int M, int N, int Options, int MaxRows, int MaxCols>
|
||||
struct is_group<Eigen::Matrix<double, M, N, Options, MaxRows, MaxCols> > : public boost::true_type {
|
||||
};
|
||||
|
||||
template<int M, int N, int Options>
|
||||
struct is_manifold<Eigen::Matrix<double, M, N, Options> > : public boost::true_type {
|
||||
template<int M, int N, int Options, int MaxRows, int MaxCols>
|
||||
struct is_manifold<Eigen::Matrix<double, M, N, Options, MaxRows, MaxCols> > : public boost::true_type{
|
||||
};
|
||||
|
||||
template<int M, int N, int Options>
|
||||
struct dimension<Eigen::Matrix<double, M, N, Options> > : public boost::integral_constant<int,
|
||||
template<int M, int N, int Options, int MaxRows, int MaxCols>
|
||||
struct dimension<Eigen::Matrix<double, M, N, Options, MaxRows, MaxCols> > : public boost::integral_constant<int,
|
||||
M == Eigen::Dynamic ? Eigen::Dynamic : (N == Eigen::Dynamic ? Eigen::Dynamic : M * N)> {
|
||||
//TODO after switch to c++11 : the above should should be extracted to a constexpr function
|
||||
// for readability and to reduce code duplication
|
||||
};
|
||||
|
||||
template<int M, int N, int Options>
|
||||
struct zero<Eigen::Matrix<double, M, N, Options> > {
|
||||
template<int M, int N, int Options, int MaxRows, int MaxCols>
|
||||
struct zero<Eigen::Matrix<double, M, N, Options, MaxRows, MaxCols> > {
|
||||
BOOST_STATIC_ASSERT_MSG((M!=Eigen::Dynamic && N!=Eigen::Dynamic),
|
||||
"traits::zero is only supported for fixed-size matrices");
|
||||
static Eigen::Matrix<double, M, N, Options> value() {
|
||||
|
|
|
|||
|
|
@ -189,15 +189,15 @@ private:
|
|||
namespace traits {
|
||||
|
||||
template<>
|
||||
struct is_manifold<Cal3Bundler> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<Cal3Bundler> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct dimension<Cal3Bundler> : public boost::integral_constant<int, 3> {
|
||||
struct GTSAM_EXPORT dimension<Cal3Bundler> : public boost::integral_constant<int, 3>{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct zero<Cal3Bundler> {
|
||||
struct GTSAM_EXPORT zero<Cal3Bundler> {
|
||||
static Cal3Bundler value() {
|
||||
return Cal3Bundler(0, 0, 0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -111,11 +111,11 @@ private:
|
|||
namespace traits {
|
||||
|
||||
template<>
|
||||
struct is_manifold<Cal3DS2> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<Cal3DS2> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct dimension<Cal3DS2> : public boost::integral_constant<int, 9> {
|
||||
struct GTSAM_EXPORT dimension<Cal3DS2> : public boost::integral_constant<int, 9>{
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -140,15 +140,15 @@ private:
|
|||
namespace traits {
|
||||
|
||||
template<>
|
||||
struct is_manifold<Cal3Unified> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<Cal3Unified> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct dimension<Cal3Unified> : public boost::integral_constant<int, 10> {
|
||||
struct GTSAM_EXPORT dimension<Cal3Unified> : public boost::integral_constant<int, 10>{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct zero<Cal3Unified> {
|
||||
struct GTSAM_EXPORT zero<Cal3Unified> {
|
||||
static Cal3Unified value() { return Cal3Unified();}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -241,15 +241,15 @@ private:
|
|||
namespace traits {
|
||||
|
||||
template<>
|
||||
struct is_manifold<Cal3_S2> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<Cal3_S2> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct dimension<Cal3_S2> : public boost::integral_constant<int, 5> {
|
||||
struct GTSAM_EXPORT dimension<Cal3_S2> : public boost::integral_constant<int, 5>{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct zero<Cal3_S2> {
|
||||
struct GTSAM_EXPORT zero<Cal3_S2> {
|
||||
static Cal3_S2 value() { return Cal3_S2();}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -224,15 +224,15 @@ private:
|
|||
namespace traits {
|
||||
|
||||
template<>
|
||||
struct is_group<CalibratedCamera> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_group<CalibratedCamera> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct is_manifold<CalibratedCamera> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<CalibratedCamera> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct dimension<CalibratedCamera> : public boost::integral_constant<int, 6> {
|
||||
struct GTSAM_EXPORT dimension<CalibratedCamera> : public boost::integral_constant<int, 6>{
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -200,15 +200,15 @@ private:
|
|||
namespace traits {
|
||||
|
||||
template<>
|
||||
struct is_manifold<EssentialMatrix> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<EssentialMatrix> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct dimension<EssentialMatrix> : public boost::integral_constant<int, 5> {
|
||||
struct GTSAM_EXPORT dimension<EssentialMatrix> : public boost::integral_constant<int, 5>{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct zero<EssentialMatrix> {
|
||||
struct GTSAM_EXPORT zero<EssentialMatrix> {
|
||||
static EssentialMatrix value() { return EssentialMatrix();}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -663,16 +663,16 @@ private:
|
|||
namespace traits {
|
||||
|
||||
template<typename Calibration>
|
||||
struct is_manifold<PinholeCamera<Calibration> > : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<PinholeCamera<Calibration> > : public boost::true_type{
|
||||
};
|
||||
|
||||
template<typename Calibration>
|
||||
struct dimension<PinholeCamera<Calibration> > : public boost::integral_constant<
|
||||
struct GTSAM_EXPORT dimension<PinholeCamera<Calibration> > : public boost::integral_constant<
|
||||
int, dimension<Pose3>::value + dimension<Calibration>::value> {
|
||||
};
|
||||
|
||||
template<typename Calibration>
|
||||
struct zero<PinholeCamera<Calibration> > {
|
||||
struct GTSAM_EXPORT zero<PinholeCamera<Calibration> > {
|
||||
static PinholeCamera<Calibration> value() {
|
||||
return PinholeCamera<Calibration>(zero<Pose3>::value(),
|
||||
zero<Calibration>::value());
|
||||
|
|
|
|||
|
|
@ -252,15 +252,15 @@ inline Point2 operator*(double s, const Point2& p) {return p*s;}
|
|||
namespace traits {
|
||||
|
||||
template<>
|
||||
struct is_group<Point2> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_group<Point2> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct is_manifold<Point2> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<Point2> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct dimension<Point2> : public boost::integral_constant<int, 2> {
|
||||
struct GTSAM_EXPORT dimension<Point2> : public boost::integral_constant<int, 2>{
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -253,15 +253,15 @@ namespace gtsam {
|
|||
namespace traits {
|
||||
|
||||
template<>
|
||||
struct is_group<Point3> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_group<Point3> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct is_manifold<Point3> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<Point3> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct dimension<Point3> : public boost::integral_constant<int, 3> {
|
||||
struct GTSAM_EXPORT dimension<Point3> : public boost::integral_constant<int, 3>{
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -323,11 +323,11 @@ GTSAM_EXPORT boost::optional<Pose2> align(const std::vector<Point2Pair>& pairs);
|
|||
namespace traits {
|
||||
|
||||
template<>
|
||||
struct is_manifold<Pose2> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<Pose2> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct dimension<Pose2> : public boost::integral_constant<int, 3> {
|
||||
struct GTSAM_EXPORT dimension<Pose2> : public boost::integral_constant<int, 3>{
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -356,15 +356,15 @@ GTSAM_EXPORT boost::optional<Pose3> align(const std::vector<Point3Pair>& pairs);
|
|||
namespace traits {
|
||||
|
||||
template<>
|
||||
struct is_group<Pose3> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_group<Pose3> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct is_manifold<Pose3> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<Pose3> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct dimension<Pose3> : public boost::integral_constant<int, 6> {
|
||||
struct GTSAM_EXPORT dimension<Pose3> : public boost::integral_constant<int, 6>{
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -245,15 +245,15 @@ namespace gtsam {
|
|||
namespace traits {
|
||||
|
||||
template<>
|
||||
struct is_group<Rot2> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_group<Rot2> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct is_manifold<Rot2> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<Rot2> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct dimension<Rot2> : public boost::integral_constant<int, 1> {
|
||||
struct GTSAM_EXPORT dimension<Rot2> : public boost::integral_constant<int, 1>{
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -492,15 +492,15 @@ namespace gtsam {
|
|||
namespace traits {
|
||||
|
||||
template<>
|
||||
struct is_group<Rot3> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_group<Rot3> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct is_manifold<Rot3> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<Rot3> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct dimension<Rot3> : public boost::integral_constant<int, 3> {
|
||||
struct GTSAM_EXPORT dimension<Rot3> : public boost::integral_constant<int, 3>{
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -157,15 +157,15 @@ private:
|
|||
namespace traits {
|
||||
|
||||
template<>
|
||||
struct is_manifold<StereoCamera> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<StereoCamera> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct dimension<StereoCamera> : public boost::integral_constant<int, 6> {
|
||||
struct GTSAM_EXPORT dimension<StereoCamera> : public boost::integral_constant<int, 6>{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct zero<StereoCamera> {
|
||||
struct GTSAM_EXPORT zero<StereoCamera> {
|
||||
static StereoCamera value() { return StereoCamera();}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -161,15 +161,15 @@ private:
|
|||
namespace traits {
|
||||
|
||||
template<>
|
||||
struct is_manifold<Unit3> : public boost::true_type {
|
||||
struct GTSAM_EXPORT is_manifold<Unit3> : public boost::true_type{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct dimension<Unit3> : public boost::integral_constant<int, 2> {
|
||||
struct GTSAM_EXPORT dimension<Unit3> : public boost::integral_constant<int, 2>{
|
||||
};
|
||||
|
||||
template<>
|
||||
struct zero<Unit3> {
|
||||
struct GTSAM_EXPORT zero<Unit3> {
|
||||
static Unit3 value() {
|
||||
return Unit3();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue