Commit cfdb3136 authored by Lucile Remigy's avatar Lucile Remigy
Browse files

modif leaftesting-> leafcollides or leafcomputedistance, 0 tests failed

parent a4c4369d
......@@ -107,7 +107,7 @@ public:
virtual bool BVDisjoints(int b1, int b2, FCL_REAL& sqrDistLowerBound) const = 0;
/// @brief Leaf test between node b1 and b2, if they are both leafs
virtual void leafTesting(int /*b1*/, int /*b2*/, FCL_REAL& /*sqrDistLowerBound*/) const
virtual void leafCollides(int /*b1*/, int /*b2*/, FCL_REAL& /*sqrDistLowerBound*/) const
{
throw std::runtime_error ("Not implemented");
}
......@@ -142,7 +142,7 @@ public:
virtual FCL_REAL BVDistanceLowerBound(int b1, int b2) const;
/// @brief Leaf test between node b1 and b2, if they are both leafs
virtual void leafTesting(int b1, int b2) const = 0;
virtual void leafComputeDistance(int b1, int b2) const = 0;
/// @brief Check whether the traversal can stop
virtual bool canStop(FCL_REAL c) const;
......
......@@ -195,7 +195,7 @@ public:
}
/// @brief Intersection testing between leaves (one triangle and one shape)
void leafTesting(int b1, int /*b2*/, FCL_REAL& sqrDistLowerBound) const
void leafCollides(int b1, int /*b2*/, FCL_REAL& sqrDistLowerBound) const
{
if(this->enable_statistics) this->num_leaf_tests++;
const BVNode<BV>& node = this->model1->getBV(b1);
......@@ -355,7 +355,7 @@ public:
}
/// @brief Intersection testing between leaves (one shape and one triangle)
void leafTesting(int /*b1*/, int b2, FCL_REAL& sqrDistLowerBound) const
void leafCollides(int /*b1*/, int b2, FCL_REAL& sqrDistLowerBound) const
{
if(this->enable_statistics) this->num_leaf_tests++;
const BVNode<BV>& node = this->model2->getBV(b2);
......@@ -573,7 +573,7 @@ public:
}
/// @brief Distance testing between leaves (one triangle and one shape)
void leafTesting(int b1, int /*b2*/) const
void leafComputeDistance(int b1, int /*b2*/) const
{
if(this->enable_statistics) this->num_leaf_tests++;
......@@ -620,7 +620,7 @@ namespace details
{
template<typename BV, typename S, typename GJKSolver>
void meshShapeDistanceOrientedNodeLeafTesting(int b1, int /* b2 */,
void meshShapeDistanceOrientedNodeleafComputeDistance(int b1, int /* b2 */,
const BVHModel<BV>* model1, const S& model2,
Vec3f* vertices, Triangle* tri_indices,
const Transform3f& tf1,
......@@ -706,9 +706,9 @@ public:
return distance(this->tf1.getRotation(), this->tf1.getTranslation(), this->model2_bv, this->model1->getBV(b1).bv);
}
void leafTesting(int b1, int b2) const
void leafComputeDistance(int b1, int b2) const
{
details::meshShapeDistanceOrientedNodeLeafTesting(b1, b2, this->model1, *(this->model2), this->vertices, this->tri_indices,
details::meshShapeDistanceOrientedNodeleafComputeDistance(b1, b2, this->model1, *(this->model2), this->vertices, this->tri_indices,
this->tf1, this->tf2, this->nsolver, this->enable_statistics, this->num_leaf_tests, this->request, *(this->result));
}
};
......@@ -738,9 +738,9 @@ public:
return distance(this->tf1.getRotation(), this->tf1.getTranslation(), this->model2_bv, this->model1->getBV(b1).bv);
}
void leafTesting(int b1, int b2) const
void leafComputeDistance(int b1, int b2) const
{
details::meshShapeDistanceOrientedNodeLeafTesting(b1, b2, this->model1, *(this->model2), this->vertices, this->tri_indices,
details::meshShapeDistanceOrientedNodeleafComputeDistance(b1, b2, this->model1, *(this->model2), this->vertices, this->tri_indices,
this->tf1, this->tf2, this->nsolver, this->enable_statistics, this->num_leaf_tests, this->request, *(this->result));
}
......@@ -771,9 +771,9 @@ public:
return distance(this->tf1.getRotation(), this->tf1.getTranslation(), this->model2_bv, this->model1->getBV(b1).bv);
}
void leafTesting(int b1, int b2) const
void leafComputeDistance(int b1, int b2) const
{
details::meshShapeDistanceOrientedNodeLeafTesting(b1, b2, this->model1, *(this->model2), this->vertices, this->tri_indices,
details::meshShapeDistanceOrientedNodeleafComputeDistance(b1, b2, this->model1, *(this->model2), this->vertices, this->tri_indices,
this->tf1, this->tf2, this->nsolver, this->enable_statistics, this->num_leaf_tests, this->request, *(this->result));
}
......@@ -796,7 +796,7 @@ public:
}
/// @brief Distance testing between leaves (one shape and one triangle)
void leafTesting(int b1, int b2) const
void leafComputeDistance(int b1, int b2) const
{
if(this->enable_statistics) this->num_leaf_tests++;
......@@ -862,9 +862,9 @@ public:
return distance(this->tf2.getRotation(), this->tf2.getTranslation(), this->model1_bv, this->model2->getBV(b2).bv);
}
void leafTesting(int b1, int b2) const
void leafComputeDistance(int b1, int b2) const
{
details::meshShapeDistanceOrientedNodeLeafTesting(b2, b1, this->model2, *(this->model1), this->vertices, this->tri_indices,
details::meshShapeDistanceOrientedNodeleafComputeDistance(b2, b1, this->model2, *(this->model1), this->vertices, this->tri_indices,
this->tf2, this->tf1, this->nsolver, this->enable_statistics, this->num_leaf_tests, this->request, *(this->result));
}
......@@ -894,9 +894,9 @@ public:
return distance(this->tf2.getRotation(), this->tf2.getTranslation(), this->model1_bv, this->model2->getBV(b2).bv);
}
void leafTesting(int b1, int b2) const
void leafComputeDistance(int b1, int b2) const
{
details::meshShapeDistanceOrientedNodeLeafTesting(b2, b1, this->model2, *(this->model1), this->vertices, this->tri_indices,
details::meshShapeDistanceOrientedNodeleafComputeDistance(b2, b1, this->model2, *(this->model1), this->vertices, this->tri_indices,
this->tf2, this->tf1, this->nsolver, this->enable_statistics, this->num_leaf_tests, this->request, *(this->result));
}
......@@ -926,9 +926,9 @@ public:
return distance(this->tf2.getRotation(), this->tf2.getTranslation(), this->model1_bv, this->model2->getBV(b2).bv);
}
void leafTesting(int b1, int b2) const
void leafComputeDistance(int b1, int b2) const
{
details::meshShapeDistanceOrientedNodeLeafTesting(b2, b1, this->model2, *(this->model1), this->vertices, this->tri_indices,
details::meshShapeDistanceOrientedNodeleafComputeDistance(b2, b1, this->model2, *(this->model1), this->vertices, this->tri_indices,
this->tf2, this->tf1, this->nsolver, this->enable_statistics, this->num_leaf_tests, this->request, *(this->result));
}
......
......@@ -46,7 +46,7 @@ namespace fcl
namespace details
{
template<typename BV>
static inline void meshDistanceOrientedNodeleafTesting(int b1, int b2,
static inline void meshDistanceOrientedNodeleafComputeDistance(int b1, int b2,
const BVHModel<BV>* model1, const BVHModel<BV>* model2,
Vec3f* vertices1, Vec3f* vertices2,
Triangle* tri_indices1, Triangle* tri_indices2,
......@@ -158,9 +158,9 @@ FCL_REAL MeshDistanceTraversalNodeRSS::BVDistanceLowerBound(int b1, int b2) cons
return distance(R, T, model1->getBV(b1).bv, model2->getBV(b2).bv);
}
void MeshDistanceTraversalNodeRSS::leafTesting(int b1, int b2) const
void MeshDistanceTraversalNodeRSS::leafComputeDistance(int b1, int b2) const
{
details::meshDistanceOrientedNodeleafTesting(b1, b2, model1, model2, vertices1, vertices2, tri_indices1, tri_indices2,
details::meshDistanceOrientedNodeleafComputeDistance(b1, b2, model1, model2, vertices1, vertices2, tri_indices1, tri_indices2,
R, T, enable_statistics, num_leaf_tests,
request, *result);
}
......@@ -186,9 +186,9 @@ FCL_REAL MeshDistanceTraversalNodekIOS::BVDistanceLowerBound(int b1, int b2) con
return distance(R, T, model1->getBV(b1).bv, model2->getBV(b2).bv);
}
void MeshDistanceTraversalNodekIOS::leafTesting(int b1, int b2) const
void MeshDistanceTraversalNodekIOS::leafComputeDistance(int b1, int b2) const
{
details::meshDistanceOrientedNodeleafTesting(b1, b2, model1, model2, vertices1, vertices2, tri_indices1, tri_indices2,
details::meshDistanceOrientedNodeleafComputeDistance(b1, b2, model1, model2, vertices1, vertices2, tri_indices1, tri_indices2,
R, T, enable_statistics, num_leaf_tests,
request, *result);
}
......@@ -214,9 +214,9 @@ FCL_REAL MeshDistanceTraversalNodeOBBRSS::BVDistanceLowerBound(int b1, int b2) c
return distance(R, T, model1->getBV(b1).bv, model2->getBV(b2).bv);
}
void MeshDistanceTraversalNodeOBBRSS::leafTesting(int b1, int b2) const
void MeshDistanceTraversalNodeOBBRSS::leafComputeDistance(int b1, int b2) const
{
details::meshDistanceOrientedNodeleafTesting(b1, b2, model1, model2, vertices1, vertices2, tri_indices1, tri_indices2,
details::meshDistanceOrientedNodeleafComputeDistance(b1, b2, model1, model2, vertices1, vertices2, tri_indices1, tri_indices2,
R, T, enable_statistics, num_leaf_tests,
request, *result);
}
......
......@@ -200,7 +200,7 @@ public:
/// \note If the distance between objects is less than the security margin,
/// and the object are not colliding, the penetration depth is
/// negative.
void leafTesting(int b1, int b2, FCL_REAL& sqrDistLowerBound) const
void leafCollides(int b1, int b2, FCL_REAL& sqrDistLowerBound) const
{
if(this->enable_statistics) this->num_leaf_tests++;
......@@ -397,7 +397,7 @@ public:
}
/// @brief Distance testing between leaves (two triangles)
void leafTesting(int b1, int b2) const
void leafComputeDistance(int b1, int b2) const
{
if(this->enable_statistics) this->num_leaf_tests++;
......@@ -459,7 +459,7 @@ public:
FCL_REAL BVDistanceLowerBound(int b1, int b2) const;
void leafTesting(int b1, int b2) const;
void leafComputeDistance(int b1, int b2) const;
Matrix3f R;
Vec3f T;
......@@ -477,7 +477,7 @@ public:
FCL_REAL BVDistanceLowerBound(int b1, int b2) const;
void leafTesting(int b1, int b2) const;
void leafComputeDistance(int b1, int b2) const;
Matrix3f R;
Vec3f T;
......@@ -496,7 +496,7 @@ public:
FCL_REAL BVDistanceLowerBound(int b1, int b2, FCL_REAL& sqrDistLowerBound) const;
void leafTesting(int b1, int b2) const;
void leafComputeDistance(int b1, int b2) const;
Matrix3f R;
Vec3f T;
......
......@@ -913,7 +913,7 @@ public:
return false;
}
void leafTesting(int, int, FCL_REAL&) const
void leafCollides(int, int, FCL_REAL&) const
{
otsolver->OcTreeIntersect(model1, model2, tf1, tf2, request, *result);
}
......@@ -950,7 +950,7 @@ public:
return false;
}
void leafTesting(int, int) const
void leafComputeDistance(int, int) const
{
otsolver->OcTreeDistance(model1, model2, tf1, tf2, request, *result);
}
......@@ -985,7 +985,7 @@ public:
return false;
}
void leafTesting(int, int, FCL_REAL&) const
void leafCollides(int, int, FCL_REAL&) const
{
otsolver->OcTreeShapeIntersect(model2, *model1, tf2, tf1, request, *result);
}
......@@ -1022,7 +1022,7 @@ public:
return false;
}
void leafTesting(int, int, FCL_REAL&) const
void leafCollides(int, int, FCL_REAL&) const
{
otsolver->OcTreeShapeIntersect(model1, *model2, tf1, tf2, request, *result);
}
......@@ -1053,7 +1053,7 @@ public:
return -1;
}
void leafTesting(int, int) const
void leafComputeDistance(int, int) const
{
otsolver->OcTreeShapeDistance(model2, *model1, tf2, tf1, request, *result);
}
......@@ -1082,7 +1082,7 @@ public:
return -1;
}
void leafTesting(int, int) const
void leafComputeDistance(int, int) const
{
otsolver->OcTreeShapeDistance(model1, *model2, tf1, tf2, request, *result);
}
......@@ -1117,7 +1117,7 @@ public:
return false;
}
void leafTesting(int, int, FCL_REAL&) const
void leafCollides(int, int, FCL_REAL&) const
{
otsolver->OcTreeMeshIntersect(model2, model1, tf2, tf1, request, *result);
}
......@@ -1154,7 +1154,7 @@ public:
return false;
}
void leafTesting(int, int, FCL_REAL&) const
void leafCollides(int, int, FCL_REAL&) const
{
otsolver->OcTreeMeshIntersect(model1, model2, tf1, tf2, request, *result);
}
......@@ -1185,7 +1185,7 @@ public:
return -1;
}
void leafTesting(int, int) const
void leafComputeDistance(int, int) const
{
otsolver->OcTreeMeshDistance(model2, model1, tf2, tf1, request, *result);
}
......@@ -1215,7 +1215,7 @@ public:
return -1;
}
void leafTesting(int, int) const
void leafComputeDistance(int, int) const
{
otsolver->OcTreeMeshDistance(model1, model2, tf1, tf2, request, *result);
}
......
......@@ -79,7 +79,7 @@ public:
}
/// @brief Intersection testing between leaves (two shapes)
void leafTesting(int, int, FCL_REAL&) const
void leafCollides(int, int, FCL_REAL&) const
{
bool is_collision = false;
if(request.enable_contact)
......@@ -134,7 +134,7 @@ public:
}
/// @brief Distance testing between leaves (two shapes)
void leafTesting(int, int) const
void leafComputeDistance(int, int) const
{
FCL_REAL distance;
Vec3f closest_p1, closest_p2, normal;
......
......@@ -55,7 +55,7 @@ void collisionRecurse(CollisionTraversalNodeBase* node, int b1, int b2,
updateFrontList(front_list, b1, b2);
if(node->BVDisjoints(b1, b2, sqrDistLowerBound)) return;
node->leafTesting(b1, b2, sqrDistLowerBound);
node->leafCollides(b1, b2, sqrDistLowerBound);
return;
}
......@@ -122,7 +122,7 @@ void collisionNonRecurse(CollisionTraversalNodeBase* node,
//if (sdlb < sqrDistLowerBound) sqrDistLowerBound = sdlb;
//continue;
//}
node->leafTesting(a, b, sdlb);
node->leafCollides(a, b, sdlb);
if (sdlb < sqrDistLowerBound) sqrDistLowerBound = sdlb;
if (node->canStop() && !front_list) return;
continue;
......@@ -169,7 +169,7 @@ void distanceRecurse(DistanceTraversalNodeBase* node, int b1, int b2, BVHFrontLi
{
updateFrontList(front_list, b1, b2);
node->leafTesting(b1, b2);
node->leafComputeDistance(b1, b2);
return;
}
......@@ -298,7 +298,7 @@ void distanceQueueRecurse(DistanceTraversalNodeBase* node, int b1, int b2, BVHFr
{
updateFrontList(front_list, min_test.b1, min_test.b2);
node->leafTesting(min_test.b1, min_test.b2);
node->leafComputeDistance(min_test.b1, min_test.b2);
}
else if(bvtq.full())
{
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment