22 #include <gtsam/inference/Conditional-inst.h> 38 public Conditional<SymbolicFactor, SymbolicConditional> {
67 template<
typename ITERATOR>
71 (BaseFactor&)result = BaseFactor::FromIterators(firstKey, lastKey);
77 template<
typename ITERATOR>
81 result->keys_.assign(firstKey, lastKey);
82 result->nrFrontals_ = nrFrontals;
87 template<
class CONTAINER>
89 return FromIterators(keys.begin(), keys.end(), nrFrontals);
93 template<
class CONTAINER>
95 return FromIteratorsShared(keys.begin(), keys.end(), nrFrontals);
107 const std::string& str =
"",
108 const KeyFormatter& keyFormatter = DefaultKeyFormatter)
const override;
111 bool equals(
const This& c,
double tol = 1e-9)
const;
118 double logProbability(
const HybridValues& x)
const override;
123 using Conditional::operator();
129 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 131 friend class boost::serialization::access;
132 template<
class Archive>
133 void serialize(Archive & ar,
const unsigned int ) {
134 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseFactor);
135 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseConditional);
Definition: HybridValues.h:38
Typedefs for easier changing of types.
static SymbolicConditional::shared_ptr FromIteratorsShared(ITERATOR firstKey, ITERATOR lastKey, size_t nrFrontals)
Definition: SymbolicConditional.h:78
Concept check for values that can be used in unit tests.
std::string serialize(const T &input)
serializes to a string
Definition: serialization.h:113
std::shared_ptr< This > shared_ptr
Definition: SymbolicFactor.h:47
SymbolicFactor::shared_ptr clone() const
Copy this object as its actual derived type.
Definition: SymbolicConditional.h:99
Definition: Testable.h:152
double error(const HybridValues &c) const override
The error method throws an exception.
SymbolicConditional(Key j, Key parent1, Key parent2, Key parent3)
Definition: SymbolicConditional.h:64
static SymbolicConditional::shared_ptr FromKeysShared(const CONTAINER &keys, size_t nrFrontals)
Definition: SymbolicConditional.h:94
static SymbolicConditional FromKeys(const CONTAINER &keys, size_t nrFrontals)
Definition: SymbolicConditional.h:88
static SymbolicConditional FromIterators(ITERATOR firstKey, ITERATOR lastKey, size_t nrFrontals)
Definition: SymbolicConditional.h:68
Definition: Testable.h:112
SymbolicFactor BaseFactor
Typedef to this class.
Definition: SymbolicConditional.h:42
SymbolicConditional(Key j, Key parent)
Definition: SymbolicConditional.h:58
SymbolicConditional(Key j, Key parent1, Key parent2)
Definition: SymbolicConditional.h:61
Conditional< BaseFactor, This > BaseConditional
Typedef to the factor base class.
Definition: SymbolicConditional.h:43
GTSAM_EXPORT void print(const Matrix &A, const std::string &s, std::ostream &stream)
BaseFactor::const_iterator const_iterator
iterator to keys
Definition: SymbolicConditional.h:46
Definition: Conditional.h:61
KeyVector::iterator iterator
Iterator over keys.
Definition: Factor.h:79
BaseFactor::iterator iterator
Boost shared_ptr to this class.
Definition: SymbolicConditional.h:45
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
size_t nrFrontals_
Definition: Conditional.h:65
Definition: chartTesting.h:28
Definition: SymbolicFactor.h:38
std::shared_ptr< This > shared_ptr
Typedef to the conditional base class.
Definition: SymbolicConditional.h:44
SymbolicConditional(Key j)
Definition: SymbolicConditional.h:55
KeyVector::const_iterator const_iterator
Const iterator over keys.
Definition: Factor.h:82
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:102
SymbolicConditional()
Definition: SymbolicConditional.h:52