![]()  | 
  
    Image Component Library (ICL)
    
   | 
 
Internally used node structure. More...
#include <Octree.h>
Public Member Functions | |
| Node () | |
| empty default constructor (does nothing)  More... | |
| Node (const AABB &boundary) | |
| constructor from given AABB-boundary  More... | |
| void | init (Node *parent, const AABB &boundary) | 
| initialization methods (with given boundary)  More... | |
| void | query (const AABB &boundary, std::vector< Pt > &found) const | 
| recursive getter function that queries all nodes within a given bounding box  More... | |
| void | split (Node *children) | 
| creates the children for this node  More... | |
Public Attributes | |
| AABB | boundary | 
| node boundary  More... | |
| Pt | points [CAPACITY] | 
| contained nodes  More... | |
| Pt * | next | 
| next node to fill  More... | |
| Node * | children | 
| pointer to four child-nodes  More... | |
| Node * | parent | 
| parent node  More... | |
| float | radius | 
| aabb radius (can be used for bounding sphere tests)  More... | |
Internally used node structure.
Each node can contain up to CAPACITY elements. Further nodes are distributed to one of the four children
      
  | 
  inline | 
empty default constructor (does nothing)
      
  | 
  inline | 
constructor from given AABB-boundary
      
  | 
  inline | 
initialization methods (with given boundary)
sets next to points-begin and children to NULL
      
  | 
  inline | 
recursive getter function that queries all nodes within a given bounding box
breaks the recursion if no children are present or if the nodes boundary does not intersect with the given boundary. Recursively fills the given 'found'-vector
      
  | 
  inline | 
creates the children for this node
children order is ul, ur, ll, lr. The children are created by the top-level QuadTree's allocator and passed to this function. 'split' initializes the four given children
| AABB icl::math::Octree< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::Node::boundary | 
node boundary
| Node* icl::math::Octree< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::Node::children | 
pointer to four child-nodes
| Pt* icl::math::Octree< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::Node::next | 
next node to fill
| Node* icl::math::Octree< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::Node::parent | 
parent node
| Pt icl::math::Octree< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::Node::points[CAPACITY] | 
contained nodes
| float icl::math::Octree< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::Node::radius | 
aabb radius (can be used for bounding sphere tests)
 1.8.15