| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | // | ||
| 2 | // Copyright (c) 2021 INRIA | ||
| 3 | // | ||
| 4 | |||
| 5 | #ifndef COAL_SERIALIZATION_COLLISION_DATA_H | ||
| 6 | #define COAL_SERIALIZATION_COLLISION_DATA_H | ||
| 7 | |||
| 8 | #include "coal/collision_data.h" | ||
| 9 | #include "coal/serialization/fwd.h" | ||
| 10 | |||
| 11 | namespace boost { | ||
| 12 | namespace serialization { | ||
| 13 | |||
| 14 | template <class Archive> | ||
| 15 | 42 | void save(Archive& ar, const coal::Contact& contact, | |
| 16 | const unsigned int /*version*/) { | ||
| 17 |
1/2✓ Branch 2 taken 21 times.
✗ Branch 3 not taken.
|
42 | ar& make_nvp("b1", contact.b1); |
| 18 |
1/2✓ Branch 2 taken 21 times.
✗ Branch 3 not taken.
|
42 | ar& make_nvp("b2", contact.b2); |
| 19 |
1/2✓ Branch 2 taken 21 times.
✗ Branch 3 not taken.
|
42 | ar& make_nvp("normal", contact.normal); |
| 20 |
1/2✓ Branch 2 taken 21 times.
✗ Branch 3 not taken.
|
42 | ar& make_nvp("nearest_points", contact.nearest_points); |
| 21 |
1/2✓ Branch 2 taken 21 times.
✗ Branch 3 not taken.
|
42 | ar& make_nvp("pos", contact.pos); |
| 22 |
1/2✓ Branch 2 taken 21 times.
✗ Branch 3 not taken.
|
42 | ar& make_nvp("penetration_depth", contact.penetration_depth); |
| 23 | 42 | } | |
| 24 | |||
| 25 | template <class Archive> | ||
| 26 | 42 | void load(Archive& ar, coal::Contact& contact, const unsigned int /*version*/) { | |
| 27 |
1/2✓ Branch 2 taken 21 times.
✗ Branch 3 not taken.
|
42 | ar >> make_nvp("b1", contact.b1); |
| 28 |
1/2✓ Branch 2 taken 21 times.
✗ Branch 3 not taken.
|
42 | ar >> make_nvp("b2", contact.b2); |
| 29 |
1/2✓ Branch 2 taken 21 times.
✗ Branch 3 not taken.
|
42 | ar >> make_nvp("normal", contact.normal); |
| 30 |
1/2✓ Branch 1 taken 21 times.
✗ Branch 2 not taken.
|
42 | std::array<coal::Vec3s, 2> nearest_points; |
| 31 |
1/2✓ Branch 2 taken 21 times.
✗ Branch 3 not taken.
|
42 | ar >> make_nvp("nearest_points", nearest_points); |
| 32 |
1/2✓ Branch 3 taken 21 times.
✗ Branch 4 not taken.
|
42 | contact.nearest_points[0] = nearest_points[0]; |
| 33 |
1/2✓ Branch 3 taken 21 times.
✗ Branch 4 not taken.
|
42 | contact.nearest_points[1] = nearest_points[1]; |
| 34 |
1/2✓ Branch 2 taken 21 times.
✗ Branch 3 not taken.
|
42 | ar >> make_nvp("pos", contact.pos); |
| 35 |
1/2✓ Branch 2 taken 21 times.
✗ Branch 3 not taken.
|
42 | ar >> make_nvp("penetration_depth", contact.penetration_depth); |
| 36 | 42 | contact.o1 = NULL; | |
| 37 | 42 | contact.o2 = NULL; | |
| 38 | 42 | } | |
| 39 | |||
| 40 | 84 | COAL_SERIALIZATION_SPLIT(coal::Contact) | |
| 41 | |||
| 42 | template <class Archive> | ||
| 43 | 56 | void serialize(Archive& ar, coal::QueryRequest& query_request, | |
| 44 | const unsigned int /*version*/) { | ||
| 45 |
1/2✓ Branch 2 taken 28 times.
✗ Branch 3 not taken.
|
56 | ar& make_nvp("gjk_initial_guess", query_request.gjk_initial_guess); |
| 46 | // TODO: use gjk_initial_guess instead | ||
| 47 | COAL_COMPILER_DIAGNOSTIC_PUSH | ||
| 48 | COAL_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS | ||
| 49 |
1/2✓ Branch 1 taken 28 times.
✗ Branch 2 not taken.
|
56 | ar& make_nvp("enable_cached_gjk_guess", |
| 50 | 56 | query_request.enable_cached_gjk_guess); | |
| 51 | COAL_COMPILER_DIAGNOSTIC_POP | ||
| 52 |
1/2✓ Branch 2 taken 28 times.
✗ Branch 3 not taken.
|
56 | ar& make_nvp("cached_gjk_guess", query_request.cached_gjk_guess); |
| 53 |
1/2✓ Branch 1 taken 28 times.
✗ Branch 2 not taken.
|
56 | ar& make_nvp("cached_support_func_guess", |
| 54 | 56 | query_request.cached_support_func_guess); | |
| 55 |
1/2✓ Branch 2 taken 28 times.
✗ Branch 3 not taken.
|
56 | ar& make_nvp("gjk_max_iterations", query_request.gjk_max_iterations); |
| 56 |
1/2✓ Branch 2 taken 28 times.
✗ Branch 3 not taken.
|
56 | ar& make_nvp("gjk_tolerance", query_request.gjk_tolerance); |
| 57 |
1/2✓ Branch 2 taken 28 times.
✗ Branch 3 not taken.
|
56 | ar& make_nvp("gjk_variant", query_request.gjk_variant); |
| 58 |
1/2✓ Branch 1 taken 28 times.
✗ Branch 2 not taken.
|
56 | ar& make_nvp("gjk_convergence_criterion", |
| 59 | 56 | query_request.gjk_convergence_criterion); | |
| 60 |
1/2✓ Branch 1 taken 28 times.
✗ Branch 2 not taken.
|
56 | ar& make_nvp("gjk_convergence_criterion_type", |
| 61 | 56 | query_request.gjk_convergence_criterion_type); | |
| 62 |
1/2✓ Branch 2 taken 28 times.
✗ Branch 3 not taken.
|
56 | ar& make_nvp("epa_max_iterations", query_request.epa_max_iterations); |
| 63 |
1/2✓ Branch 2 taken 28 times.
✗ Branch 3 not taken.
|
56 | ar& make_nvp("epa_tolerance", query_request.epa_tolerance); |
| 64 |
1/2✓ Branch 1 taken 28 times.
✗ Branch 2 not taken.
|
56 | ar& make_nvp("collision_distance_threshold", |
| 65 | 56 | query_request.collision_distance_threshold); | |
| 66 |
1/2✓ Branch 2 taken 28 times.
✗ Branch 3 not taken.
|
56 | ar& make_nvp("enable_timings", query_request.enable_timings); |
| 67 | 56 | } | |
| 68 | |||
| 69 | template <class Archive> | ||
| 70 | 56 | void serialize(Archive& ar, coal::QueryResult& query_result, | |
| 71 | const unsigned int /*version*/) { | ||
| 72 |
1/2✓ Branch 2 taken 28 times.
✗ Branch 3 not taken.
|
56 | ar& make_nvp("cached_gjk_guess", query_result.cached_gjk_guess); |
| 73 |
1/2✓ Branch 1 taken 28 times.
✗ Branch 2 not taken.
|
56 | ar& make_nvp("cached_support_func_guess", |
| 74 | 56 | query_result.cached_support_func_guess); | |
| 75 | 56 | } | |
| 76 | |||
| 77 | template <class Archive> | ||
| 78 | 28 | void serialize(Archive& ar, coal::CollisionRequest& collision_request, | |
| 79 | const unsigned int /*version*/) { | ||
| 80 |
2/4✓ Branch 1 taken 14 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 14 times.
✗ Branch 6 not taken.
|
28 | ar& make_nvp("base", boost::serialization::base_object<coal::QueryRequest>( |
| 81 | collision_request)); | ||
| 82 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar& make_nvp("num_max_contacts", collision_request.num_max_contacts); |
| 83 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar& make_nvp("enable_contact", collision_request.enable_contact); |
| 84 | COAL_COMPILER_DIAGNOSTIC_PUSH | ||
| 85 | COAL_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS | ||
| 86 |
1/2✓ Branch 1 taken 14 times.
✗ Branch 2 not taken.
|
28 | ar& make_nvp("enable_distance_lower_bound", |
| 87 | 28 | collision_request.enable_distance_lower_bound); | |
| 88 | COAL_COMPILER_DIAGNOSTIC_POP | ||
| 89 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar& make_nvp("security_margin", collision_request.security_margin); |
| 90 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar& make_nvp("break_distance", collision_request.break_distance); |
| 91 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar& make_nvp("distance_upper_bound", collision_request.distance_upper_bound); |
| 92 | 28 | } | |
| 93 | |||
| 94 | template <class Archive> | ||
| 95 | 14 | void save(Archive& ar, const coal::CollisionResult& collision_result, | |
| 96 | const unsigned int /*version*/) { | ||
| 97 |
2/4✓ Branch 1 taken 7 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 7 times.
✗ Branch 6 not taken.
|
14 | ar& make_nvp("base", boost::serialization::base_object<coal::QueryResult>( |
| 98 | collision_result)); | ||
| 99 |
1/2✓ Branch 3 taken 7 times.
✗ Branch 4 not taken.
|
14 | ar& make_nvp("contacts", collision_result.getContacts()); |
| 100 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar& make_nvp("distance_lower_bound", collision_result.distance_lower_bound); |
| 101 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar& make_nvp("nearest_points", collision_result.nearest_points); |
| 102 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar& make_nvp("normal", collision_result.normal); |
| 103 | 14 | } | |
| 104 | |||
| 105 | template <class Archive> | ||
| 106 | 14 | void load(Archive& ar, coal::CollisionResult& collision_result, | |
| 107 | const unsigned int /*version*/) { | ||
| 108 |
2/4✓ Branch 1 taken 7 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 7 times.
✗ Branch 6 not taken.
|
14 | ar >> make_nvp("base", boost::serialization::base_object<coal::QueryResult>( |
| 109 | collision_result)); | ||
| 110 | 14 | std::vector<coal::Contact> contacts; | |
| 111 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar >> make_nvp("contacts", contacts); |
| 112 |
1/2✓ Branch 1 taken 7 times.
✗ Branch 2 not taken.
|
14 | collision_result.clear(); |
| 113 |
2/2✓ Branch 1 taken 14 times.
✓ Branch 2 taken 7 times.
|
42 | for (size_t k = 0; k < contacts.size(); ++k) |
| 114 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | collision_result.addContact(contacts[k]); |
| 115 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar >> make_nvp("distance_lower_bound", collision_result.distance_lower_bound); |
| 116 |
1/2✓ Branch 1 taken 7 times.
✗ Branch 2 not taken.
|
14 | std::array<coal::Vec3s, 2> nearest_points; |
| 117 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar >> make_nvp("nearest_points", nearest_points); |
| 118 |
1/2✓ Branch 3 taken 7 times.
✗ Branch 4 not taken.
|
14 | collision_result.nearest_points[0] = nearest_points[0]; |
| 119 |
1/2✓ Branch 3 taken 7 times.
✗ Branch 4 not taken.
|
14 | collision_result.nearest_points[1] = nearest_points[1]; |
| 120 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar >> make_nvp("normal", collision_result.normal); |
| 121 | 14 | } | |
| 122 | |||
| 123 | 28 | COAL_SERIALIZATION_SPLIT(coal::CollisionResult) | |
| 124 | |||
| 125 | template <class Archive> | ||
| 126 | 28 | void serialize(Archive& ar, coal::DistanceRequest& distance_request, | |
| 127 | const unsigned int /*version*/) { | ||
| 128 |
2/4✓ Branch 1 taken 14 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 14 times.
✗ Branch 6 not taken.
|
28 | ar& make_nvp("base", boost::serialization::base_object<coal::QueryRequest>( |
| 129 | distance_request)); | ||
| 130 | COAL_COMPILER_DIAGNOSTIC_PUSH | ||
| 131 | COAL_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS | ||
| 132 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar& make_nvp("enable_nearest_points", distance_request.enable_nearest_points); |
| 133 | COAL_COMPILER_DIAGNOSTIC_POP | ||
| 134 |
1/2✓ Branch 1 taken 14 times.
✗ Branch 2 not taken.
|
28 | ar& make_nvp("enable_signed_distance", |
| 135 | 28 | distance_request.enable_signed_distance); | |
| 136 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar& make_nvp("rel_err", distance_request.rel_err); |
| 137 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar& make_nvp("abs_err", distance_request.abs_err); |
| 138 | 28 | } | |
| 139 | |||
| 140 | template <class Archive> | ||
| 141 | 14 | void save(Archive& ar, const coal::DistanceResult& distance_result, | |
| 142 | const unsigned int /*version*/) { | ||
| 143 |
2/4✓ Branch 1 taken 7 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 7 times.
✗ Branch 6 not taken.
|
14 | ar& make_nvp("base", boost::serialization::base_object<coal::QueryResult>( |
| 144 | distance_result)); | ||
| 145 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar& make_nvp("min_distance", distance_result.min_distance); |
| 146 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar& make_nvp("nearest_points", distance_result.nearest_points); |
| 147 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar& make_nvp("normal", distance_result.normal); |
| 148 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar& make_nvp("b1", distance_result.b1); |
| 149 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar& make_nvp("b2", distance_result.b2); |
| 150 | 14 | } | |
| 151 | |||
| 152 | template <class Archive> | ||
| 153 | 14 | void load(Archive& ar, coal::DistanceResult& distance_result, | |
| 154 | const unsigned int /*version*/) { | ||
| 155 |
2/4✓ Branch 1 taken 7 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 7 times.
✗ Branch 6 not taken.
|
14 | ar >> make_nvp("base", boost::serialization::base_object<coal::QueryResult>( |
| 156 | distance_result)); | ||
| 157 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar >> make_nvp("min_distance", distance_result.min_distance); |
| 158 |
1/2✓ Branch 1 taken 7 times.
✗ Branch 2 not taken.
|
14 | std::array<coal::Vec3s, 2> nearest_points; |
| 159 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar >> make_nvp("nearest_points", nearest_points); |
| 160 |
1/2✓ Branch 3 taken 7 times.
✗ Branch 4 not taken.
|
14 | distance_result.nearest_points[0] = nearest_points[0]; |
| 161 |
1/2✓ Branch 3 taken 7 times.
✗ Branch 4 not taken.
|
14 | distance_result.nearest_points[1] = nearest_points[1]; |
| 162 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar >> make_nvp("normal", distance_result.normal); |
| 163 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar >> make_nvp("b1", distance_result.b1); |
| 164 |
1/2✓ Branch 2 taken 7 times.
✗ Branch 3 not taken.
|
14 | ar >> make_nvp("b2", distance_result.b2); |
| 165 | 14 | distance_result.o1 = NULL; | |
| 166 | 14 | distance_result.o2 = NULL; | |
| 167 | 14 | } | |
| 168 | |||
| 169 | 28 | COAL_SERIALIZATION_SPLIT(coal::DistanceResult) | |
| 170 | |||
| 171 | } // namespace serialization | ||
| 172 | } // namespace boost | ||
| 173 | |||
| 174 | 36 | COAL_SERIALIZATION_DECLARE_EXPORT(::coal::CollisionRequest) | |
| 175 | 36 | COAL_SERIALIZATION_DECLARE_EXPORT(::coal::CollisionResult) | |
| 176 | 36 | COAL_SERIALIZATION_DECLARE_EXPORT(::coal::DistanceRequest) | |
| 177 | 36 | COAL_SERIALIZATION_DECLARE_EXPORT(::coal::DistanceResult) | |
| 178 | |||
| 179 | #endif // ifndef COAL_SERIALIZATION_COLLISION_DATA_H | ||
| 180 |