gtsam::NonlinearFactor Factor gtsam::NoiseModelFactor NonlinearFactor.h
Standard Constructors
gtsam::NonlinearFactor::NonlinearFactor () NonlinearFactor Default constructor for I/O only typename CONTAINER gtsam::NonlinearFactor::NonlinearFactor (const CONTAINER &keys) NonlinearFactor const CONTAINER & keys Constructor from a collection of the keys involved in this factor
Testable
void virtual void gtsam::NonlinearFactor::print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const print print const std::string & s "" const KeyFormatter & keyFormatter DefaultKeyFormatter print bool virtual bool gtsam::NonlinearFactor::equals (const NonlinearFactor &f, double tol=1e-9) const equals equals const NonlinearFactor & f double tol 1e-9 Check if two factors are equal
Standard Interface
virtual gtsam::NonlinearFactor::~NonlinearFactor () ~NonlinearFactor Destructor double virtual double gtsam::NonlinearFactor::error (const Values &c) const =0 error error const Values & c Calculate the error of the factor This is typically equal to log-likelihood, e.g. $ 0.5(h(x)-z)^2/sigma^2 $ in case of Gaussian. You can override this for systems with unusual noise models. size_t virtual size_t gtsam::NonlinearFactor::dim () const =0 dim dim get the dimension of the factor (number of rows on linearization) bool virtual bool gtsam::NonlinearFactor::active (const Values &) const active const Values & Checks whether a factor should be used based on a set of values. This is primarily used to implment inequality constraints that require a variable active set. For all others, the default implementation returning true solves this problem.In an inequality/bounding constraint, this active() returns true when the constraint is NOT fulfilled. true if the constraint is active std::shared_ptr< GaussianFactor > virtual std::shared_ptr<GaussianFactor> gtsam::NonlinearFactor::linearize (const Values &c) const =0 linearize linearize const Values & c linearize to a GaussianFactor shared_ptr virtual shared_ptr gtsam::NonlinearFactor::clone () const clone Creates a shared_ptr clone of the factor - needs to be specialized to allow for subclassesBy default, throws exception if subclass does not implement the function. shared_ptr shared_ptr gtsam::NonlinearFactor::rekey (const std::map< Key, Key > &rekey_mapping) const rekey const std::map< Key, Key > & rekey_mapping Creates a shared_ptr clone of the factor with different keys using a map from old->new keys shared_ptr shared_ptr gtsam::NonlinearFactor::rekey (const KeyVector &new_keys) const rekey const KeyVector & new_keys Clones a factor and fully replaces its keys new_keys is the full replacement set of keys
Factor typedef Factor gtsam::NonlinearFactor::Base Base NonlinearFactor typedef NonlinearFactor gtsam::NonlinearFactor::This This std::shared_ptr< This > typedef std::shared_ptr<This> gtsam::NonlinearFactor::shared_ptr shared_ptr Nonlinear factor base class gtsam::NonlinearFactoractive gtsam::NonlinearFactorBase gtsam::NonlinearFactorclone gtsam::NonlinearFactordim gtsam::NonlinearFactorequals gtsam::NonlinearFactorerror gtsam::NonlinearFactorlinearize gtsam::NonlinearFactorNonlinearFactor gtsam::NonlinearFactorNonlinearFactor gtsam::NonlinearFactorprint gtsam::NonlinearFactorrekey gtsam::NonlinearFactorrekey gtsam::NonlinearFactorshared_ptr gtsam::NonlinearFactorThis gtsam::NonlinearFactor~NonlinearFactor