GTSAM  4.0.2
C++ library for smoothing and mapping (SAM)
Public Types | Public Member Functions | List of all members
gtsam::ConcurrentFilter Class Referenceabstract

#include <ConcurrentFilteringAndSmoothing.h>

Inheritance diagram for gtsam::ConcurrentFilter:
Inheritance graph
[legend]

Public Types

typedef std::shared_ptr< ConcurrentFiltershared_ptr
 

Public Member Functions

 ConcurrentFilter ()
 
virtual ~ConcurrentFilter ()
 
virtual void print (const std::string &s="Concurrent Filter:\, const KeyFormatter &keyFormatter=DefaultKeyFormatter) const=0
 
virtual bool equals (const ConcurrentFilter &rhs, double tol=1e-9) const =0
 
virtual void presync ()
 
virtual void getSummarizedFactors (NonlinearFactorGraph &summarizedFactors, Values &separatorValues)=0
 
virtual void getSmootherFactors (NonlinearFactorGraph &smootherFactors, Values &smootherValues)=0
 
virtual void synchronize (const NonlinearFactorGraph &summarizedFactors, const Values &separatorValues)=0
 
virtual void postsync ()
 

Detailed Description

The interface for the 'Filter' portion of the Concurrent Filtering and Smoother architecture.

Constructor & Destructor Documentation

◆ ConcurrentFilter()

gtsam::ConcurrentFilter::ConcurrentFilter ( )
inline

Default constructor

◆ ~ConcurrentFilter()

virtual gtsam::ConcurrentFilter::~ConcurrentFilter ( )
inlinevirtual

Default destructor

Member Function Documentation

◆ equals()

virtual bool gtsam::ConcurrentFilter::equals ( const ConcurrentFilter rhs,
double  tol = 1e-9 
) const
pure virtual

Check if two Concurrent Smoothers are equal

Implemented in gtsam::ConcurrentBatchFilter, and gtsam::ConcurrentIncrementalFilter.

◆ getSmootherFactors()

virtual void gtsam::ConcurrentFilter::getSmootherFactors ( NonlinearFactorGraph smootherFactors,
Values smootherValues 
)
pure virtual

Populate the provided containers with factors being sent to the smoother from the filter. These may be original nonlinear factors, or factors encoding a summarization of the filter information. The specifics will be implementation-specific for a given filter.

Parameters
smootherFactorsThe new factors to be added to the smoother
smootherValuesThe linearization points of any new variables

Implemented in gtsam::ConcurrentBatchFilter, and gtsam::ConcurrentIncrementalFilter.

◆ getSummarizedFactors()

virtual void gtsam::ConcurrentFilter::getSummarizedFactors ( NonlinearFactorGraph summarizedFactors,
Values separatorValues 
)
pure virtual

Populate the provided containers with factors that constitute the filter branch summarization needed by the smoother. Also, linearization points for the new root clique must be provided.

Parameters
summarizedFactorsThe summarized factors for the filter branch
separatorValuesThe linearization points of the separator variables

Implemented in gtsam::ConcurrentBatchFilter, and gtsam::ConcurrentIncrementalFilter.

◆ postsync()

virtual void gtsam::ConcurrentFilter::postsync ( )
inlinevirtual

Perform any required operations after the synchronization process finishes. Called by 'synchronize'

Reimplemented in gtsam::ConcurrentBatchFilter, and gtsam::ConcurrentIncrementalFilter.

◆ presync()

virtual void gtsam::ConcurrentFilter::presync ( )
inlinevirtual

Perform any required operations before the synchronization process starts. Called by 'synchronize'

Reimplemented in gtsam::ConcurrentBatchFilter, and gtsam::ConcurrentIncrementalFilter.

◆ print()

virtual void gtsam::ConcurrentFilter::print ( )
pure virtual

Implement a standard 'print' function

Implemented in gtsam::ConcurrentBatchFilter, and gtsam::ConcurrentIncrementalFilter.

◆ synchronize()

virtual void gtsam::ConcurrentFilter::synchronize ( const NonlinearFactorGraph summarizedFactors,
const Values separatorValues 
)
pure virtual

Apply the updated version of the smoother branch summarized factors.

Parameters
summarizedFactorsAn updated version of the smoother branch summarized factors
separatorValuesThe linearization points of the separator variables

Implemented in gtsam::ConcurrentBatchFilter, and gtsam::ConcurrentIncrementalFilter.


The documentation for this class was generated from the following file: