28 #include <gtest/gtest.h>
29 #include <boost/serialization/shared_ptr.hpp>
49 auto object = std::make_shared<JointDynamics>(1.1, 2.2);
50 tesseract_common::testSerialization<JointDynamics>(*
object,
"JointDynamics");
55 auto object = std::make_shared<JointLimits>(1.1, 2.2, 3.3, 4.4, 5.5, 6.5);
56 tesseract_common::testSerialization<JointLimits>(*
object,
"JointLimits");
61 auto object = std::make_shared<JointSafety>(1.1, 2.2, 3.3, 4.4);
62 tesseract_common::testSerialization<JointSafety>(*
object,
"JointSafety");
67 auto object = std::make_shared<JointCalibration>(1.1, 2.2, 3.3);
68 tesseract_common::testSerialization<JointCalibration>(*
object,
"JointCalibration");
73 auto object = std::make_shared<JointMimic>(1.1, 2.2,
"mimic_name");
74 tesseract_common::testSerialization<JointMimic>(*
object,
"JointMimic");
79 auto object = std::make_shared<Joint>(
"serialized_joint");
81 object->axis = Eigen::Vector3d(1.1, 2.2, 3.3);
82 object->child_link_name =
"child_name";
83 object->parent_link_name =
"parent_name";
84 object->parent_to_joint_origin_transform.translate(Eigen::Vector3d(5.5, 6.6, 7.7));
85 object->dynamics = std::make_shared<JointDynamics>(1.1, 2.2);
86 object->limits = std::make_shared<JointLimits>(1.1, 2.2, 3.3, 4.4, 5.5, 6.5);
87 object->safety = std::make_shared<JointSafety>(1.1, 2.2, 3.3, 4.4);
88 object->calibration = std::make_shared<JointCalibration>(1.1, 2.2, 3.3);
89 object->mimic = std::make_shared<JointMimic>(1.1, 2.2,
"mimic_name");
90 tesseract_common::testSerialization<Joint>(*
object,
"Joint");
99 auto object = std::make_shared<Material>(
"test_name");
100 object->color = Eigen::Vector4d(0.1, 0.2, 0.3, 1.0);
101 object->texture_filename =
"test_filename";
102 tesseract_common::testSerialization<Material>(*
object,
"Material");
107 auto object = std::make_shared<Inertial>();
108 object->origin.translate(Eigen::Vector3d(5.5, 6.6, 7.7));
116 tesseract_common::testSerialization<Inertial>(*
object,
"Inertial");
121 auto object = std::make_shared<Visual>();
122 object->origin.translate(Eigen::Vector3d(5.5, 6.6, 7.7));
123 object->geometry = std::make_shared<tesseract_geometry::Cone>(1.1, 2.2);
124 object->material = std::make_shared<Material>(
"test_name");
125 object->name =
"visual_name";
126 tesseract_common::testSerialization<Visual>(*
object,
"Visual");
131 auto object = std::make_shared<Collision>();
132 object->origin.translate(Eigen::Vector3d(5.6, 7.8, -1.7));
133 object->geometry = std::make_shared<tesseract_geometry::Sphere>(1.1);
134 object->name =
"collision_name";
135 tesseract_common::testSerialization<Collision>(*
object,
"Collision");
140 auto object = std::make_shared<Link>(
"test_link");
141 object->inertial = std::make_shared<Inertial>();
143 auto vis = std::make_shared<Visual>();
144 vis->origin.translate(Eigen::Vector3d(5.5, 6.6, 7.7));
145 vis->geometry = std::make_shared<tesseract_geometry::Cone>(1.1, 2.2);
146 vis->material = std::make_shared<Material>(
"test_name");
147 vis->name =
"visual_name";
148 object->visual.push_back(std::make_shared<Visual>());
149 object->visual.push_back(vis);
151 auto col = std::make_shared<Collision>();
152 col->origin.translate(Eigen::Vector3d(5.6, 7.8, -1.7));
153 col->geometry = std::make_shared<tesseract_geometry::Sphere>(1.1);
154 col->name =
"collision_name";
155 object->collision.push_back(std::make_shared<Collision>());
156 object->collision.push_back(col);
157 tesseract_common::testSerialization<Link>(*
object,
"Link");
165 Link link_1(
"link_1");
166 Link link_2(
"link_2");
167 Link link_3(
"link_3");
168 Link link_4(
"link_4");
169 Link link_5(
"link_5");
171 EXPECT_TRUE(g.
addLink(link_1));
172 EXPECT_TRUE(g.
addLink(link_2));
173 EXPECT_TRUE(g.
addLink(link_3));
174 EXPECT_TRUE(g.
addLink(link_4));
175 EXPECT_TRUE(g.
addLink(link_5));
177 Joint joint_1(
"joint_1");
184 Joint joint_2(
"joint_2");
189 joint_2.
limits = std::make_shared<JointLimits>(-1, 1, 0, 2, 3, 4);
192 Joint joint_3(
"joint_3");
199 Joint joint_4(
"joint_4");
204 joint_4.
limits = std::make_shared<JointLimits>(-1, 1, 0, 2, 3, 4);
218 tesseract_common::testSerialization<SceneGraph>(
object,
"SceneGraph");
223 auto object = std::make_shared<SceneState>();
224 object->joints[
"j_1"] = 12.3;
225 object->joints[
"j_2"] = -12.3;
226 object->joints[
"j_3"] = 1.23;
227 object->link_transforms[
"link_transforms_key"].setIdentity();
228 object->link_transforms[
"link_transforms_key"].translate(Eigen::Vector3d(1, 2, 3));
229 object->joint_transforms[
"joint_transforms_key"].setIdentity();
230 object->joint_transforms[
"joint_transforms_key"].translate(Eigen::Vector3d(5, 6, 7));
231 tesseract_common::testSerialization<SceneState>(*
object,
"SceneState");
234 int main(
int argc,
char** argv)
236 testing::InitGoogleTest(&argc, argv);
238 return RUN_ALL_TESTS();