gtsam 4.1.1
gtsam
Scatter.h
Go to the documentation of this file.
1/* ----------------------------------------------------------------------------
2
3 * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4 * Atlanta, Georgia 30332-0415
5 * All Rights Reserved
6 * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7
8 * See LICENSE for the license information
9
10 * -------------------------------------------------------------------------- */
11
20#pragma once
21
22#include <gtsam/inference/Key.h>
23#include <gtsam/base/FastMap.h>
24#include <gtsam/dllexport.h>
25
26namespace gtsam {
27
28class GaussianFactorGraph;
29class Ordering;
30
32struct GTSAM_EXPORT SlotEntry {
33 Key key;
34 size_t dimension;
35 SlotEntry(Key _key, size_t _dimension) : key(_key), dimension(_dimension) {}
36 std::string toString() const;
37 friend bool operator<(const SlotEntry& p, const SlotEntry& q) {
38 return p.key < q.key;
39 }
40 static bool Zero(const SlotEntry& p) { return p.dimension==0;}
41};
42
49class Scatter : public FastVector<SlotEntry> {
50 public:
52 GTSAM_EXPORT Scatter() {}
53
55 GTSAM_EXPORT explicit Scatter(const GaussianFactorGraph& gfg);
56
58 GTSAM_EXPORT explicit Scatter(const GaussianFactorGraph& gfg, const Ordering& ordering);
59
61 GTSAM_EXPORT void add(Key key, size_t dim);
62
63 private:
65 iterator find(Key key);
66};
67
68} // \ namespace gtsam
A thin wrapper around std::map that uses boost's fast_pool_allocator.
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:69
Definition: Ordering.h:34
A Linear Factor Graph is a factor graph where all factors are Gaussian, i.e.
Definition: GaussianFactorGraph.h:69
One SlotEntry stores the slot index for a variable, as well its dim.
Definition: Scatter.h:32
Scatter is an intermediate data structure used when building a HessianFactor incrementally,...
Definition: Scatter.h:49
GTSAM_EXPORT void add(Key key, size_t dim)
Add a key/dim pair.
Definition: Scatter.cpp:76
GTSAM_EXPORT Scatter()
Default Constructor.
Definition: Scatter.h:52