gtsam
Loading...
Searching...
No Matches
gtsam::Factor Class Reference
Inheritance diagram for gtsam::Factor:

Standard Constructors

 Factor ()
 Default constructor for I/O.
template<typename CONTAINER>
 Factor (const CONTAINER &keys)
 Construct factor from container of keys.
template<typename ITERATOR>
 Factor (ITERATOR first, ITERATOR last)
 Construct factor from iterator keys.
template<typename CONTAINER>
static Factor FromKeys (const CONTAINER &keys)
 Construct factor from container of keys.
template<typename ITERATOR>
static Factor FromIterators (ITERATOR first, ITERATOR last)
 Construct factor from iterator keys.

Public Member Functions

virtual ~Factor ()=default
 Default destructor.
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
 Iterator at beginning of involved variable keys.
const_iterator end () const
 Iterator at end of involved variable keys.
virtual double error (const HybridValues &hybridValues) const
 All factor types need to implement an error function.
size_t size () const
Testable
virtual void print (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const
 print
virtual void printKeys (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const
 print only keys
bool equals (const This &other, double tol=1e-9) const
 check equality
Advanced Interface
KeyVector & keys ()
iterator begin ()
 Iterator at beginning of involved variable keys.
iterator end ()
 Iterator at end of involved variable keys.

Public Types

typedef KeyVector::iterator iterator
 Iterator over keys.
typedef KeyVector::const_iterator const_iterator
 Const iterator over keys.

Protected Attributes

KeyVector keys_
 The keys involved in this factor.

Constructor & Destructor Documentation

◆ Factor() [1/2]

template<typename CONTAINER>
gtsam::Factor::Factor ( const CONTAINER & keys)
inlineexplicitprotected

Construct factor from container of keys.

This constructor is used internally from derived factor constructors, either from a container of keys or from a boost::assign::list_of.

◆ Factor() [2/2]

template<typename ITERATOR>
gtsam::Factor::Factor ( ITERATOR first,
ITERATOR last )
inlineprotected

Construct factor from iterator keys.

This constructor may be used internally from derived factor constructors, although our code currently does not use this.

Member Function Documentation

◆ error()

double gtsam::Factor::error ( const HybridValues & hybridValues) const
virtual

◆ FromIterators()

template<typename ITERATOR>
Factor gtsam::Factor::FromIterators ( ITERATOR first,
ITERATOR last )
inlinestaticprotected

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.

◆ FromKeys()

template<typename CONTAINER>
Factor gtsam::Factor::FromKeys ( const CONTAINER & keys)
inlinestaticprotected

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.

◆ keys()

KeyVector & gtsam::Factor::keys ( )
inline
Returns
keys involved in this factor

◆ print()

void gtsam::Factor::print ( const std::string & s = "Factor",
const KeyFormatter & formatter = DefaultKeyFormatter ) const
virtual

print

Reimplemented in gtsam::AHRSFactorT< PIM >, gtsam::AHRSFactorT< PreintegratedAhrsMeasurements >, gtsam::AllDiff, gtsam::AntiFactor, gtsam::AttitudeFactor< VALUE >, gtsam::BarometricFactor, gtsam::BatchFactor< FactorType, ErrorDim >, gtsam::BatchJacobianFactorBase, gtsam::BayesTreeOrphanWrapper< HybridBayesTreeClique >, gtsam::BearingFactor< A1, A2, T >, gtsam::BearingFactor< A1, A2, T >, gtsam::BearingRangeFactor< A1, A2, B, R >, gtsam::BearingRangeFactor< A1, A2, B, R >, gtsam::BearingRangeFactor< Pose2, Point2 >, gtsam::BearingRangeFactor< Pose3, Point3 >, gtsam::BetweenFactor< VALUE >, gtsam::BetweenFactor< double >, gtsam::BetweenFactor< Point2 >, gtsam::BetweenFactor< Point3 >, gtsam::BetweenFactor< Pose2 >, gtsam::BetweenFactor< Pose3 >, gtsam::BetweenFactor< Rot2 >, gtsam::BetweenFactor< Rot3 >, gtsam::BetweenFactor< SL4 >, gtsam::BetweenFactorEM< VALUE >, gtsam::BiasedGPSFactor, gtsam::BinaryAllDiff, gtsam::BinaryMeasurement< T >, gtsam::BinaryMeasurement< Unit3 >, gtsam::CarrierPhaseFactor, gtsam::CarrierPhaseFactorArm, gtsam::CombinedImuFactorT< PIM >, gtsam::CombinedImuFactorT< PIM >, gtsam::CombinedImuFactorT< PreintegratedCombinedMeasurementsG >, gtsam::CombinedImuFactorWithGravityT< PIM, GRAVITY >, gtsam::CombinedImuFactorWithGravityT< PIM, GRAVITY >, gtsam::CombinedImuFactorWithGravityT< PreintegratedCombinedMeasurements, Point3 >, gtsam::CombinedImuFactorWithGravityT< PreintegratedCombinedMeasurements, Unit3 >, gtsam::ConcentratedGaussian< T >, gtsam::CustomFactor, gtsam::DecisionTreeFactor, gtsam::DifferentialPseudorangeFactor, gtsam::DifferentialPseudorangeFactorArm, gtsam::DiscreteBoundaryFactor, gtsam::DiscreteConditional, gtsam::DiscreteDistribution, gtsam::DiscreteFactor, gtsam::DiscreteLookupTable, gtsam::Domain, gtsam::DopplerFactor, gtsam::DopplerFactorArm, gtsam::DoubleDifferenceCarrierPhaseFactor, gtsam::DoubleDifferenceCarrierPhaseFactorArm, gtsam::DoubleDifferencePseudorangeFactor, gtsam::DoubleDifferencePseudorangeFactorArm, gtsam::EssentialMatrixConstraint, gtsam::EssentialMatrixFactor2, gtsam::EssentialMatrixFactor3, gtsam::EssentialMatrixFactor4< CALIBRATION >, gtsam::EssentialMatrixFactor5< CALIBRATION >, gtsam::EssentialMatrixFactor, gtsam::ExpressionFactor< T >, gtsam::ExpressionFactor< double >, gtsam::ExtendedPriorFactor< VALUE >, gtsam::ExtendedPriorFactor< T >, gtsam::FrobeniusBetweenFactorNL< T >, gtsam::FrobeniusLeftBetweenFactor< T >, gtsam::FunctorizedFactor2< R, T1, T2 >, gtsam::FunctorizedFactor< R, T >, gtsam::FunctorizedFactor< double, BASIS::Parameters >, gtsam::FunctorizedFactor< double, Matrix >, gtsam::FunctorizedFactor< double, typename BASIS::Parameters >, gtsam::FunctorizedFactor< double, Vector >, gtsam::FunctorizedFactor< T, Matrix >, gtsam::FunctorizedFactor< Vector, Matrix >, gtsam::GaussianConditional, gtsam::GaussianDensity, gtsam::GaussianFactor, gtsam::GaussMarkov1stOrderFactor< VALUE >, gtsam::GeneralSFMFactor2< CALIBRATION >, gtsam::GeneralSFMFactor2< gtsam::Cal3_S2 >, gtsam::GeneralSFMFactor< CAMERA, LANDMARK >, gtsam::GeneralSFMFactor< gtsam::PinholeCameraCal3_S2, gtsam::Point3 >, gtsam::GeneralSFMFactor< gtsam::PinholeCameraCal3DS2, gtsam::Point3 >, gtsam::GeneralSFMFactor< gtsam::SphericalCamera, gtsam::Point3 >, gtsam::GenericProjectionFactor< POSE, LANDMARK, CALIBRATION >, gtsam::GenericProjectionFactor< POSE, LANDMARK, CALIBRATION >, gtsam::GenericProjectionFactor< Pose3, Point3, Cal3_S2 >, gtsam::GenericProjectionFactor< Pose3, Point3, Cal3DS2 >, gtsam::GenericStereoFactor< POSE, LANDMARK >, gtsam::GenericStereoFactor< gtsam::Pose3, gtsam::Point3 >, gtsam::GPSFactor2, gtsam::GPSFactor2Arm, gtsam::GPSFactor2ArmCalib, gtsam::GPSFactor, gtsam::GPSFactorArm, gtsam::GPSFactorArmCalib, gtsam::HessianFactor, gtsam::HybridConditional, gtsam::HybridFactor, gtsam::HybridGaussianConditional, gtsam::HybridGaussianFactor, gtsam::HybridNonlinearFactor, gtsam::ImuFactor2T< PIM >, gtsam::ImuFactor2T< PIM >, gtsam::ImuFactor2T< PreintegratedImuMeasurementsG >, gtsam::ImuFactor2WithGravityT< PIM, GRAVITY >, gtsam::ImuFactor2WithGravityT< PIM, GRAVITY >, gtsam::ImuFactor2WithGravityT< PreintegratedImuMeasurements, Point3 >, gtsam::ImuFactor2WithGravityT< PreintegratedImuMeasurements, Unit3 >, gtsam::ImuFactorT< PIM >, gtsam::ImuFactorT< PIM >, gtsam::ImuFactorT< PreintegratedImuMeasurementsG >, gtsam::ImuFactorWithGravityT< PIM, GRAVITY >, gtsam::ImuFactorWithGravityT< PIM, GRAVITY >, gtsam::ImuFactorWithGravityT< PreintegratedImuMeasurements, Point3 >, gtsam::ImuFactorWithGravityT< PreintegratedImuMeasurements, Unit3 >, gtsam::InvDepthFactor3< POSE, LANDMARK, INVDEPTH >, gtsam::InvDepthFactorVariant1, gtsam::InvDepthFactorVariant2, gtsam::InvDepthFactorVariant3a, gtsam::InvDepthFactorVariant3b, gtsam::JacobianFactor, gtsam::LinearContainerFactor, gtsam::LocalOrientedPlane3Factor, gtsam::MagPoseFactor< POSE >, gtsam::MultiProjectionFactor< POSE, LANDMARK, CALIBRATION >, gtsam::MultiProjectionFactor< POSE, LANDMARK, CALIBRATION >, gtsam::NoiseModelFactor, gtsam::NonlinearFactor, gtsam::OrientedPlane3DirectionPrior, gtsam::OrientedPlane3Factor, gtsam::PlanarGyroFactor, gtsam::PoseBetweenFactor< POSE >, gtsam::PosePriorFactor< POSE >, gtsam::PoseRotationPrior< POSE >, gtsam::PoseToPointFactor< POSE, POINT >, gtsam::PoseTranslationPrior< POSE >, gtsam::PriorFactor< VALUE >, gtsam::PriorFactor< Cal3_S2 >, gtsam::PriorFactor< Cal3DS2 >, gtsam::PriorFactor< CalibratedCamera >, gtsam::PriorFactor< PinholeCameraCal3_S2 >, gtsam::PriorFactor< Point2 >, gtsam::PriorFactor< Point3 >, gtsam::PriorFactor< Pose2 >, gtsam::PriorFactor< Pose3 >, gtsam::PriorFactor< Rot2 >, gtsam::PriorFactor< Rot3 >, gtsam::PriorFactor< SL4 >, gtsam::PriorFactor< StereoCamera >, gtsam::PriorFactor< StereoPoint2 >, gtsam::ProjectionFactorPPP< POSE, LANDMARK, CALIBRATION >, gtsam::ProjectionFactorPPP< POSE, LANDMARK, CALIBRATION >, gtsam::ProjectionFactorPPPC< POSE, LANDMARK, CALIBRATION >, gtsam::ProjectionFactorPPPC< POSE, LANDMARK, CALIBRATION >, gtsam::ProjectionFactorRollingShutter, gtsam::PseudorangeFactor, gtsam::PseudorangeFactorArm, gtsam::QuadraticRangeFactor< d >, gtsam::QuadraticRangeFactor< 2 >, gtsam::QuadraticRangeFactor< 3 >, gtsam::RangeFactor< A1, A2, T >, gtsam::RangeFactor< A1, A2, T >, gtsam::RangeFactor< CalibratedCamera, CalibratedCamera >, gtsam::RangeFactor< CalibratedCamera, Point3 >, gtsam::RangeFactor< PinholeCameraCal3_S2, PinholeCameraCal3_S2 >, gtsam::RangeFactor< PinholeCameraCal3_S2, Point3 >, gtsam::RangeFactor< Pose2, Point2 >, gtsam::RangeFactor< Pose2, Pose2 >, gtsam::RangeFactor< Pose3, Point3 >, gtsam::RangeFactor< Pose3, Pose3 >, gtsam::RangeFactorWithTransform< A1, A2, T >, gtsam::RangeFactorWithTransform< A1, A2, T >, gtsam::RangeFactorWithTransformBias< A1, A2, T >, gtsam::RangeFactorWithTransformBias< A1, A2, T >, gtsam::ReferenceFrameFactor< POINT, TRANSFORM >, gtsam::RegularImplicitSchurFactor< CAMERA >, gtsam::RelativeElevationFactor, gtsam::RelativeTranslationFactor< d >, gtsam::RelativeTranslationFactor< 2 >, gtsam::RelativeTranslationFactor< 3 >, gtsam::RotateDirectionsFactor, gtsam::RotateFactor, gtsam::ShonanFactor< d >, gtsam::ShonanFactor< 2 >, gtsam::ShonanFactor< 3 >, gtsam::SingleValue, gtsam::SmartFactorBase< CAMERA >, gtsam::SmartFactorBase< PinholePose< CALIBRATION > >, gtsam::SmartFactorBase< StereoCamera >, gtsam::SmartProjectionFactorBase< CAMERA >, gtsam::SmartProjectionFactorBase< Camera >, gtsam::SmartProjectionFactorBase< PinholePose< CALIBRATION > >, gtsam::SmartProjectionPoseFactor< CALIBRATION >, gtsam::SmartProjectionPoseFactorRollingShutter< CAMERA >, gtsam::SmartProjectionRigFactor< CAMERA >, gtsam::SmartRangeFactor, gtsam::SmartStereoProjectionFactor, gtsam::SmartStereoProjectionFactorPP, gtsam::SmartStereoProjectionPoseFactor, gtsam::SymbolicConditional, gtsam::SymbolicFactor, gtsam::TableDistribution, gtsam::TableFactor, gtsam::TransformBtwRobotsUnaryFactor< VALUE >, gtsam::TransformBtwRobotsUnaryFactorEM< VALUE >, gtsam::TriangulationFactor< CAMERA >, gtsam::UnaryMeasurement< T >, gtsam::UndifferencedCarrierPhaseFactor, gtsam::UndifferencedCarrierPhaseFactorArm, gtsam::UndifferencedPseudorangeFactor, gtsam::UndifferencedPseudorangeFactorArm, gtsam::VectorNormFactor< N >, gtsam::WhiteNoiseFactor, gtsam::WnoaInterpFactor< PoseType >, and gtsam::WnoaMotionFactor< Pose >.

◆ printKeys()

void gtsam::Factor::printKeys ( const std::string & s = "Factor",
const KeyFormatter & formatter = DefaultKeyFormatter ) const
virtual

print only keys

Reimplemented in gtsam::SymbolicFactor.

◆ size()

size_t gtsam::Factor::size ( ) const
inline
Returns
the number of variables involved in this factor

The documentation for this class was generated from the following files:
  • /tmp/gtsam-4.3.0-doxygen.rsXPUS/source/gtsam/inference/Factor.h
  • /tmp/gtsam-4.3.0-doxygen.rsXPUS/source/gtsam/inference/Factor.cpp