reintroduce vector based HybridGaussianConditional constructor
parent
a276affe00
commit
dbd0ae1f27
|
@ -55,6 +55,15 @@ HybridGaussianConditional::conditionals() const {
|
||||||
return conditionals_;
|
return conditionals_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* *******************************************************************************/
|
||||||
|
HybridGaussianConditional::HybridGaussianConditional(
|
||||||
|
const KeyVector &continuousFrontals, const KeyVector &continuousParents,
|
||||||
|
const DiscreteKeys &discreteParents,
|
||||||
|
const std::vector<GaussianConditional::shared_ptr> &conditionals)
|
||||||
|
: HybridGaussianConditional(continuousFrontals, continuousParents,
|
||||||
|
discreteParents,
|
||||||
|
Conditionals(discreteParents, conditionals)) {}
|
||||||
|
|
||||||
/* *******************************************************************************/
|
/* *******************************************************************************/
|
||||||
// TODO(dellaert): This is copy/paste: HybridGaussianConditional should be
|
// TODO(dellaert): This is copy/paste: HybridGaussianConditional should be
|
||||||
// derived from HybridGaussianFactor, no?
|
// derived from HybridGaussianFactor, no?
|
||||||
|
|
|
@ -106,6 +106,20 @@ class GTSAM_EXPORT HybridGaussianConditional
|
||||||
const DiscreteKeys &discreteParents,
|
const DiscreteKeys &discreteParents,
|
||||||
const Conditionals &conditionals);
|
const Conditionals &conditionals);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Make a Gaussian Mixture from a vector of Gaussian conditionals.
|
||||||
|
* The DecisionTree-based constructor is preferred over this one.
|
||||||
|
*
|
||||||
|
* @param continuousFrontals The continuous frontal variables
|
||||||
|
* @param continuousParents The continuous parent variables
|
||||||
|
* @param discreteParents Discrete parents variables
|
||||||
|
* @param conditionals Vector of conditionals
|
||||||
|
*/
|
||||||
|
HybridGaussianConditional(
|
||||||
|
const KeyVector &continuousFrontals, const KeyVector &continuousParents,
|
||||||
|
const DiscreteKeys &discreteParents,
|
||||||
|
const std::vector<GaussianConditional::shared_ptr> &conditionals);
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
/// @name Testable
|
/// @name Testable
|
||||||
/// @{
|
/// @{
|
||||||
|
@ -247,7 +261,7 @@ class GTSAM_EXPORT HybridGaussianConditional
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Return the DiscreteKeys vector as a set.
|
/// Return the DiscreteKey vector as a set.
|
||||||
std::set<DiscreteKey> DiscreteKeysAsSet(const DiscreteKeys &discreteKeys);
|
std::set<DiscreteKey> DiscreteKeysAsSet(const DiscreteKeys &discreteKeys);
|
||||||
|
|
||||||
// traits
|
// traits
|
||||||
|
|
|
@ -92,6 +92,11 @@ class HybridGaussianConditional : gtsam::HybridFactor {
|
||||||
const gtsam::KeyVector& continuousParents,
|
const gtsam::KeyVector& continuousParents,
|
||||||
const gtsam::DiscreteKeys& discreteParents,
|
const gtsam::DiscreteKeys& discreteParents,
|
||||||
const gtsam::HybridGaussianConditional::Conditionals& conditionals);
|
const gtsam::HybridGaussianConditional::Conditionals& conditionals);
|
||||||
|
HybridGaussianConditional(
|
||||||
|
const gtsam::KeyVector& continuousFrontals,
|
||||||
|
const gtsam::KeyVector& continuousParents,
|
||||||
|
const gtsam::DiscreteKeys& discreteParents,
|
||||||
|
const std::vector<gtsam::GaussianConditional::shared_ptr>& conditionals);
|
||||||
|
|
||||||
gtsam::HybridGaussianFactor* likelihood(
|
gtsam::HybridGaussianFactor* likelihood(
|
||||||
const gtsam::VectorValues& frontals) const;
|
const gtsam::VectorValues& frontals) const;
|
||||||
|
|
Loading…
Reference in New Issue