GTSAM
4.0.2
C++ library for smoothing and mapping (SAM)
|
#include <AntiFactor.h>
Public Types | |
typedef std::shared_ptr< AntiFactor > | shared_ptr |
typedef KeyVector::iterator | iterator |
Iterator over keys. | |
typedef KeyVector::const_iterator | const_iterator |
Const iterator over keys. | |
Public Member Functions | |
AntiFactor () | |
AntiFactor (NonlinearFactor::shared_ptr factor) | |
gtsam::NonlinearFactor::shared_ptr | clone () const override |
void | print (const std::string &s, const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override |
bool | equals (const NonlinearFactor &expected, double tol=1e-9) const override |
double | error (const Values &c) const override |
size_t | dim () const override |
bool | active (const Values &c) const override |
std::shared_ptr< GaussianFactor > | linearize (const Values &c) const override |
Testable | |
bool | equals (const This &other, double tol=1e-9) const |
check equality | |
virtual void | printKeys (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const |
print only keys | |
Standard Interface | |
double | error (const HybridValues &c) const override |
virtual shared_ptr | rekey (const std::map< Key, Key > &rekey_mapping) const |
virtual shared_ptr | rekey (const KeyVector &new_keys) const |
virtual bool | sendable () const |
Standard Interface | |
bool | empty () const |
Whether the factor is empty (involves zero variables). | |
Key | front () const |
First key. | |
Key | back () const |
Last key. | |
const_iterator | find (Key key) const |
find | |
const KeyVector & | keys () const |
Access the factor's involved variable keys. | |
const_iterator | begin () const |
const_iterator | end () const |
size_t | size () const |
Advanced Interface | |
KeyVector & | keys () |
iterator | begin () |
iterator | end () |
Static Protected Member Functions | |
Standard Constructors | |
template<typename CONTAINER > | |
static Factor | FromKeys (const CONTAINER &keys) |
template<typename ITERATOR > | |
static Factor | FromIterators (ITERATOR first, ITERATOR last) |
Protected Attributes | |
KeyVector | keys_ |
The keys involved in this factor. | |
A class for downdating an existing factor from a graph. The AntiFactor returns the same linearized Hessian matrices of the original factor, but with the opposite sign. This effectively cancels out any affects of the original factor during optimization."
|
inline |
default constructor - only use for serialization
|
inline |
constructor - Creates the equivalent AntiFactor from an existing factor
|
inlineoverridevirtual |
Checks whether this factor should be used based on a set of values. The AntiFactor will have the same 'active' profile as the original factor.
Reimplemented from gtsam::NonlinearFactor.
|
inlineinherited |
Iterator at beginning of involved variable keys
|
inlineinherited |
Iterator at beginning of involved variable keys
|
inlineoverridevirtual |
Reimplemented from gtsam::NonlinearFactor.
|
inlineoverridevirtual |
get the dimension of the factor (same as the original factor)
Implements gtsam::NonlinearFactor.
|
inlineinherited |
Iterator at end of involved variable keys
|
inlineinherited |
Iterator at end of involved variable keys
|
inlineoverridevirtual |
equals
Reimplemented from gtsam::NonlinearFactor.
|
inlineoverridevirtual |
implement functions needed to derive from Factor Calculate the error of the factor For the AntiFactor, this will have the same magnitude of the original factor, but the opposite sign.
Reimplemented from gtsam::NonlinearFactor.
|
overridevirtualinherited |
All factor types need to implement an error function. In factor graphs, this is the negative log-likelihood.
Reimplemented from gtsam::Factor.
|
inlinestaticprotectedinherited |
Construct factor from iterator keys. This is called internally from derived factor static factor methods, as a workaround for not being able to call the protected constructors above.
|
inlinestaticprotectedinherited |
Construct factor from container of keys. This is called internally from derived factor static factor methods, as a workaround for not being able to call the protected constructors above.
|
inlineinherited |
|
inlineoverridevirtual |
Linearize to a GaussianFactor. The AntiFactor always returns a Hessian Factor with the same Hessian matrices as the original factor (even if the original factor returns a Jacobian instead of a full Hessian), but with the opposite sign. This effectively cancels the effect of the original factor on the factor graph.
Implements gtsam::NonlinearFactor.
|
inlineoverridevirtual |
implement functions needed for Testable print
Reimplemented from gtsam::NonlinearFactor.
|
virtualinherited |
Creates a shared_ptr clone of the factor with different keys using a map from old->new keys
Reimplemented in gtsam::LinearContainerFactor.
|
virtualinherited |
Clones a factor and fully replaces its keys
new_keys | is the full replacement set of keys |
Reimplemented in gtsam::LinearContainerFactor.
|
inlinevirtualinherited |
Should the factor be evaluated in the same thread as the caller This is to enable factors that has shared states (like the Python GIL lock)
Reimplemented in gtsam::CustomFactor.
|
inlineinherited |