From 1de02abd5a59e769335ee4d43cd4b18bccbe8e1c Mon Sep 17 00:00:00 2001 From: Florent Lamiraux <florent@laas.fr> Date: Fri, 7 Dec 2018 13:54:06 +0100 Subject: [PATCH] [doc] Rename and update collision graph. --- doc/collision-call.dot | 36 ----------------------------- doc/collision-call.pdf | Bin 22993 -> 0 bytes doc/mesh-mesh-collision-call.dot | 38 +++++++++++++++++++++++++++++++ doc/mesh-mesh-collision-call.pdf | Bin 0 -> 24297 bytes 4 files changed, 38 insertions(+), 36 deletions(-) delete mode 100644 doc/collision-call.dot delete mode 100644 doc/collision-call.pdf create mode 100644 doc/mesh-mesh-collision-call.dot create mode 100644 doc/mesh-mesh-collision-call.pdf diff --git a/doc/collision-call.dot b/doc/collision-call.dot deleted file mode 100644 index 9073c821..00000000 --- a/doc/collision-call.dot +++ /dev/null @@ -1,36 +0,0 @@ -digraph CD { - - rankdir = BT - compound=true - size = 11.7 - - "bool OBB::overlap(const OBB& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" [shape = box] - "bool OBBRSS::overlap(const OBBRSS& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" [shape = box] - "bool overlap(const Matrix3f& R0, const Vec3f& T0,\n const OBB& b1, const OBB& b2,\n const CollisionRequest& request, FCL_REAL& sqrDistLowerBound)" [shape = box] - "bool overlap(const Matrix3f& R0, const Vec3f& T0,\n const OBBRSS& b1, const OBBRSS& b2,\nconst CollisionRequest& request, FCL_REAL& sqrDistLowerBound)" [shape = box] - "bool BVNode::overlap(const BVNode& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" [shape = box] - "bool BVHCollisionTraversalNode::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" [shape = box] - "bool CollisionTraversalNodeBase::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" [shape = box] - "void collide(CollisionTraversalNodeBase* node,\n const CollisionRequest& request, CollisionResult& result,\nBVHFrontList* front_list)" [shape = box] - "void collisionRecurse(CollisionTraversalNodeBase* node,\n int b1, int b2, BVHFrontList* front_list, FCL_REAL& sqrDistLowerBound)" [shape = box] - "void propagateBVHFrontListCollisionRecurse(CollisionTraversalNodeBase* node\n, BVHFrontList* front_list, const CollisionRequest& request, CollisionResult& result)" [shape = box] - "bool MeshCollisionTraversalNodeOBBRSS::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" [shape = box] - "CollisionTraversalNodeBase::leafTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" [shape = box] - "bool obbDisjointAndLowerBoundDistance\n(const Matrix3f& B, const Vec3f& T, const Vec3f& a, const Vec3f& b,\n FCL_REAL& squaredLowerBoundDistance)" [shape = box] - - "bool OBB::overlap(const OBB& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" -> "bool obbDisjointAndLowerBoundDistance\n(const Matrix3f& B, const Vec3f& T, const Vec3f& a, const Vec3f& b,\n FCL_REAL& squaredLowerBoundDistance)" - "bool overlap(const Matrix3f& R0, const Vec3f& T0,\n const OBB& b1, const OBB& b2,\n const CollisionRequest& request, FCL_REAL& sqrDistLowerBound)" -> "bool obbDisjointAndLowerBoundDistance\n(const Matrix3f& B, const Vec3f& T, const Vec3f& a, const Vec3f& b,\n FCL_REAL& squaredLowerBoundDistance)" - "bool overlap(const Matrix3f& R0, const Vec3f& T0,\n const OBBRSS& b1, const OBBRSS& b2,\nconst CollisionRequest& request, FCL_REAL& sqrDistLowerBound)" -> "bool overlap(const Matrix3f& R0, const Vec3f& T0,\n const OBB& b1, const OBB& b2,\n const CollisionRequest& request, FCL_REAL& sqrDistLowerBound)" - "void collide(CollisionTraversalNodeBase* node,\n const CollisionRequest& request, CollisionResult& result,\nBVHFrontList* front_list)"-> "void propagateBVHFrontListCollisionRecurse(CollisionTraversalNodeBase* node\n, BVHFrontList* front_list, const CollisionRequest& request, CollisionResult& result)" - "void collide(CollisionTraversalNodeBase* node,\n const CollisionRequest& request, CollisionResult& result,\nBVHFrontList* front_list)" -> "void collisionRecurse(CollisionTraversalNodeBase* node,\n int b1, int b2, BVHFrontList* front_list, FCL_REAL& sqrDistLowerBound)" - "void collisionRecurse(CollisionTraversalNodeBase* node,\n int b1, int b2, BVHFrontList* front_list, FCL_REAL& sqrDistLowerBound)" -> "bool CollisionTraversalNodeBase::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" - "void collisionRecurse(CollisionTraversalNodeBase* node,\n int b1, int b2, BVHFrontList* front_list, FCL_REAL& sqrDistLowerBound)" -> "CollisionTraversalNodeBase::leafTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" - "void propagateBVHFrontListCollisionRecurse(CollisionTraversalNodeBase* node\n, BVHFrontList* front_list, const CollisionRequest& request, CollisionResult& result)" -> "void collisionRecurse(CollisionTraversalNodeBase* node,\n int b1, int b2, BVHFrontList* front_list, FCL_REAL& sqrDistLowerBound)" - "void propagateBVHFrontListCollisionRecurse(CollisionTraversalNodeBase* node\n, BVHFrontList* front_list, const CollisionRequest& request, CollisionResult& result)" -> "bool CollisionTraversalNodeBase::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" -"bool MeshCollisionTraversalNodeOBBRSS::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" -> "bool overlap(const Matrix3f& R0, const Vec3f& T0,\n const OBBRSS& b1, const OBBRSS& b2,\nconst CollisionRequest& request, FCL_REAL& sqrDistLowerBound)" - "bool CollisionTraversalNodeBase::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" -> "bool MeshCollisionTraversalNodeOBBRSS::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" [color=red] - "bool CollisionTraversalNodeBase::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" -> "bool BVHCollisionTraversalNode::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" [color = red] - "bool OBBRSS::overlap(const OBBRSS& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" -> "bool OBB::overlap(const OBB& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" - "bool BVNode::overlap(const BVNode& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" -> "bool OBB::overlap(const OBB& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" - "bool BVHCollisionTraversalNode::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" -> "bool BVNode::overlap(const BVNode& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" -} \ No newline at end of file diff --git a/doc/collision-call.pdf b/doc/collision-call.pdf deleted file mode 100644 index 4f22c153b663de660c88e8d4bf29d6634eb0ac0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22993 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 diff --git a/doc/mesh-mesh-collision-call.dot b/doc/mesh-mesh-collision-call.dot new file mode 100644 index 00000000..55c45548 --- /dev/null +++ b/doc/mesh-mesh-collision-call.dot @@ -0,0 +1,38 @@ +digraph CD { + + rankdir = BT + compound=true + size = 11.7 + + "std::size_t BVHCollide(const CollisionGeometry* o1,\nconst Transform3f& tf1, const CollisionGeometry* o2,\nconst Transform3f& tf2, const CollisionRequest& request,\nCollisionResult& result)" [shape = box] + "bool OBB::overlap(const OBB& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" [shape = box] + "bool OBBRSS::overlap(const OBBRSS& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" [shape = box] + "bool overlap(const Matrix3f& R0, const Vec3f& T0,\n const OBB& b1, const OBB& b2,\n const CollisionRequest& request, FCL_REAL& sqrDistLowerBound)" [shape = box] + "bool overlap(const Matrix3f& R0, const Vec3f& T0,\n const OBBRSS& b1, const OBBRSS& b2,\nconst CollisionRequest& request, FCL_REAL& sqrDistLowerBound)" [shape = box] + "bool BVNode::overlap(const BVNode& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" [shape = box] + "bool BVHCollisionTraversalNode::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" [shape = box] + "bool MeshCollisionTraversalNode<T_BVH>::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" [shape = box] + "void collide(MeshCollisionTraversalNode<T_BVH>* node,\n const CollisionRequest& request, CollisionResult& result,\nBVHFrontList* front_list)" [shape = box] + "void collisionRecurse(MeshCollisionTraversalNode<T_BVH>* node,\n int b1, int b2, BVHFrontList* front_list, FCL_REAL& sqrDistLowerBound)" [shape = box] + "void propagateBVHFrontListCollisionRecurse(MeshCollisionTraversalNode<T_BVH>* node\n, BVHFrontList* front_list, const CollisionRequest& request, CollisionResult& result)" [shape = box] + "bool MeshCollisionTraversalNodeOBBRSS::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" [shape = box] + "MeshCollisionTraversalNode<T_BVH>::leafTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" [shape = box] + "bool obbDisjointAndLowerBoundDistance\n(const Matrix3f& B, const Vec3f& T, const Vec3f& a, const Vec3f& b,\n FCL_REAL& squaredLowerBoundDistance)" [shape = box] + + "std::size_t BVHCollide(const CollisionGeometry* o1,\nconst Transform3f& tf1, const CollisionGeometry* o2,\nconst Transform3f& tf2, const CollisionRequest& request,\nCollisionResult& result)" -> "void collide(MeshCollisionTraversalNode<T_BVH>* node,\n const CollisionRequest& request, CollisionResult& result,\nBVHFrontList* front_list)" + "bool OBB::overlap(const OBB& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" -> "bool obbDisjointAndLowerBoundDistance\n(const Matrix3f& B, const Vec3f& T, const Vec3f& a, const Vec3f& b,\n FCL_REAL& squaredLowerBoundDistance)" + "bool overlap(const Matrix3f& R0, const Vec3f& T0,\n const OBB& b1, const OBB& b2,\n const CollisionRequest& request, FCL_REAL& sqrDistLowerBound)" -> "bool obbDisjointAndLowerBoundDistance\n(const Matrix3f& B, const Vec3f& T, const Vec3f& a, const Vec3f& b,\n FCL_REAL& squaredLowerBoundDistance)" + "bool overlap(const Matrix3f& R0, const Vec3f& T0,\n const OBBRSS& b1, const OBBRSS& b2,\nconst CollisionRequest& request, FCL_REAL& sqrDistLowerBound)" -> "bool overlap(const Matrix3f& R0, const Vec3f& T0,\n const OBB& b1, const OBB& b2,\n const CollisionRequest& request, FCL_REAL& sqrDistLowerBound)" + "void collide(MeshCollisionTraversalNode<T_BVH>* node,\n const CollisionRequest& request, CollisionResult& result,\nBVHFrontList* front_list)"-> "void propagateBVHFrontListCollisionRecurse(MeshCollisionTraversalNode<T_BVH>* node\n, BVHFrontList* front_list, const CollisionRequest& request, CollisionResult& result)" + "void collide(MeshCollisionTraversalNode<T_BVH>* node,\n const CollisionRequest& request, CollisionResult& result,\nBVHFrontList* front_list)" -> "void collisionRecurse(MeshCollisionTraversalNode<T_BVH>* node,\n int b1, int b2, BVHFrontList* front_list, FCL_REAL& sqrDistLowerBound)" + "void collisionRecurse(MeshCollisionTraversalNode<T_BVH>* node,\n int b1, int b2, BVHFrontList* front_list, FCL_REAL& sqrDistLowerBound)" -> "bool MeshCollisionTraversalNode<T_BVH>::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" + "void collisionRecurse(MeshCollisionTraversalNode<T_BVH>* node,\n int b1, int b2, BVHFrontList* front_list, FCL_REAL& sqrDistLowerBound)" -> "MeshCollisionTraversalNode<T_BVH>::leafTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" + "void propagateBVHFrontListCollisionRecurse(MeshCollisionTraversalNode<T_BVH>* node\n, BVHFrontList* front_list, const CollisionRequest& request, CollisionResult& result)" -> "void collisionRecurse(MeshCollisionTraversalNode<T_BVH>* node,\n int b1, int b2, BVHFrontList* front_list, FCL_REAL& sqrDistLowerBound)" + "void propagateBVHFrontListCollisionRecurse(MeshCollisionTraversalNode<T_BVH>* node\n, BVHFrontList* front_list, const CollisionRequest& request, CollisionResult& result)" -> "bool MeshCollisionTraversalNode<T_BVH>::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" +"bool MeshCollisionTraversalNodeOBBRSS::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" -> "bool overlap(const Matrix3f& R0, const Vec3f& T0,\n const OBBRSS& b1, const OBBRSS& b2,\nconst CollisionRequest& request, FCL_REAL& sqrDistLowerBound)" + "bool MeshCollisionTraversalNode<T_BVH>::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" -> "bool MeshCollisionTraversalNodeOBBRSS::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" [color=red] + "bool MeshCollisionTraversalNode<T_BVH>::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" -> "bool BVHCollisionTraversalNode::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" [color = red] + "bool OBBRSS::overlap(const OBBRSS& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" -> "bool OBB::overlap(const OBB& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" + "bool BVNode::overlap(const BVNode& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" -> "bool OBB::overlap(const OBB& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" + "bool BVHCollisionTraversalNode::BVTesting\n(int b1, int b2, FCL_REAL& sqrDistLowerBound) const\n -request\n - result" -> "bool BVNode::overlap(const BVNode& other,\nconst CollisionRequest& request,\nFCL_REAL& sqrDistLowerBound) const" +} \ No newline at end of file diff --git a/doc/mesh-mesh-collision-call.pdf b/doc/mesh-mesh-collision-call.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3c338d04dfb8a5244d8e26a9c43aa238a9e59eeb GIT binary patch literal 24297 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 aWtEGoDa7?Ix^S`|2!QqYv9yW|*8c(ixuC58 literal 0 HcmV?d00001 -- GitLab