Added factor and constant and removed factors method
parent
b463386514
commit
92e2a39c26
|
|
@ -81,12 +81,24 @@ void GaussianMixtureFactor::print(const std::string &s,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* *******************************************************************************/
|
/* *******************************************************************************/
|
||||||
const GaussianMixtureFactor::Mixture GaussianMixtureFactor::factors() const {
|
GaussianFactor::shared_ptr GaussianMixtureFactor::factor(
|
||||||
return Mixture(factors_, [](const FactorAndConstant &factor_z) {
|
const DiscreteValues &assignment) const {
|
||||||
return factor_z.factor;
|
return factors_(assignment).factor;
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* *******************************************************************************/
|
||||||
|
double GaussianMixtureFactor::constant(const DiscreteValues &assignment) const {
|
||||||
|
return factors_(assignment).constant;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* *******************************************************************************/
|
||||||
|
// NOTE(dellaert): this was not used and is expensive.
|
||||||
|
// const GaussianMixtureFactor::Mixture GaussianMixtureFactor::factors() const {
|
||||||
|
// return Mixture(factors_, [](const FactorAndConstant &factor_z) {
|
||||||
|
// return factor_z.factor;
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
|
||||||
/* *******************************************************************************/
|
/* *******************************************************************************/
|
||||||
GaussianMixtureFactor::Sum GaussianMixtureFactor::add(
|
GaussianMixtureFactor::Sum GaussianMixtureFactor::add(
|
||||||
const GaussianMixtureFactor::Sum &sum) const {
|
const GaussianMixtureFactor::Sum &sum) const {
|
||||||
|
|
|
||||||
|
|
@ -151,12 +151,16 @@ class GTSAM_EXPORT GaussianMixtureFactor : public HybridFactor {
|
||||||
void print(
|
void print(
|
||||||
const std::string &s = "GaussianMixtureFactor\n",
|
const std::string &s = "GaussianMixtureFactor\n",
|
||||||
const KeyFormatter &formatter = DefaultKeyFormatter) const override;
|
const KeyFormatter &formatter = DefaultKeyFormatter) const override;
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
/// @name Standard API
|
/// @name Standard API
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/// Getter for the underlying Gaussian Factor Decision Tree.
|
/// Get factor at a given discrete assignment.
|
||||||
const Mixture factors() const;
|
sharedFactor factor(const DiscreteValues &assignment) const;
|
||||||
|
|
||||||
|
/// Get constant at a given discrete assignment.
|
||||||
|
double constant(const DiscreteValues &assignment) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Combine the Gaussian Factor Graphs in `sum` and `this` while
|
* @brief Combine the Gaussian Factor Graphs in `sum` and `this` while
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue