Algorithms for collision related with octree. More...
#include <octree_solver.h>
| Public Member Functions | |
| template<typename BV > | |
| void | MeshOcTreeDistance (const BVHModel< BV > *tree1, const OcTree< S > *tree2, const Transform3< S > &tf1, const Transform3< S > &tf2, const DistanceRequest< S > &request_, DistanceResult< S > &result_) const | 
| distance between mesh and octree  More... | |
| template<typename BV > | |
| void | MeshOcTreeIntersect (const BVHModel< BV > *tree1, const OcTree< S > *tree2, const Transform3< S > &tf1, const Transform3< S > &tf2, const CollisionRequest< S > &request_, CollisionResult< S > &result_) const | 
| collision between mesh and octree  More... | |
| void | OcTreeDistance (const OcTree< S > *tree1, const OcTree< S > *tree2, const Transform3< S > &tf1, const Transform3< S > &tf2, const DistanceRequest< S > &request_, DistanceResult< S > &result_) const | 
| distance between two octrees  More... | |
| void | OcTreeIntersect (const OcTree< S > *tree1, const OcTree< S > *tree2, const Transform3< S > &tf1, const Transform3< S > &tf2, const CollisionRequest< S > &request_, CollisionResult< S > &result_) const | 
| collision between two octrees  More... | |
| template<typename BV > | |
| void | OcTreeMeshDistance (const OcTree< S > *tree1, const BVHModel< BV > *tree2, const Transform3< S > &tf1, const Transform3< S > &tf2, const DistanceRequest< S > &request_, DistanceResult< S > &result_) const | 
| distance between octree and mesh  More... | |
| template<typename BV > | |
| void | OcTreeMeshIntersect (const OcTree< S > *tree1, const BVHModel< BV > *tree2, const Transform3< S > &tf1, const Transform3< S > &tf2, const CollisionRequest< S > &request_, CollisionResult< S > &result_) const | 
| collision between octree and mesh  More... | |
| template<typename Shape > | |
| void | OcTreeShapeDistance (const OcTree< S > *tree, const Shape &s, const Transform3< S > &tf1, const Transform3< S > &tf2, const DistanceRequest< S > &request_, DistanceResult< S > &result_) const | 
| distance between octree and shape  More... | |
| template<typename Shape > | |
| void | OcTreeShapeIntersect (const OcTree< S > *tree, const Shape &s, const Transform3< S > &tf1, const Transform3< S > &tf2, const CollisionRequest< S > &request_, CollisionResult< S > &result_) const | 
| collision between octree and shape  More... | |
| OcTreeSolver (const NarrowPhaseSolver *solver_) | |
| template<typename Shape > | |
| void | ShapeOcTreeDistance (const Shape &s, const OcTree< S > *tree, const Transform3< S > &tf1, const Transform3< S > &tf2, const DistanceRequest< S > &request_, DistanceResult< S > &result_) const | 
| distance between shape and octree  More... | |
| template<typename Shape > | |
| void | ShapeOcTreeIntersect (const Shape &s, const OcTree< S > *tree, const Transform3< S > &tf1, const Transform3< S > &tf2, const CollisionRequest< S > &request_, CollisionResult< S > &result_) const | 
| collision between shape and octree  More... | |
| Private Types | |
| using | S = typename NarrowPhaseSolver::S | 
| Private Member Functions | |
| bool | OcTreeDistanceRecurse (const OcTree< S > *tree1, const typename OcTree< S >::OcTreeNode *root1, const AABB< S > &bv1, const OcTree< S > *tree2, const typename OcTree< S >::OcTreeNode *root2, const AABB< S > &bv2, const Transform3< S > &tf1, const Transform3< S > &tf2) const | 
| bool | OcTreeIntersectRecurse (const OcTree< S > *tree1, const typename OcTree< S >::OcTreeNode *root1, const AABB< S > &bv1, const OcTree< S > *tree2, const typename OcTree< S >::OcTreeNode *root2, const AABB< S > &bv2, const Transform3< S > &tf1, const Transform3< S > &tf2) const | 
| template<typename BV > | |
| bool | OcTreeMeshDistanceRecurse (const OcTree< S > *tree1, const typename OcTree< S >::OcTreeNode *root1, const AABB< S > &bv1, const BVHModel< BV > *tree2, int root2, const Transform3< S > &tf1, const Transform3< S > &tf2) const | 
| template<typename BV > | |
| bool | OcTreeMeshIntersectRecurse (const OcTree< S > *tree1, const typename OcTree< S >::OcTreeNode *root1, const AABB< S > &bv1, const BVHModel< BV > *tree2, int root2, const Transform3< S > &tf1, const Transform3< S > &tf2) const | 
| template<typename Shape > | |
| bool | OcTreeShapeDistanceRecurse (const OcTree< S > *tree1, const typename OcTree< S >::OcTreeNode *root1, const AABB< S > &bv1, const Shape &s, const AABB< S > &aabb2, const Transform3< S > &tf1, const Transform3< S > &tf2) const | 
| template<typename Shape > | |
| bool | OcTreeShapeIntersectRecurse (const OcTree< S > *tree1, const typename OcTree< S >::OcTreeNode *root1, const AABB< S > &bv1, const Shape &s, const OBB< S > &obb2, const Transform3< S > &tf1, const Transform3< S > &tf2) const | 
| Private Attributes | |
| const CollisionRequest< S > * | crequest | 
| CollisionResult< S > * | cresult | 
| const DistanceRequest< S > * | drequest | 
| DistanceResult< S > * | dresult | 
| const NarrowPhaseSolver * | solver | 
Algorithms for collision related with octree.
Definition at line 59 of file octree_solver.h.
| 
 | private | 
Definition at line 63 of file octree_solver.h.
| fcl::detail::OcTreeSolver< NarrowPhaseSolver >::OcTreeSolver | ( | const NarrowPhaseSolver * | solver_ | ) | 
Definition at line 53 of file octree_solver-inl.h.
| void fcl::detail::OcTreeSolver< NarrowPhaseSolver >::MeshOcTreeDistance | ( | const BVHModel< BV > * | tree1, | 
| const OcTree< S > * | tree2, | ||
| const Transform3< S > & | tf1, | ||
| const Transform3< S > & | tf2, | ||
| const DistanceRequest< S > & | request_, | ||
| DistanceResult< S > & | result_ | ||
| ) | const | 
distance between mesh and octree
Definition at line 162 of file octree_solver-inl.h.
| void fcl::detail::OcTreeSolver< NarrowPhaseSolver >::MeshOcTreeIntersect | ( | const BVHModel< BV > * | tree1, | 
| const OcTree< S > * | tree2, | ||
| const Transform3< S > & | tf1, | ||
| const Transform3< S > & | tf2, | ||
| const CollisionRequest< S > & | request_, | ||
| CollisionResult< S > & | result_ | ||
| ) | const | 
collision between mesh and octree
Definition at line 141 of file octree_solver-inl.h.
| void fcl::detail::OcTreeSolver< NarrowPhaseSolver >::OcTreeDistance | ( | const OcTree< S > * | tree1, | 
| const OcTree< S > * | tree2, | ||
| const Transform3< S > & | tf1, | ||
| const Transform3< S > & | tf2, | ||
| const DistanceRequest< S > & | request_, | ||
| DistanceResult< S > & | result_ | ||
| ) | const | 
distance between two octrees
Definition at line 84 of file octree_solver-inl.h.
| 
 | private | 
Definition at line 765 of file octree_solver-inl.h.
| void fcl::detail::OcTreeSolver< NarrowPhaseSolver >::OcTreeIntersect | ( | const OcTree< S > * | tree1, | 
| const OcTree< S > * | tree2, | ||
| const Transform3< S > & | tf1, | ||
| const Transform3< S > & | tf2, | ||
| const CollisionRequest< S > & | request_, | ||
| CollisionResult< S > & | result_ | ||
| ) | const | 
collision between two octrees
Definition at line 66 of file octree_solver-inl.h.
| 
 | private | 
stop when 1) bounding boxes of two objects not overlap; OR 2) at least one of the nodes is free; OR 2) (two uncertain nodes OR one node occupied and one node uncertain) AND cost not required
Definition at line 852 of file octree_solver-inl.h.
| void fcl::detail::OcTreeSolver< NarrowPhaseSolver >::OcTreeMeshDistance | ( | const OcTree< S > * | tree1, | 
| const BVHModel< BV > * | tree2, | ||
| const Transform3< S > & | tf1, | ||
| const Transform3< S > & | tf2, | ||
| const DistanceRequest< S > & | request_, | ||
| DistanceResult< S > & | result_ | ||
| ) | const | 
distance between octree and mesh
Definition at line 122 of file octree_solver-inl.h.
| 
 | private | 
Definition at line 487 of file octree_solver-inl.h.
| void fcl::detail::OcTreeSolver< NarrowPhaseSolver >::OcTreeMeshIntersect | ( | const OcTree< S > * | tree1, | 
| const BVHModel< BV > * | tree2, | ||
| const Transform3< S > & | tf1, | ||
| const Transform3< S > & | tf2, | ||
| const CollisionRequest< S > & | request_, | ||
| CollisionResult< S > & | result_ | ||
| ) | const | 
collision between octree and mesh
Definition at line 103 of file octree_solver-inl.h.
| 
 | private | 
stop when 1) bounding boxes of two objects not overlap; OR 2) at least one of the nodes is free; OR 2) (two uncertain nodes OR one node occupied and one node uncertain) AND cost not required
Definition at line 575 of file octree_solver-inl.h.
| void fcl::detail::OcTreeSolver< NarrowPhaseSolver >::OcTreeShapeDistance | ( | const OcTree< S > * | tree, | 
| const Shape & | s, | ||
| const Transform3< S > & | tf1, | ||
| const Transform3< S > & | tf2, | ||
| const DistanceRequest< S > & | request_, | ||
| DistanceResult< S > & | result_ | ||
| ) | const | 
distance between octree and shape
Definition at line 231 of file octree_solver-inl.h.
| 
 | private | 
Definition at line 274 of file octree_solver-inl.h.
| void fcl::detail::OcTreeSolver< NarrowPhaseSolver >::OcTreeShapeIntersect | ( | const OcTree< S > * | tree, | 
| const Shape & | s, | ||
| const Transform3< S > & | tf1, | ||
| const Transform3< S > & | tf2, | ||
| const CollisionRequest< S > & | request_, | ||
| CollisionResult< S > & | result_ | ||
| ) | const | 
collision between octree and shape
Definition at line 182 of file octree_solver-inl.h.
| 
 | private | 
stop when 1) bounding boxes of two objects not overlap; OR 2) at least of one the nodes is free; OR 2) (two uncertain nodes or one node occupied and one node uncertain) AND cost not required
Definition at line 332 of file octree_solver-inl.h.
| void fcl::detail::OcTreeSolver< NarrowPhaseSolver >::ShapeOcTreeDistance | ( | const Shape & | s, | 
| const OcTree< S > * | tree, | ||
| const Transform3< S > & | tf1, | ||
| const Transform3< S > & | tf2, | ||
| const DistanceRequest< S > & | request_, | ||
| DistanceResult< S > & | result_ | ||
| ) | const | 
distance between shape and octree
Definition at line 253 of file octree_solver-inl.h.
| void fcl::detail::OcTreeSolver< NarrowPhaseSolver >::ShapeOcTreeIntersect | ( | const Shape & | s, | 
| const OcTree< S > * | tree, | ||
| const Transform3< S > & | tf1, | ||
| const Transform3< S > & | tf2, | ||
| const CollisionRequest< S > & | request_, | ||
| CollisionResult< S > & | result_ | ||
| ) | const | 
collision between shape and octree
Definition at line 207 of file octree_solver-inl.h.
| 
 | mutableprivate | 
Definition at line 67 of file octree_solver.h.
| 
 | mutableprivate | 
Definition at line 70 of file octree_solver.h.
| 
 | mutableprivate | 
Definition at line 68 of file octree_solver.h.
| 
 | mutableprivate | 
Definition at line 71 of file octree_solver.h.
| 
 | private | 
Definition at line 65 of file octree_solver.h.