Add the two-dimensional subspace search to DoglegStrategy

Change-Id: I5163744c100cdf07dd93343d0734ffe0e80364f3
diff --git a/include/ceres/solver.h b/include/ceres/solver.h
index ef6c617..16c7387 100644
--- a/include/ceres/solver.h
+++ b/include/ceres/solver.h
@@ -58,6 +58,7 @@
     // Default constructor that sets up a generic sparse problem.
     Options() {
       trust_region_strategy_type = LEVENBERG_MARQUARDT;
+      dogleg_type = TRADITIONAL_DOGLEG;
       use_nonmonotonic_steps = false;
       max_consecutive_nonmonotonic_steps = 5;
       max_num_iterations = 50;
@@ -121,6 +122,9 @@
 
     TrustRegionStrategyType trust_region_strategy_type;
 
+    // Type of dogleg strategy to use.
+    DoglegType dogleg_type;
+
     // The classical trust region methods are descent methods, in that
     // they only accept a point if it strictly reduces the value of
     // the objective function.