Go to the documentation of this file.
61 public Conditional<HybridFactor, HybridConditional> {
113 const std::shared_ptr<GaussianConditional>& continuousConditional);
122 const std::shared_ptr<DiscreteConditional>& discreteConditional);
131 const std::shared_ptr<HybridGaussianConditional>& hybridGaussianCond);
139 const std::string&
s =
"Hybrid Conditional: ",
155 return std::dynamic_pointer_cast<HybridGaussianConditional>(inner_);
164 return std::dynamic_pointer_cast<GaussianConditional>(inner_);
173 return std::dynamic_pointer_cast<DiscreteConditional>(inner_);
177 std::shared_ptr<Factor>
inner()
const {
return inner_; }
201 double negLogConstant()
const override;
208 for (
Key key : frontals()) {
219 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION
221 friend class boost::serialization::access;
222 template <
class Archive>
223 void serialize(Archive& ar,
const unsigned int ) {
224 ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseFactor);
225 ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseConditional);
226 ar& BOOST_SERIALIZATION_NVP(inner_);
231 boost::serialization::void_cast_register<DiscreteConditional, Factor>(
233 }
else if (isContinuous()) {
234 boost::serialization::void_cast_register<GaussianConditional, Factor>(
237 boost::serialization::void_cast_register<HybridGaussianConditional,
239 static_cast<HybridGaussianConditional*
>(
NULL),
240 static_cast<Factor*
>(
NULL));
std::shared_ptr< This > shared_ptr
shared_ptr to this class
HybridGaussianConditional::shared_ptr asHybrid() const
Return HybridConditional as a HybridGaussianConditional.
Conditional Gaussian Base class.
std::shared_ptr< This > shared_ptr
A hybrid conditional in the Conditional Linear Gaussian scheme.
Array< double, 1, 3 > e(1./3., 0.5, 2.)
const KeyFormatter & formatter
DiscreteKeys is a set of keys that can be assembled using the & operator.
HybridConditional This
Typedef to this class.
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
KeyFormatter DefaultKeyFormatter
Assign default key formatter.
HybridFactor BaseFactor
Typedef to our factor base class.
HybridConditional(const KeyVector &continuousKeys, const DiscreteKeys &discreteKeys, size_t nFrontals)
Construct a new Hybrid Conditional object.
void print(const Matrix &A, const string &s, ostream &stream)
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Conditional< BaseFactor, This > BaseConditional
Typedef to our conditional base class.
std::shared_ptr< Factor > inner() const
Get the type-erased pointer to the inner type.
std::shared_ptr< Factor > inner_
Type-erased pointer to the inner type.
bool frontalsIn(const VectorValues &measurements) const
Check if VectorValues measurements contains all frontal keys.
const gtsam::Symbol key('X', 0)
std::shared_ptr< This > shared_ptr
shared_ptr to this class
Linearized Hybrid factor graph that uses type erasure.
std::shared_ptr< This > shared_ptr
shared_ptr to this class
DiscreteConditional::shared_ptr asDiscrete() const
Return conditional as a DiscreteConditional.
GaussianConditional::shared_ptr asGaussian() const
Return HybridConditional as a GaussianConditional.
Base class for conditional densities.
std::uint64_t Key
Integer nonlinear key type.
gtsam
Author(s):
autogenerated on Sat Sep 28 2024 03:00:50