Some refactoring
parent
a29f09423c
commit
48a6777935
|
@ -200,6 +200,7 @@ TEST(Expression, Snavely) {
|
||||||
Expression<Point3> X(2);
|
Expression<Point3> X(2);
|
||||||
typedef AdaptAutoDiff<SnavelyProjection, Point2, Camera, Point3> Adaptor;
|
typedef AdaptAutoDiff<SnavelyProjection, Point2, Camera, Point3> Adaptor;
|
||||||
Expression<Point2> expression(Adaptor(), P, X);
|
Expression<Point2> expression(Adaptor(), P, X);
|
||||||
|
EXPECT_LONGS_EQUAL(528,expression.traceSize()); // Todo, should be zero
|
||||||
set<Key> expected = list_of(1)(2);
|
set<Key> expected = list_of(1)(2);
|
||||||
EXPECT(expected == expression.keys());
|
EXPECT(expected == expression.keys());
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,22 +51,21 @@ int main() {
|
||||||
values.insert(1, Camera());
|
values.insert(1, Camera());
|
||||||
values.insert(2, Point3(0, 0, 1));
|
values.insert(2, Point3(0, 0, 1));
|
||||||
|
|
||||||
|
NonlinearFactor::shared_ptr f1, f2, f3;
|
||||||
|
|
||||||
// Dedicated factor
|
// Dedicated factor
|
||||||
NonlinearFactor::shared_ptr f1 = boost::make_shared<
|
f1 = boost::make_shared<GeneralSFMFactor<Camera, Point3> >(z, model, 1, 2);
|
||||||
GeneralSFMFactor<Camera, Point3> >(z, model, 1, 2);
|
|
||||||
time("GeneralSFMFactor<Camera> : ", f1, values);
|
time("GeneralSFMFactor<Camera> : ", f1, values);
|
||||||
|
|
||||||
// AdaptAutoDiff
|
// AdaptAutoDiff
|
||||||
typedef AdaptAutoDiff<SnavelyProjection, Point2, Camera, Point3> SnavelyAdaptor;
|
typedef AdaptAutoDiff<SnavelyProjection, Point2, Camera, Point3> AdaptedSnavely;
|
||||||
NonlinearFactor::shared_ptr f2 =
|
Point2_ expression(AdaptedSnavely(), camera, point);
|
||||||
boost::make_shared<ExpressionFactor<Point2> >(model, z,
|
f2 = boost::make_shared<ExpressionFactor<Point2> >(model, z, expression);
|
||||||
Point2_(SnavelyAdaptor(), camera, point));
|
time("Point2_(AdaptedSnavely(), camera, point): ", f2, values);
|
||||||
time("Point2_(SnavelyAdaptor(), camera, point): ", f2, values);
|
|
||||||
|
|
||||||
// ExpressionFactor
|
// ExpressionFactor
|
||||||
NonlinearFactor::shared_ptr f3 =
|
Point2_ expression2(camera, &Camera::project2, point);
|
||||||
boost::make_shared<ExpressionFactor<Point2> >(model, z,
|
f3 = boost::make_shared<ExpressionFactor<Point2> >(model, z, expression2);
|
||||||
Point2_(camera, &Camera::project2, point));
|
|
||||||
time("Point2_(camera, &Camera::project, point): ", f3, values);
|
time("Point2_(camera, &Camera::project, point): ", f3, values);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue