60 template<
class FACTOR,
class DERIVEDCONDITIONAL>
75 typedef std::pair<typename FACTOR::const_iterator, typename FACTOR::const_iterator>
ConstFactorRange;
82 typename FACTOR::const_iterator
begin()
const {
return range_.first; }
83 typename FACTOR::const_iterator
end()
const {
return range_.second; }
119 bool equals(
const This&
c,
double tol = 1
e-9)
const;
139 throw std::invalid_argument(
"Requested Conditional::firstFrontalKey from a conditional with zero frontal keys");
218 template <
class VALUES>
230 FACTOR&
asFactor() {
return static_cast<FACTOR&
>(
static_cast<DERIVEDCONDITIONAL&
>(*this)); }
233 const FACTOR&
asFactor()
const {
return static_cast<const FACTOR&
>(
static_cast<const DERIVEDCONDITIONAL&
>(*this)); }
235 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 237 friend class boost::serialization::access;
238 template<
class ARCHIVE>
239 void serialize(ARCHIVE & ar,
const unsigned int ) {
240 ar & BOOST_SERIALIZATION_NVP(nrFrontals_);
const auto & front() const
FACTOR::const_iterator end() const
const FACTOR & asFactor() const
Conditional(size_t nrFrontals)
ConstFactorRangeIterator Parents
std::string serialize(const T &input)
serializes to a string
virtual double logProbability(const HybridValues &c) const
bool operator==(const OTHER &rhs) const
FACTOR::const_iterator endFrontals() const
static bool CheckInvariants(const DERIVEDCONDITIONAL &conditional, const VALUES &x)
ConstFactorRangeIterator(ConstFactorRange const &x)
FACTOR::const_iterator beginParents() const
Double_ distance(const OrientedPlane3_ &p)
virtual double evaluate(const HybridValues &c) const
size_t nrFrontals() const
Frontals frontals() const
ConstFactorRangeIterator Frontals
static const KeyFormatter DefaultKeyFormatter
double normalizationConstant() const
const KeyFormatter & formatter
FACTOR::const_iterator beginFrontals() const
std::pair< typename FACTOR::const_iterator, typename FACTOR::const_iterator > ConstFactorRange
ConstFactorRangeIterator()=delete
FACTOR::iterator endFrontals()
FACTOR::iterator endParents()
FACTOR::const_iterator endParents() const
FACTOR::const_iterator begin() const
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.
FACTOR::iterator beginFrontals()
FACTOR::iterator beginParents()
void print(const std::string &s="Conditional", const KeyFormatter &formatter=DefaultKeyFormatter) const
double operator()(const HybridValues &x) const
Evaluate probability density, sugar.
Key firstFrontalKey() const
bool equal(const T &obj1, const T &obj2, double tol)
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
virtual double logNormalizationConstant() const
Conditional< FACTOR, DERIVEDCONDITIONAL > This
Typedef to this class.
std::uint64_t Key
Integer nonlinear key type.
bool equals(const This &c, double tol=1e-9) const