Public Member Functions | List of all members
hpp::fcl::OcTreeSolver< NarrowPhaseSolver > Class Template Reference

Algorithms for collision related with octree. More...

#include <hpp/fcl/traversal/traversal_node_octree.h>

Public Member Functions

 OcTreeSolver (const NarrowPhaseSolver *solver_)
 
void OcTreeIntersect (const OcTree *tree1, const OcTree *tree2, const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request_, CollisionResult &result_) const
 collision between two octrees More...
 
void OcTreeDistance (const OcTree *tree1, const OcTree *tree2, const Transform3f &tf1, const Transform3f &tf2, const DistanceRequest &request_, DistanceResult &result_) const
 distance between two octrees More...
 
template<typename BV >
void OcTreeMeshIntersect (const OcTree *tree1, const BVHModel< BV > *tree2, const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request_, CollisionResult &result_) const
 collision between octree and mesh More...
 
template<typename BV >
void OcTreeMeshDistance (const OcTree *tree1, const BVHModel< BV > *tree2, const Transform3f &tf1, const Transform3f &tf2, const DistanceRequest &request_, DistanceResult &result_) const
 distance between octree and mesh More...
 
template<typename BV >
void MeshOcTreeIntersect (const BVHModel< BV > *tree1, const OcTree *tree2, const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request_, CollisionResult &result_) const
 collision between mesh and octree More...
 
template<typename BV >
void MeshOcTreeDistance (const BVHModel< BV > *tree1, const OcTree *tree2, const Transform3f &tf1, const Transform3f &tf2, const DistanceRequest &request_, DistanceResult &result_) const
 distance between mesh and octree More...
 
template<typename S >
void OcTreeShapeIntersect (const OcTree *tree, const S &s, const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request_, CollisionResult &result_) const
 collision between octree and shape More...
 
template<typename S >
void ShapeOcTreeIntersect (const S &s, const OcTree *tree, const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request_, CollisionResult &result_) const
 collision between shape and octree More...
 
template<typename S >
void OcTreeShapeDistance (const OcTree *tree, const S &s, const Transform3f &tf1, const Transform3f &tf2, const DistanceRequest &request_, DistanceResult &result_) const
 distance between octree and shape More...
 
template<typename S >
void ShapeOcTreeDistance (const S &s, const OcTree *tree, const Transform3f &tf1, const Transform3f &tf2, const DistanceRequest &request_, DistanceResult &result_) const
 distance between shape and octree More...
 

Detailed Description

template<typename NarrowPhaseSolver>
class hpp::fcl::OcTreeSolver< NarrowPhaseSolver >

Algorithms for collision related with octree.

Constructor & Destructor Documentation

template<typename NarrowPhaseSolver>
hpp::fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeSolver ( const NarrowPhaseSolver *  solver_)
inline

Member Function Documentation

template<typename NarrowPhaseSolver>
template<typename BV >
void hpp::fcl::OcTreeSolver< NarrowPhaseSolver >::MeshOcTreeDistance ( const BVHModel< BV > *  tree1,
const OcTree tree2,
const Transform3f tf1,
const Transform3f tf2,
const DistanceRequest request_,
DistanceResult result_ 
) const
inline

distance between mesh and octree

References hpp::fcl::OcTree::getRoot(), and hpp::fcl::OcTree::getRootBV().

template<typename NarrowPhaseSolver>
template<typename BV >
void hpp::fcl::OcTreeSolver< NarrowPhaseSolver >::MeshOcTreeIntersect ( const BVHModel< BV > *  tree1,
const OcTree tree2,
const Transform3f tf1,
const Transform3f tf2,
const CollisionRequest request_,
CollisionResult result_ 
) const
inline

collision between mesh and octree

References hpp::fcl::OcTree::getRoot(), and hpp::fcl::OcTree::getRootBV().

template<typename NarrowPhaseSolver>
void hpp::fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeDistance ( const OcTree tree1,
const OcTree tree2,
const Transform3f tf1,
const Transform3f tf2,
const DistanceRequest request_,
DistanceResult result_ 
) const
inline

distance between two octrees

References hpp::fcl::OcTree::getRoot(), and hpp::fcl::OcTree::getRootBV().

template<typename NarrowPhaseSolver>
void hpp::fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeIntersect ( const OcTree tree1,
const OcTree tree2,
const Transform3f tf1,
const Transform3f tf2,
const CollisionRequest request_,
CollisionResult result_ 
) const
inline

collision between two octrees

References hpp::fcl::OcTree::getRoot(), and hpp::fcl::OcTree::getRootBV().

template<typename NarrowPhaseSolver>
template<typename BV >
void hpp::fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeMeshDistance ( const OcTree tree1,
const BVHModel< BV > *  tree2,
const Transform3f tf1,
const Transform3f tf2,
const DistanceRequest request_,
DistanceResult result_ 
) const
inline

distance between octree and mesh

References hpp::fcl::OcTree::getRoot(), and hpp::fcl::OcTree::getRootBV().

template<typename NarrowPhaseSolver>
template<typename BV >
void hpp::fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeMeshIntersect ( const OcTree tree1,
const BVHModel< BV > *  tree2,
const Transform3f tf1,
const Transform3f tf2,
const CollisionRequest request_,
CollisionResult result_ 
) const
inline

collision between octree and mesh

References hpp::fcl::OcTree::getRoot(), and hpp::fcl::OcTree::getRootBV().

template<typename NarrowPhaseSolver>
template<typename S >
void hpp::fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeShapeDistance ( const OcTree tree,
const S &  s,
const Transform3f tf1,
const Transform3f tf2,
const DistanceRequest request_,
DistanceResult result_ 
) const
inline

distance between octree and shape

References hpp::fcl::OcTree::getRoot(), and hpp::fcl::OcTree::getRootBV().

template<typename NarrowPhaseSolver>
template<typename S >
void hpp::fcl::OcTreeSolver< NarrowPhaseSolver >::OcTreeShapeIntersect ( const OcTree tree,
const S &  s,
const Transform3f tf1,
const Transform3f tf2,
const CollisionRequest request_,
CollisionResult result_ 
) const
inline

collision between octree and shape

References hpp::fcl::convertBV(), hpp::fcl::OcTree::getRoot(), and hpp::fcl::OcTree::getRootBV().

template<typename NarrowPhaseSolver>
template<typename S >
void hpp::fcl::OcTreeSolver< NarrowPhaseSolver >::ShapeOcTreeDistance ( const S &  s,
const OcTree tree,
const Transform3f tf1,
const Transform3f tf2,
const DistanceRequest request_,
DistanceResult result_ 
) const
inline
template<typename NarrowPhaseSolver>
template<typename S >
void hpp::fcl::OcTreeSolver< NarrowPhaseSolver >::ShapeOcTreeIntersect ( const S &  s,
const OcTree tree,
const Transform3f tf1,
const Transform3f tf2,
const CollisionRequest request_,
CollisionResult result_ 
) const
inline

collision between shape and octree

References hpp::fcl::convertBV(), hpp::fcl::OcTree::getRoot(), and hpp::fcl::OcTree::getRootBV().