42 #include <gtest/gtest.h>
62 auto sphere0 = std::make_shared<fcl::Sphered>(0.1);
63 auto sphere1 = std::make_shared<fcl::Sphered>(0.2);
66 const Vector3d position0(0.1, 0.2, 0.3);
67 const Vector3d position1(0.11, 0.21, 0.31);
80 std::vector<fcl::CollisionObjectd*> objects = {&object0, &object1};
81 std::vector<const Vector3d*> positions = {&position0, &position1};
84 for (
int i = 0; i < static_cast<int>(objects.size()); ++i) {
85 objects[i]->setTranslation(*positions[i]);
86 objects[i]->computeAABB();
92 bool expect_object0_then_object1;
93 std::vector<fcl::CollisionObjectd*>* objects;
95 data.expect_object0_then_object1 =
false;
96 data.objects = &objects;
105 void* callback_data,
double&) ->
bool {
107 auto data =
static_cast<CallBackData*
>(callback_data);
108 const std::vector<fcl::CollisionObjectd*>& objects = *(data->objects);
109 const bool object0_first = a == objects[0];
110 EXPECT_EQ(data->expect_object0_then_object1, object0_first);
115 data->expect_object0_then_object1 = !data->expect_object0_then_object1;
121 for (
int count = 0; count < 8; ++count) {
123 dynamic_tree.
distance(&data, distance_callback);
128 int main(
int argc,
char* argv[]) {
129 ::testing::InitGoogleTest(&argc, argv);
130 return RUN_ALL_TESTS();