Add GTSAM_EXPORT and Testable traits

release/4.3a0
Varun Agrawal 2022-06-02 00:39:52 -04:00
parent 709bbb0c35
commit 932e65c7a2
5 changed files with 26 additions and 7 deletions

View File

@ -81,9 +81,9 @@ class GTSAM_EXPORT GaussianMixture
* discreteParents will be used as the labels in the decision tree.
*/
GaussianMixture(const KeyVector &continuousFrontals,
const KeyVector &continuousParents,
const DiscreteKeys &discreteParents,
const Conditionals &conditionals);
const KeyVector &continuousParents,
const DiscreteKeys &discreteParents,
const Conditionals &conditionals);
/**
* @brief Make a Gaussian Mixture from a list of Gaussian conditionals
@ -125,4 +125,8 @@ class GTSAM_EXPORT GaussianMixture
Sum add(const Sum &sum) const;
};
// traits
template <>
struct traits<GaussianMixture> : public Testable<GaussianMixture> {};
} // namespace gtsam

View File

@ -41,7 +41,7 @@ using GaussianFactorVector = std::vector<gtsam::GaussianFactor::shared_ptr>;
* of discrete variables indexes to the continuous gaussian distribution.
*
*/
class GaussianMixtureFactor : public HybridFactor {
class GTSAM_EXPORT GaussianMixtureFactor : public HybridFactor {
public:
using Base = HybridFactor;
using This = GaussianMixtureFactor;
@ -113,4 +113,9 @@ class GaussianMixtureFactor : public HybridFactor {
Sum add(const Sum &sum) const;
};
// traits
template <>
struct traits<GaussianMixtureFactor> : public Testable<GaussianMixtureFactor> {
};
} // namespace gtsam

View File

@ -29,7 +29,7 @@ namespace gtsam {
* us to hide the implementation of DiscreteFactor and thus avoid diamond
* inheritance.
*/
class HybridDiscreteFactor : public HybridFactor {
class GTSAM_EXPORT HybridDiscreteFactor : public HybridFactor {
private:
DiscreteFactor::shared_ptr inner_;
@ -61,4 +61,9 @@ class HybridDiscreteFactor : public HybridFactor {
/// Return pointer to the internal discrete factor
DiscreteFactor::shared_ptr inner() const { return inner_; }
};
// traits
template <>
struct traits<HybridDiscreteFactor> : public Testable<HybridDiscreteFactor> {};
} // namespace gtsam

View File

@ -28,7 +28,7 @@ namespace gtsam {
* a diamond inheritance i.e. an extra factor type that inherits from both
* HybridFactor and GaussianFactor.
*/
class HybridGaussianFactor : public HybridFactor {
class GTSAM_EXPORT HybridGaussianFactor : public HybridFactor {
private:
GaussianFactor::shared_ptr inner_;
@ -59,4 +59,9 @@ class HybridGaussianFactor : public HybridFactor {
GaussianFactor::shared_ptr inner() const { return inner_; }
};
// traits
template <>
struct traits<HybridGaussianFactor> : public Testable<HybridGaussianFactor> {};
} // namespace gtsam

View File

@ -71,7 +71,7 @@ struct EliminationTraits<HybridGaussianFactorGraph> {
* This is the linearized version of a hybrid factor graph.
* Everything inside needs to be hybrid factor or hybrid conditional.
*/
class HybridGaussianFactorGraph
class GTSAM_EXPORT HybridGaussianFactorGraph
: public FactorGraph<HybridFactor>,
public EliminateableFactorGraph<HybridGaussianFactorGraph> {
public: