54 bool isDiscrete_ =
false;
55 bool isContinuous_ =
false;
56 bool isHybrid_ =
false;
67 typedef boost::shared_ptr<HybridFactor>
112 const std::string &s =
"HybridFactor\n",
113 const KeyFormatter &formatter = DefaultKeyFormatter)
const override;
141 friend class boost::serialization::access;
142 template <
class ARCHIVE>
143 void serialize(ARCHIVE &ar,
const unsigned int ) {
144 ar &BOOST_SERIALIZATION_BASE_OBJECT_NVP(
Base);
145 ar &BOOST_SERIALIZATION_NVP(isDiscrete_);
146 ar &BOOST_SERIALIZATION_NVP(isContinuous_);
147 ar &BOOST_SERIALIZATION_NVP(isHybrid_);
148 ar &BOOST_SERIALIZATION_NVP(discreteKeys_);
Concept check for values that can be used in unit tests.
specialized key for discrete variables
Decision Tree for use in DiscreteFactors.
The base class for all factors.
Linear Factor Graph where all factors are Gaussians.
A non-templated config holding any types of Manifold-group elements.
Global functions in a separate testing namespace.
Definition chartTesting.h:28
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
Definition Key.h:86
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
DecisionTree< Key, GaussianFactorGraph > GaussianFactorGraphTree
Alias for DecisionTree of GaussianFactorGraphs.
Definition HybridFactor.h:34
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition concepts.h:30
A helper that implements the traits interface for GTSAM types.
Definition Testable.h:151
a decision tree is a function from assignments to values.
Definition DecisionTree.h:61
DiscreteKeys is a set of keys that can be assembled using the & operator.
Definition DiscreteKey.h:39
Base class for truly hybrid probabilistic factors.
Definition HybridFactor.h:52
size_t nrContinuous() const
Return the number of continuous variables in this factor.
Definition HybridFactor.h:129
HybridFactor This
This class.
Definition HybridFactor.h:66
boost::shared_ptr< HybridFactor > shared_ptr
shared_ptr to this class
Definition HybridFactor.h:68
bool isDiscrete() const
True if this is a factor of discrete variables only.
Definition HybridFactor.h:120
bool isHybrid() const
True is this is a Discrete-Continuous factor.
Definition HybridFactor.h:126
HybridFactor()=default
Default constructor creates empty factor.
Factor Base
Our base class.
Definition HybridFactor.h:69
void print(const std::string &s="HybridFactor\n", const KeyFormatter &formatter=DefaultKeyFormatter) const override
print
Definition HybridFactor.cpp:82
const KeyVector & continuousKeys() const
Return only the continuous keys for this factor.
Definition HybridFactor.h:135
virtual bool equals(const HybridFactor &lf, double tol=1e-9) const
equals
Definition HybridFactor.cpp:73
bool isContinuous() const
True if this is a factor of continuous variables only.
Definition HybridFactor.h:123
KeyVector continuousKeys_
Record continuous keys for book-keeping.
Definition HybridFactor.h:62
virtual ~HybridFactor()=default
Virtual destructor.
const DiscreteKeys & discreteKeys() const
Return the discrete keys for this factor.
Definition HybridFactor.h:132
HybridValues represents a collection of DiscreteValues and VectorValues.
Definition HybridValues.h:38
const KeyVector & keys() const
Access the factor's involved variable keys.
Definition Factor.h:140
Factor()
Default constructor for I/O.
Definition Factor.h:91