gtsam  4.1.0
gtsam
gtsam::NonlinearFactor Class Referenceabstract

Detailed Description

Nonlinear factor base class.

+ Inheritance diagram for gtsam::NonlinearFactor:

Standard Constructors

 NonlinearFactor ()
 Default constructor for I/O only.
 
template<typename CONTAINER >
 NonlinearFactor (const CONTAINER &keys)
 Constructor from a collection of the keys involved in this factor.
 

Testable

virtual void print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const
 print
 
virtual bool equals (const NonlinearFactor &f, double tol=1e-9) const
 Check if two factors are equal.
 

Standard Interface

virtual ~NonlinearFactor ()
 Destructor.
 
virtual double error (const Values &c) const =0
 Calculate the error of the factor This is typically equal to log-likelihood, e.g. More...
 
virtual size_t dim () const =0
 get the dimension of the factor (number of rows on linearization)
 
virtual bool active (const Values &) const
 Checks whether a factor should be used based on a set of values. More...
 
virtual boost::shared_ptr< GaussianFactorlinearize (const Values &c) const =0
 linearize to a GaussianFactor
 
virtual shared_ptr clone () const
 Creates a shared_ptr clone of the factor - needs to be specialized to allow for subclasses. More...
 
shared_ptr rekey (const std::map< Key, Key > &rekey_mapping) const
 Creates a shared_ptr clone of the factor with different keys using a map from old->new keys.
 
shared_ptr rekey (const KeyVector &new_keys) const
 Clones a factor and fully replaces its keys. More...
 

Public Types

typedef boost::shared_ptr< Thisshared_ptr
 
- Public Types inherited from gtsam::Factor
typedef KeyVector::iterator iterator
 Iterator over keys.
 
typedef KeyVector::const_iterator const_iterator
 Const iterator over keys.
 

Protected Types

typedef Factor Base
 
typedef NonlinearFactor This
 

Additional Inherited Members

- Public Member Functions inherited from gtsam::Factor
Key front () const
 First key.
 
Key back () const
 Last key.
 
const_iterator find (Key key) const
 find
 
const KeyVectorkeys () const
 Access the factor's involved variable keys.
 
const_iterator begin () const
 Iterator at beginning of involved variable keys.
 
const_iterator end () const
 Iterator at end of involved variable keys.
 
size_t size () const
 
void print (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const
 print
 
void printKeys (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const
 print only keys
 
KeyVectorkeys ()
 
iterator begin ()
 Iterator at beginning of involved variable keys.
 
iterator end ()
 Iterator at end of involved variable keys.
 
- Protected Member Functions inherited from gtsam::Factor
 Factor ()
 Default constructor for I/O.
 
template<typename CONTAINER >
 Factor (const CONTAINER &keys)
 Construct factor from container of keys. More...
 
template<typename ITERATOR >
 Factor (ITERATOR first, ITERATOR last)
 Construct factor from iterator keys. More...
 
bool equals (const This &other, double tol=1e-9) const
 check equality
 
- Static Protected Member Functions inherited from gtsam::Factor
template<typename CONTAINER >
static Factor FromKeys (const CONTAINER &keys)
 Construct factor from container of keys. More...
 
template<typename ITERATOR >
static Factor FromIterators (ITERATOR first, ITERATOR last)
 Construct factor from iterator keys. More...
 
- Protected Attributes inherited from gtsam::Factor
KeyVector keys_
 The keys involved in this factor.
 

Member Function Documentation

◆ active()

virtual bool gtsam::NonlinearFactor::active ( const Values ) const
inlinevirtual

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.

Returns
true if the constraint is active

Reimplemented in gtsam::BoundingConstraint2< VALUE1, VALUE2 >, gtsam::BoundingConstraint1< VALUE >, and gtsam::AntiFactor.

◆ clone()

virtual shared_ptr gtsam::NonlinearFactor::clone ( ) const
inlinevirtual

Creates a shared_ptr clone of the factor - needs to be specialized to allow for subclasses.

By default, throws exception if subclass does not implement the function.

Reimplemented in gtsam::TransformBtwRobotsUnaryFactorEM< VALUE >, gtsam::TransformBtwRobotsUnaryFactor< VALUE >, gtsam::SmartRangeFactor, gtsam::RelativeElevationFactor, gtsam::ProjectionFactorPPPC< POSE, LANDMARK, CALIBRATION >, gtsam::ProjectionFactorPPP< POSE, LANDMARK, CALIBRATION >, gtsam::PosePriorFactor< POSE >, gtsam::PoseBetweenFactor< POSE >, gtsam::PartialPriorFactor< VALUE >, gtsam::MultiProjectionFactor< POSE, LANDMARK, CALIBRATION >, gtsam::DummyFactor, gtsam::LinearizedHessianFactor, gtsam::LinearizedJacobianFactor, gtsam::VelocityConstraint3, gtsam::VelocityConstraint, gtsam::DiscreteEulerPoincareHelicopter, gtsam::Reconstruction, gtsam::PendulumFactorPk1, gtsam::PendulumFactorPk, gtsam::PendulumFactor2, gtsam::PendulumFactor1, gtsam::IMUFactor< POSE >, gtsam::FullIMUFactor< POSE >, gtsam::TriangulationFactor< CAMERA >, gtsam::GenericStereoFactor< POSE, LANDMARK >, gtsam::RotateDirectionsFactor, gtsam::RotateFactor, gtsam::ReferenceFrameFactor< POINT, TRANSFORM >, gtsam::GenericProjectionFactor< POSE, LANDMARK, CALIBRATION >, gtsam::PoseTranslationPrior< POSE >, gtsam::PoseRotationPrior< POSE >, gtsam::GeneralSFMFactor2< CALIBRATION >, gtsam::GeneralSFMFactor< CAMERA, LANDMARK >, gtsam::EssentialMatrixFactor3, gtsam::EssentialMatrixFactor2, gtsam::EssentialMatrixFactor, gtsam::EssentialMatrixConstraint, gtsam::BetweenFactor< VALUE >, gtsam::AntiFactor, gtsam::PriorFactor< VALUE >, gtsam::NonlinearEquality2< VALUE >, gtsam::NonlinearEquality1< VALUE >, gtsam::NonlinearEquality< VALUE >, gtsam::LinearContainerFactor, gtsam::FunctorizedFactor< R, T >, gtsam::MagFactor3, gtsam::MagFactor2, gtsam::MagFactor1, gtsam::MagFactor, gtsam::ImuFactor2, gtsam::ImuFactor, gtsam::GPSFactor2, gtsam::GPSFactor, gtsam::CombinedImuFactor, gtsam::Pose3AttitudeFactor, gtsam::Rot3AttitudeFactor, and gtsam::AHRSFactor.

◆ error()

◆ rekey()

NonlinearFactor::shared_ptr gtsam::NonlinearFactor::rekey ( const KeyVector new_keys) const

Clones a factor and fully replaces its keys.

Parameters
new_keysis the full replacement set of keys

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