30 #ifndef TESSERACT_COMMON_EIGEN_SERIALIZATION_H
31 #define TESSERACT_COMMON_EIGEN_SERIALIZATION_H
36 #include <Eigen/Geometry>
37 #include <boost/archive/xml_oarchive.hpp>
38 #include <boost/archive/xml_iarchive.hpp>
39 #include <boost/archive/binary_oarchive.hpp>
40 #include <boost/archive/binary_iarchive.hpp>
41 #include <boost/serialization/tracking.hpp>
42 #include <boost/serialization/tracking_enum.hpp>
50 template <
class Archive>
51 void save(Archive& ar,
const Eigen::VectorXd& g,
const unsigned int version);
53 template <
class Archive>
54 void load(Archive& ar, Eigen::VectorXd& g,
const unsigned int version);
56 template <
class Archive>
57 void serialize(Archive& ar, Eigen::VectorXd& g,
const unsigned int version);
62 template <
class Archive>
63 void save(Archive& ar,
const Eigen::Vector3d& g,
const unsigned int version);
65 template <
class Archive>
66 void load(Archive& ar, Eigen::Vector3d& g,
const unsigned int version);
68 template <
class Archive>
69 void serialize(Archive& ar, Eigen::Vector3d& g,
const unsigned int version);
74 template <
class Archive>
75 void save(Archive& ar,
const Eigen::Vector4d& g,
const unsigned int version);
77 template <
class Archive>
78 void load(Archive& ar, Eigen::Vector4d& g,
const unsigned int version);
80 template <
class Archive>
81 void serialize(Archive& ar, Eigen::Vector4d& g,
const unsigned int version);
86 template <
class Archive>
87 void save(Archive& ar,
const Eigen::VectorXi& g,
const unsigned int version);
89 template <
class Archive>
90 void load(Archive& ar, Eigen::VectorXi& g,
const unsigned int version);
92 template <
class Archive>
93 void serialize(Archive& ar, Eigen::VectorXi& g,
const unsigned int version);
99 template <
class Archive>
100 void save(Archive& ar,
const Eigen::Isometry3d& g,
const unsigned int version);
102 template <
class Archive>
103 void load(Archive& ar, Eigen::Isometry3d& g,
const unsigned int version);
105 template <
class Archive>
106 void serialize(Archive& ar, Eigen::Isometry3d& g,
const unsigned int version);
111 template <
class Archive>
112 void save(Archive& ar,
const Eigen::MatrixX2d& g,
const unsigned int version);
114 template <
class Archive>
115 void load(Archive& ar, Eigen::MatrixX2d& g,
const unsigned int version);
117 template <
class Archive>
118 void serialize(Archive& ar, Eigen::MatrixX2d& g,
const unsigned int version);
123 template <
class Archive>
124 void save(Archive& ar,
const std::variant<std::string, Eigen::Isometry3d>& g,
const unsigned int version);
126 template <
class Archive>
127 void load(Archive& ar, std::variant<std::string, Eigen::Isometry3d>& g,
const unsigned int version);
129 template <
class Archive>
130 void serialize(Archive& ar, std::variant<std::string, Eigen::Isometry3d>& g,
const unsigned int version);
136 template <
class Archive>
137 void serialize(Archive& ar, Eigen::Matrix<double, 6, 1>& g,
const unsigned int version);
142 BOOST_CLASS_TRACKING(Eigen::VectorXd, boost::serialization::track_never)
143 BOOST_CLASS_TRACKING(Eigen::Vector3d, boost::serialization::track_never)
144 BOOST_CLASS_TRACKING(Eigen::Vector4d, boost::serialization::track_never)
145 BOOST_CLASS_TRACKING(Eigen::VectorXi, boost::serialization::track_never)
146 BOOST_CLASS_TRACKING(Eigen::Isometry3d, boost::serialization::track_never)
147 BOOST_CLASS_TRACKING(Eigen::MatrixX2d, boost::serialization::track_never)
149 #endif // TESSERACT_COMMON_SERIALIZATION_H