Fixed compile issues

release/4.3a0
dellaert 2015-02-19 13:38:20 +01:00
parent 2d014b4522
commit 6f0ea81c5e
2 changed files with 15 additions and 9 deletions

View File

@ -101,7 +101,9 @@ public:
std::vector<Z> z(nrCameras);
for (size_t i = 0; i < cameras_.size(); i++) {
Matrix Fi(ZDim, 6), Ei(ZDim, 3), Hi(ZDim, Dim - 6);
Eigen::Matrix<double, ZDim, 6> Fi;
Eigen::Matrix<double, ZDim, 3> Ei;
Eigen::Matrix<double, ZDim, Dim - 6> Hi;
z[i] = cameras_[i].project(point, F ? &Fi : 0, E ? &Ei : 0, H ? &Hi : 0);
if (F) F->block<ZDim, 6>(ZDim * i, 0) = Fi;
if (E) E->block<ZDim, 3>(ZDim * i, 0) = Ei;

View File

@ -18,6 +18,7 @@
#include <gtsam/geometry/CameraSet.h>
#include <gtsam/geometry/Pose3.h>
#include <gtsam/base/numericalDerivative.h>
#include <CppUnitLite/TestHarness.h>
using namespace std;
@ -26,20 +27,23 @@ using namespace gtsam;
/* ************************************************************************* */
#include <gtsam/geometry/PinholeCamera.h>
#include <gtsam/geometry/Cal3Bundler.h>
class PinholeSet: public CameraSet<PinholeCamera<Cal3Bundler> > {
};
TEST(CameraSet, Pinhole) {
PinholeSet f;
typedef PinholeCamera<Cal3Bundler> Camera;
CameraSet<Camera> set;
set.add(Camera());
set.add(Camera());
Point3 p(0,0,1);
Matrix F,E,H;
vector<Point2> z = set.project(p,F,E,H);
Point2 expected;
CHECK(assert_equal(expected,z[0]));
CHECK(assert_equal(expected,z[1]));
}
/* ************************************************************************* */
#include <gtsam/geometry/StereoCamera.h>
class StereoSet: public CameraSet<StereoCamera> {
};
TEST(CameraSet, Stereo) {
StereoSet f;
CameraSet<StereoCamera> f;
}
/* ************************************************************************* */