FCL  0.6.0
Flexible Collision Library
fcl::detail::CollisionFunctionMatrix< NarrowPhaseSolver > Struct Template Reference

collision matrix stores the functions for collision between different types of objects and provides a uniform call interface More...

#include <collision_func_matrix.h>

Public Types

using S = typename NarrowPhaseSolver::S
 
using CollisionFunc = std::size_t(*)(const CollisionGeometry< S > *o1, const Transform3< S > &tf1, const CollisionGeometry< S > *o2, const Transform3< S > &tf2, const NarrowPhaseSolver *nsolver, const CollisionRequest< S > &request, CollisionResult< S > &result)
 the uniform call interface for collision: for collision, we need know More...
 

Public Attributes

CollisionFunc collision_matrix [NODE_COUNT][NODE_COUNT]
 each item in the collision matrix is a function to handle collision between objects of type1 and type2
 

Detailed Description

template<typename NarrowPhaseSolver>
struct fcl::detail::CollisionFunctionMatrix< NarrowPhaseSolver >

collision matrix stores the functions for collision between different types of objects and provides a uniform call interface

Member Typedef Documentation

template<typename NarrowPhaseSolver >
using fcl::detail::CollisionFunctionMatrix< NarrowPhaseSolver >::CollisionFunc = std::size_t (*)( const CollisionGeometry<S>* o1, const Transform3<S>& tf1, const CollisionGeometry<S>* o2, const Transform3<S>& tf2, const NarrowPhaseSolver* nsolver, const CollisionRequest<S>& request, CollisionResult<S>& result)

the uniform call interface for collision: for collision, we need know

  1. two objects o1 and o2 and their configuration in world coordinate tf1 and tf2;
  2. the solver for narrow phase collision, this is for the collision between geometric shapes;
  3. the request setting for collision (e.g., whether need to return normal information, whether need to compute cost);
  4. the structure to return collision result

The documentation for this struct was generated from the following files: