FindSeparator.h
Go to the documentation of this file.
1 /*
2  * FindSeparator.h
3  *
4  * Created on: Nov 23, 2010
5  * Author: nikai
6  * Description: find the separator of bisectioning for a given graph
7  */
8 
9 #include <map>
10 #include <vector>
11 #include <boost/optional.hpp>
12 #include <gtsam/inference/Key.h>
13 #include <gtsam/inference/Symbol.h>
14 
15 #include "PartitionWorkSpace.h"
16 
17 namespace gtsam { namespace partition {
18 
19 // typedef std::map<size_t, size_t> PartitionTable; // from the key to the partition: 0 - separator, > 1: submap id
20 
22  struct MetisResult {
23  std::vector<size_t> A, B; // frontals
24  std::vector<size_t> C; // separator
25  };
26 
31  template<class GenericGraph>
32  boost::optional<MetisResult> separatorPartitionByMetis(const GenericGraph& graph, const std::vector<size_t>& keys,
33  WorkSpace& workspace, bool verbose);
34 
39  template<class GenericGraph>
40  int findSeparator(const GenericGraph& graph, const std::vector<size_t>& keys,
41  const int minNodesPerMap, WorkSpace& workspace, bool verbose, const boost::optional<std::vector<Symbol> >& int2symbol,
42  const bool reduceGraph, const int minNrConstraintsPerCamera, const int minNrConstraintsPerLandmark);
43 
44 }} //namespace
std::vector< size_t > B
Definition: FindSeparator.h:23
NonlinearFactorGraph graph
const bool verbose
std::vector< size_t > A
Definition: FindSeparator.h:23
boost::optional< MetisResult > separatorPartitionByMetis(const GenericGraph &graph, const std::vector< size_t > &keys, WorkSpace &workspace, bool verbose)
traits
Definition: chartTesting.h:28
int findSeparator(const GenericGraph &graph, const std::vector< size_t > &keys, const int minNodesPerMap, WorkSpace &workspace, bool verbose, const boost::optional< std::vector< Symbol > > &int2symbol, const bool reduceGraph, const int minNrConstraintsPerCamera, const int minNrConstraintsPerLandmark)
const KeyVector keys
std::vector< size_t > C
Definition: FindSeparator.h:24


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:42:04