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 
26 namespace gtsam {
27 
28 class GaussianFactorGraph;
29 class Ordering;
30 
32 struct GTSAM_EXPORT SlotEntry {
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 
49 class 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
const gtsam::Symbol key('X', 0)
One SlotEntry stores the slot index for a variable, as well its dim.
Definition: Scatter.h:32
SlotEntry(Key _key, size_t _dimension)
Definition: Scatter.h:35
std::vector< T, typename internal::FastDefaultVectorAllocator< T >::type > FastVector
Definition: FastVector.h:34
static enum @1107 ordering
friend bool operator<(const SlotEntry &p, const SlotEntry &q)
Definition: Scatter.h:37
size_t dimension
Definition: Scatter.h:34
static bool Zero(const SlotEntry &p)
Definition: Scatter.h:40
EIGEN_DEVICE_FUNC const Scalar & q
traits
Definition: chartTesting.h:28
A thin wrapper around std::map that uses boost&#39;s fast_pool_allocator.
float * p
graph add(PriorFactor< Pose2 >(1, priorMean, priorNoise))
GTSAM_EXPORT Scatter()
Default Constructor.
Definition: Scatter.h:52
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:102


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:35:36