24 using JacobianVector = std::vector<Matrix>;
36 using CustomErrorFunction = std::function<Vector(const CustomFactor &, const Values &, const JacobianVector *)>;
47 CustomErrorFunction error_function_;
68 Base(noiseModel, keys) {
69 this->error_function_ = errorFunction;
79 void print(
const std::string &s,
80 const KeyFormatter &keyFormatter = DefaultKeyFormatter)
const override;
91 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 93 friend class boost::serialization::access;
94 template<
class ARCHIVE>
95 void serialize(ARCHIVE &ar,
const unsigned int ) {
96 ar & boost::serialization::make_nvp(
"CustomFactor",
97 boost::serialization::base_object<Base>(*
this));
std::vector< Matrix > * OptionalMatrixVecType
Definition: NonlinearFactor.h:61
void print(const std::string &s, const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override
std::string serialize(const T &input)
serializes to a string
Definition: serialization.h:113
Definition: CustomFactor.h:45
NoiseModelFactor()
Definition: NonlinearFactor.h:212
Vector unwhitenedError(const Values &x, OptionalMatrixVecType H=nullptr) const override
Definition: NonlinearFactor.h:197
const SharedNoiseModel & noiseModel() const
access to the noise model
Definition: NonlinearFactor.h:245
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition: Key.h:35
CustomFactor(const SharedNoiseModel &noiseModel, const KeyVector &keys, const CustomErrorFunction &errorFunction)
Definition: CustomFactor.h:67
Definition: chartTesting.h:28
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
Definition: Key.h:86
Non-linear factor base classes.
bool sendable() const override
Definition: CustomFactor.h:85
const KeyVector & keys() const
Access the factor's involved variable keys.
Definition: Factor.h:142
noiseModel::Base::shared_ptr SharedNoiseModel
Definition: NoiseModel.h:741