PCL
pcl::QuadTree< T >::Node Class Reference

Quadtree node structure. More...

#include <QuadTree.h>

+ Inheritance diagram for pcl::QuadTree< T >::Node:

Public Member Functions

 Node (const rectangle &r=rectangle(0.0))
 
bool Includes (coordinate x, coordinate y) const
 
bool Includes (const rectangle::point &p) const
 
bool Intersects (const rectangle &r) const
 
bool IsLeaf () const
 
rectangle NERect () const
 
rectangle NWRect () const
 
rectangle SERect () const
 
rectangle SWRect () const
 

Public Attributes

Nodene = nullptr
 North-East child node, representing the top-right subregion.
 
Nodenw = nullptr
 North-West child node, representing the top-left subregion.
 
rectangle rect
 The rectangular region represented by this node.
 
Nodese = nullptr
 South-East child node, representing the bottom-right subregion.
 
Nodesw = nullptr
 South-West child node, representing the bottom-left subregion.
 

Detailed Description

template<class T>
class pcl::QuadTree< T >::Node

Definition at line 146 of file QuadTree.h.

Constructor & Destructor Documentation

◆ Node()

template<class T>
pcl::QuadTree< T >::Node::Node ( const rectangle r = rectangle( 0.0 ))
inline

Default constructor. Constructs an uninitialized quadtree node.

Definition at line 157 of file QuadTree.h.

Member Function Documentation

◆ Includes() [1/2]

template<class T>
bool pcl::QuadTree< T >::Node::Includes ( coordinate  x,
coordinate  y 
) const
inline

Returns true iff the rectangular region represented by this node includes a point in the plane specified by its coordinates x, y.

Definition at line 189 of file QuadTree.h.

Referenced by pcl::QuadTree< T >::Node::Includes().

◆ Includes() [2/2]

template<class T>
bool pcl::QuadTree< T >::Node::Includes ( const rectangle::point &  p) const
inline

Returns true iff the rectangular region represented by this node includes the specified point p in the plane.

Definition at line 199 of file QuadTree.h.

References pcl::QuadTree< T >::Node::Includes().

◆ Intersects()

template<class T>
bool pcl::QuadTree< T >::Node::Intersects ( const rectangle r) const
inline

Returns true iff the rectangular region represented by this node intersects the specified rectangle r.

Definition at line 179 of file QuadTree.h.

◆ IsLeaf()

template<class T>
bool pcl::QuadTree< T >::Node::IsLeaf ( ) const
inline

Returns true iff this is a leaf quadtree node. A leaf node does not contain child nodes, that is, there is no further subdivision of the domain space beyond a leaf quadtree node.

In a healthy quadtree (as any QuadTree structure should be under normal working conditions), you can expect any leaf node to be an instance of QuadTree::LeafNode containing a nonempty list of points.

Definition at line 170 of file QuadTree.h.

◆ NERect()

template<class T>
rectangle pcl::QuadTree< T >::Node::NERect ( ) const
inline

Returns the Northeast (top right) splitting rectangle for this node.

Definition at line 215 of file QuadTree.h.

◆ NWRect()

template<class T>
rectangle pcl::QuadTree< T >::Node::NWRect ( ) const
inline

Returns the Northwest (top left) splitting rectangle for this node.

Definition at line 207 of file QuadTree.h.

◆ SERect()

template<class T>
rectangle pcl::QuadTree< T >::Node::SERect ( ) const
inline

Returns the Southeast (bottom right) splitting rectangle for this node.

Definition at line 232 of file QuadTree.h.

◆ SWRect()

template<class T>
rectangle pcl::QuadTree< T >::Node::SWRect ( ) const
inline

Returns the Southwest (bottom left) splitting rectangle for this node.

Definition at line 223 of file QuadTree.h.


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