SpatiumLib
Public Member Functions | List of all members
spatium::idx::PointQuadtreeNode Class Reference

A node in a point quadtree (a quadrant) More...

#include <Quadtree.h>

Inheritance diagram for spatium::idx::PointQuadtreeNode:
Inheritance graph
[legend]
Collaboration diagram for spatium::idx::PointQuadtreeNode:
Collaboration graph
[legend]

Public Member Functions

 PointQuadtreeNode (const std::weak_ptr< PointQuadtreeNode > &parent=std::weak_ptr< PointQuadtreeNode >())
 Constructor. More...
 
bool createChildren (const std::shared_ptr< PointQuadtreeNode > &parentSharedPtr)
 Create 4 children nodes. More...
 
- Public Member Functions inherited from spatium::idx::TreeNode< std::vector< std::array< double, 2 > > >
 TreeNode (std::weak_ptr< TreeNode< std::vector< std::array< double, 2 > > >> parent=std::weak_ptr< TreeNode< std::vector< std::array< double, 2 > > >>(), size_t estimatedChildCount=0)
 Constructor. More...
 
 TreeNode (const std::vector< std::array< double, 2 > > &object, std::weak_ptr< TreeNode< std::vector< std::array< double, 2 > > >> parent=std::weak_ptr< TreeNode< std::vector< std::array< double, 2 > > >>(), size_t estimatedChildCount=0)
 Constructor. More...
 
bool hasChildren ()
 
size_t childCount () const
 Get child count. More...
 
std::shared_ptr< TreeNode< std::vector< std::array< double, 2 > > > > child (size_t index) const
 Get a child. More...
 
std::shared_ptr< TreeNode< std::vector< std::array< double, 2 > > > > addChild (const std::shared_ptr< TreeNode< std::vector< std::array< double, 2 > > >> &parentSharedPtr, const std::vector< std::array< double, 2 > > &object)
 Add child node. More...
 
std::vector< std::array< double, 2 > > & object ()
 Set the object. More...
 
void setObject (const std::vector< std::array< double, 2 > > &object)
 Get the object. More...
 

Additional Inherited Members

- Protected Attributes inherited from spatium::idx::TreeNode< std::vector< std::array< double, 2 > > >
std::weak_ptr< TreeNode< std::vector< std::array< double, 2 > > > > m_parent
 
std::vector< std::shared_ptr< TreeNode< std::vector< std::array< double, 2 > > > > > m_children
 
std::vector< std::array< double, 2 > > m_object
 

Detailed Description

A node in a point quadtree (a quadrant)

Constructor & Destructor Documentation

◆ PointQuadtreeNode()

spatium::idx::PointQuadtreeNode::PointQuadtreeNode ( const std::weak_ptr< PointQuadtreeNode > &  parent = std::weak_ptr<PointQuadtreeNode>())
inline

Constructor.

Parameters
[in]Parentnode (unset for root node)

Member Function Documentation

◆ createChildren()

bool spatium::idx::PointQuadtreeNode::createChildren ( const std::shared_ptr< PointQuadtreeNode > &  parentSharedPtr)
inline

Create 4 children nodes.

Parameters
[in]parentSharedPtrParent node (this object) as shared pointer
Returns
True on success, false if children already existed.

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