17 #include <gtsam_unstable/dllexport.h> 
   21 namespace gtsam { 
namespace partition {
 
   43     GenericFactor2D(
const size_t index1, 
const char type1, 
const size_t index2, 
const char type2, 
const int index_ = -1, 
const int weight_ = 1)
 
   54       const int minNrConstraintsPerCamera, 
const int minNrConstraintsPerLandmark);
 
   58       const std::vector<int>& dictionary,  
GenericGraph2D& reducedGraph) {
 
   59     throw std::runtime_error(
"reduceGenericGraph 2d not implemented");
 
   64       WorkSpace& workspace, 
const int minNrConstraintsPerCamera, 
const int minNrConstraintsPerLandmark) {  
return; }
 
  102       const size_t minNrConstraintsPerCamera, 
const size_t minNrConstraintsPerLandmark);
 
  106       const std::vector<int>& dictionary,  
GenericGraph3D& reducedGraph);
 
  110       WorkSpace& workspace, 
const size_t minNrConstraintsPerCamera, 
const size_t minNrConstraintsPerLandmark);
 
  136   inline bool hasCommonCamera(
const std::set<size_t>& cameras1, 
const std::set<size_t>& cameras2) {
 
  137     if (cameras1.empty() || cameras2.empty())
 
  138       throw std::invalid_argument(
"hasCommonCamera: the input camera set is empty!");
 
  139     std::set<size_t>::const_iterator it1 = cameras1.begin();
 
  140     std::set<size_t>::const_iterator it2 = cameras2.begin();
 
  141     while (it1 != cameras1.end() && it2 != cameras2.end()) {
 
  144       else if (*it1 < *it2)