linear algorithms
parent
0d38db3941
commit
d05d2af6b5
|
@ -21,9 +21,10 @@
|
||||||
#include <gtsam/linear/GaussianConditional.h>
|
#include <gtsam/linear/GaussianConditional.h>
|
||||||
#include <gtsam/base/treeTraversal-inst.h>
|
#include <gtsam/base/treeTraversal-inst.h>
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
|
|
||||||
|
#include <optional>
|
||||||
|
|
||||||
namespace gtsam
|
namespace gtsam
|
||||||
{
|
{
|
||||||
namespace internal
|
namespace internal
|
||||||
|
@ -32,7 +33,7 @@ namespace gtsam
|
||||||
{
|
{
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
struct OptimizeData {
|
struct OptimizeData {
|
||||||
boost::optional<OptimizeData&> parentData;
|
OptimizeData* parentData = nullptr;
|
||||||
FastMap<Key, VectorValues::const_iterator> cliqueResults;
|
FastMap<Key, VectorValues::const_iterator> cliqueResults;
|
||||||
//VectorValues ancestorResults;
|
//VectorValues ancestorResults;
|
||||||
//VectorValues results;
|
//VectorValues results;
|
||||||
|
@ -55,7 +56,7 @@ namespace gtsam
|
||||||
OptimizeData& parentData)
|
OptimizeData& parentData)
|
||||||
{
|
{
|
||||||
OptimizeData myData;
|
OptimizeData myData;
|
||||||
myData.parentData = parentData;
|
myData.parentData = &parentData;
|
||||||
// Take any ancestor results we'll need
|
// Take any ancestor results we'll need
|
||||||
for(Key parent: clique->conditional_->parents())
|
for(Key parent: clique->conditional_->parents())
|
||||||
myData.cliqueResults.emplace(parent, myData.parentData->cliqueResults.at(parent));
|
myData.cliqueResults.emplace(parent, myData.parentData->cliqueResults.at(parent));
|
||||||
|
|
Loading…
Reference in New Issue