@@ -17,6 +17,7 @@ void save(Archive& ar, const hpp::fcl::Contact& contact,
17
17
ar& make_nvp (" b1" , contact.b1 );
18
18
ar& make_nvp (" b2" , contact.b2 );
19
19
ar& make_nvp (" normal" , contact.normal );
20
+ ar& make_nvp (" nearest_points" , contact.nearest_points );
20
21
ar& make_nvp (" pos" , contact.pos );
21
22
ar& make_nvp (" penetration_depth" , contact.penetration_depth );
22
23
}
@@ -27,7 +28,10 @@ void load(Archive& ar, hpp::fcl::Contact& contact,
27
28
ar >> make_nvp (" b1" , contact.b1 );
28
29
ar >> make_nvp (" b2" , contact.b2 );
29
30
ar >> make_nvp (" normal" , contact.normal );
30
- ar >> make_nvp (" nearest_points" , contact.nearest_points );
31
+ std::array<hpp::fcl::Vec3f, 2 > nearest_points;
32
+ ar >> make_nvp (" nearest_points" , nearest_points);
33
+ contact.nearest_points [0 ] = nearest_points[0 ];
34
+ contact.nearest_points [1 ] = nearest_points[1 ];
31
35
ar >> make_nvp (" pos" , contact.pos );
32
36
ar >> make_nvp (" penetration_depth" , contact.penetration_depth );
33
37
contact.o1 = NULL ;
@@ -129,7 +133,10 @@ void load(Archive& ar, hpp::fcl::DistanceResult& distance_result,
129
133
make_nvp (" base" , boost::serialization::base_object<hpp::fcl::QueryResult>(
130
134
distance_result));
131
135
ar >> make_nvp (" min_distance" , distance_result.min_distance );
132
- ar >> make_nvp (" nearest_points" , distance_result.nearest_points );
136
+ std::array<hpp::fcl::Vec3f, 2 > nearest_points;
137
+ ar >> make_nvp (" nearest_points" , nearest_points);
138
+ distance_result.nearest_points [0 ] = nearest_points[0 ];
139
+ distance_result.nearest_points [1 ] = nearest_points[1 ];
133
140
ar >> make_nvp (" normal" , distance_result.normal );
134
141
ar >> make_nvp (" b1" , distance_result.b1 );
135
142
ar >> make_nvp (" b2" , distance_result.b2 );
0 commit comments