Classes | Namespaces | Typedefs | Functions
kDOP.h File Reference
#include <cstddef>
#include <iostream>
#include "fcl/common/types.h"
#include "fcl/math/bv/kDOP-inl.h"
Include dependency graph for kDOP.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fcl::KDOP< S_, N >
 KDOP class describes the KDOP collision structures. K is set as the template parameter, which should be 16, 18, or 24 The KDOP structure is defined by some pairs of parallel planes defined by some axes. For K = 16, the planes are 6 AABB planes and 10 diagonal planes that cut off some space of the edges: (-1,0,0) and (1,0,0) -> indices 0 and 8 (0,-1,0) and (0,1,0) -> indices 1 and 9 (0,0,-1) and (0,0,1) -> indices 2 and 10 (-1,-1,0) and (1,1,0) -> indices 3 and 11 (-1,0,-1) and (1,0,1) -> indices 4 and 12 (0,-1,-1) and (0,1,1) -> indices 5 and 13 (-1,1,0) and (1,-1,0) -> indices 6 and 14 (-1,0,1) and (1,0,-1) -> indices 7 and 15 For K = 18, the planes are 6 AABB planes and 12 diagonal planes that cut off some space of the edges: (-1,0,0) and (1,0,0) -> indices 0 and 9 (0,-1,0) and (0,1,0) -> indices 1 and 10 (0,0,-1) and (0,0,1) -> indices 2 and 11 (-1,-1,0) and (1,1,0) -> indices 3 and 12 (-1,0,-1) and (1,0,1) -> indices 4 and 13 (0,-1,-1) and (0,1,1) -> indices 5 and 14 (-1,1,0) and (1,-1,0) -> indices 6 and 15 (-1,0,1) and (1,0,-1) -> indices 7 and 16 (0,-1,1) and (0,1,-1) -> indices 8 and 17 For K = 18, the planes are 6 AABB planes and 18 diagonal planes that cut off some space of the edges: (-1,0,0) and (1,0,0) -> indices 0 and 12 (0,-1,0) and (0,1,0) -> indices 1 and 13 (0,0,-1) and (0,0,1) -> indices 2 and 14 (-1,-1,0) and (1,1,0) -> indices 3 and 15 (-1,0,-1) and (1,0,1) -> indices 4 and 16 (0,-1,-1) and (0,1,1) -> indices 5 and 17 (-1,1,0) and (1,-1,0) -> indices 6 and 18 (-1,0,1) and (1,0,-1) -> indices 7 and 19 (0,-1,1) and (0,1,-1) -> indices 8 and 20 (-1, -1, 1) and (1, 1, -1) --> indices 9 and 21 (-1, 1, -1) and (1, -1, 1) --> indices 10 and 22 (1, -1, -1) and (-1, 1, 1) --> indices 11 and 23. More...
 

Namespaces

 fcl
 Main namespace.
 

Typedefs

template<std::size_t N>
using fcl::KDOPd = KDOP< double, N >
 
template<std::size_t N>
using fcl::KDOPf = KDOP< float, N >
 

Functions

template<typename S , std::size_t N>
FCL_EXPORT void fcl::getDistances (const Vector3< S > &p, S *d)
 Compute the distances to planes with normals from KDOP vectors except those of AABB face planes. More...
 
template<typename S >
FCL_EXPORT void fcl::minmax (S a, S b, S &minv, S &maxv)
 Find the smaller and larger one of two values. More...
 
template<typename S >
FCL_EXPORT void fcl::minmax (S p, S &minv, S &maxv)
 Merge the interval [minv, maxv] and value p/. More...
 
template<typename S , std::size_t N, typename Derived >
FCL_EXPORT KDOP< S, N > fcl::translate (const KDOP< S, N > &bv, const Eigen::MatrixBase< Derived > &t)
 translate the KDOP BV More...
 


fcl
Author(s):
autogenerated on Tue Dec 5 2023 03:40:49