| 
    coal
    3.0.1
    
   Coal, The Collision Detection Library. Previously known as HPP-FCL, fork of FCL -- The Flexible Collision Library 
   | 
 
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...
#include <coal/BV/kDOP.h>

Public Member Functions | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW | KDOP () | 
| Creating kDOP containing nothing.  More... | |
| KDOP (const Vec3s &v) | |
| Creating kDOP containing only one point.  More... | |
| KDOP (const Vec3s &a, const Vec3s &b) | |
| Creating kDOP containing two points.  More... | |
| bool | operator== (const KDOP &other) const | 
| Equality operator.  More... | |
| bool | operator!= (const KDOP &other) const | 
| Difference operator.  More... | |
| bool | overlap (const KDOP< N > &other) const | 
| Check whether two KDOPs overlap.  More... | |
| bool | overlap (const KDOP< N > &other, const CollisionRequest &request, CoalScalar &sqrDistLowerBound) const | 
| Check whether two KDOPs overlap.  More... | |
| CoalScalar | distance (const KDOP< N > &other, Vec3s *P=NULL, Vec3s *Q=NULL) const | 
| The distance between two KDOP<N>. Not implemented.  More... | |
| KDOP< N > & | operator+= (const Vec3s &p) | 
| Merge the point and the KDOP.  More... | |
| KDOP< N > & | operator+= (const KDOP< N > &other) | 
| Merge two KDOPs.  More... | |
| KDOP< N > | operator+ (const KDOP< N > &other) const | 
| Create a KDOP by mergin two KDOPs.  More... | |
| CoalScalar | size () const | 
| Size of the kDOP (used in BV_Splitter to order two kDOPs)  More... | |
| Vec3s | center () const | 
| The (AABB) center.  More... | |
| CoalScalar | width () const | 
| The (AABB) width.  More... | |
| CoalScalar | height () const | 
| The (AABB) height.  More... | |
| CoalScalar | depth () const | 
| The (AABB) depth.  More... | |
| CoalScalar | volume () const | 
| The (AABB) volume.  More... | |
| CoalScalar | dist (short i) const | 
| CoalScalar & | dist (short i) | 
| bool | inside (const Vec3s &p) const | 
Protected Attributes | |
| Eigen::Array< CoalScalar, N, 1 > | dist_ | 
| Origin's distances to N KDOP planes.  More... | |
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.