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 =
"",
111 bool equals(
const This&
c,
double tol = 1
e-9)
const;
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);
void print(const Matrix &A, const string &s, ostream &stream)
Typedefs for easier changing of types.
static SymbolicConditional::shared_ptr FromIteratorsShared(ITERATOR firstKey, ITERATOR lastKey, size_t nrFrontals)
Concept check for values that can be used in unit tests.
std::string serialize(const T &input)
serializes to a string
std::shared_ptr< This > shared_ptr
SymbolicFactor::shared_ptr clone() const
Copy this object as its actual derived type.
double error(const HybridValues &c) const override
The error method throws an exception.
SymbolicConditional(Key j, Key parent1, Key parent2, Key parent3)
static SymbolicConditional::shared_ptr FromKeysShared(const CONTAINER &keys, size_t nrFrontals)
static SymbolicConditional FromKeys(const CONTAINER &keys, size_t nrFrontals)
static const KeyFormatter DefaultKeyFormatter
static SymbolicConditional FromIterators(ITERATOR firstKey, ITERATOR lastKey, size_t nrFrontals)
SymbolicFactor BaseFactor
Typedef to this class.
SymbolicConditional(Key j, Key parent)
SymbolicConditional(Key j, Key parent1, Key parent2)
Conditional< BaseFactor, This > BaseConditional
Typedef to the factor base class.
BaseFactor::const_iterator const_iterator
iterator to keys
KeyVector::iterator iterator
Iterator over keys.
BaseFactor::iterator iterator
Boost shared_ptr to this class.
Array< double, 1, 3 > e(1./3., 0.5, 2.)
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
std::shared_ptr< This > shared_ptr
Typedef to the conditional base class.
SymbolicConditional(Key j)
KeyVector::const_iterator const_iterator
Const iterator over keys.
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
std::uint64_t Key
Integer nonlinear key type.