coal  3.0.1
Coal, The Collision Detection Library. Previously known as HPP-FCL, fork of FCL -- The Flexible Collision Library
coal::detail Namespace Reference

Namespaces

 dynamic_AABB_tree
 
 dynamic_AABB_tree_array
 
 implementation_array
 

Classes

struct  UpdateImpl
 
struct  SelectImpl
 
struct  SelectImpl< S, AABB >
 
class  HierarchyTree
 Class for hierarchy tree structure. More...
 
struct  it_recursion_node
 Class describes the information needed when we take the right branch in searching for intervals but possibly come back and check the left branch as well. More...
 
class  IntervalTree
 Interval tree. More...
 
class  IntervalTreeNode
 The node for interval tree. More...
 
struct  NodeBase
 dynamic AABB tree node More...
 
class  SimpleHashTable
 A simple hash table implemented as multiple buckets. HashFnc is any extended hash function: HashFnc(key) = {index1, index2, ..., }. More...
 
struct  SimpleInterval
 Interval trees implemented using red-black-trees as described in the book Introduction_To_Algorithms_ by Cormen, Leisserson, and Rivest. More...
 
class  unordered_map_hash_table
 
class  SparseHashTable
 A hash table implemented using unordered_map. More...
 
struct  SpatialHash
 Spatial hash function: hash an AABB to a set of integer values. More...
 

Functions

template<typename BV >
bool nodeBaseLess (NodeBase< BV > *a, NodeBase< BV > *b, int d)
 Compare two nodes accoording to the d-th dimension of node center. More...
 
template<typename BV >
size_t select (const NodeBase< BV > &query, const NodeBase< BV > &node1, const NodeBase< BV > &node2)
 select from node1 and node2 which is close to a given query. 0 for node1 and 1 for node2 More...
 
template<typename BV >
size_t select (const BV &query, const NodeBase< BV > &node1, const NodeBase< BV > &node2)
 select from node1 and node2 which is close to a given query bounding volume. 0 for node1 and 1 for node2 More...
 

Function Documentation

◆ nodeBaseLess()

template<typename BV >
bool coal::detail::nodeBaseLess ( NodeBase< BV > *  a,
NodeBase< BV > *  b,
int  d 
)

Compare two nodes accoording to the d-th dimension of node center.

◆ select() [1/2]

template<typename BV >
size_t coal::detail::select ( const BV &  query,
const NodeBase< BV > &  node1,
const NodeBase< BV > &  node2 
)

select from node1 and node2 which is close to a given query bounding volume. 0 for node1 and 1 for node2

◆ select() [2/2]

template<typename BV >
size_t coal::detail::select ( const NodeBase< BV > &  query,
const NodeBase< BV > &  node1,
const NodeBase< BV > &  node2 
)

select from node1 and node2 which is close to a given query. 0 for node1 and 1 for node2