Go to the documentation of this file.
62 public Conditional<HybridFactor, HybridConditional> {
114 const std::shared_ptr<GaussianConditional>& continuousConditional);
123 const std::shared_ptr<DiscreteConditional>& discreteConditional);
132 const std::shared_ptr<HybridGaussianConditional>& hybridGaussianCond);
140 const std::string&
s =
"Hybrid Conditional: ",
156 return std::dynamic_pointer_cast<HybridGaussianConditional>(inner_);
165 return std::dynamic_pointer_cast<GaussianConditional>(inner_);
174 return std::dynamic_pointer_cast<DiscreteConditional>(inner_);
178 std::shared_ptr<Factor>
inner()
const {
return inner_; }
202 double negLogConstant()
const override;
209 for (
Key key : frontals()) {
220 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION
222 friend class boost::serialization::access;
223 template <
class Archive>
224 void serialize(Archive& ar,
const unsigned int ) {
225 ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseFactor);
226 ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseConditional);
227 ar& BOOST_SERIALIZATION_NVP(inner_);
232 boost::serialization::void_cast_register<DiscreteConditional, Factor>(
234 }
else if (isContinuous()) {
235 boost::serialization::void_cast_register<GaussianConditional, Factor>(
238 boost::serialization::void_cast_register<HybridGaussianConditional,
240 static_cast<HybridGaussianConditional*
>(
NULL),
241 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::vector< double > measurements
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 Nov 16 2024 04:02:26