Public Member Functions | Protected Attributes | List of all members
coal::KDOP< N > Class Template Reference

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 <kDOP.h>

Inheritance diagram for coal::KDOP< N >:
Inheritance graph
[legend]

Public Member Functions

Vec3s center () const
 The (AABB) center. More...
 
CoalScalar depth () const
 The (AABB) depth. More...
 
CoalScalardist (short i)
 
CoalScalar dist (short i) const
 
CoalScalar distance (const KDOP< N > &other, Vec3s *P=NULL, Vec3s *Q=NULL) const
 The distance between two KDOP<N>. Not implemented. More...
 
CoalScalar height () const
 The (AABB) height. More...
 
bool inside (const Vec3s &p) const
 
EIGEN_MAKE_ALIGNED_OPERATOR_NEW KDOP ()
 Creating kDOP containing nothing. More...
 
 KDOP (const Vec3s &a, const Vec3s &b)
 Creating kDOP containing two points. More...
 
 KDOP (const Vec3s &v)
 Creating kDOP containing only one point. More...
 
bool operator!= (const KDOP &other) const
 Difference operator. More...
 
KDOP< N > operator+ (const KDOP< N > &other) const
 Create a KDOP by mergin two KDOPs. More...
 
KDOP< N > & operator+= (const KDOP< N > &other)
 Merge two KDOPs. More...
 
KDOP< N > & operator+= (const Vec3s &p)
 Merge the point and the KDOP. More...
 
bool operator== (const KDOP &other) const
 Equality 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 size () const
 Size of the kDOP (used in BV_Splitter to order two kDOPs) More...
 
CoalScalar volume () const
 The (AABB) volume. More...
 
CoalScalar width () const
 The (AABB) width. More...
 

Protected Attributes

Eigen::Array< CoalScalar, N, 1 > dist_
 Origin's distances to N KDOP planes. More...
 

Detailed Description

template<short N>
class coal::KDOP< 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.

Definition at line 91 of file coal/BV/kDOP.h.


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


hpp-fcl
Author(s):
autogenerated on Sat Nov 23 2024 03:45:00