PCL
|
Quadtree node structure. More...
#include <QuadTree.h>
Public Member Functions | |
Node ()=default | |
Node (const rectangle &r) | |
bool | Includes (const rectangle::point &p) const |
bool | Includes (coordinate x, coordinate y) const |
bool | Intersects (const rectangle &r) const |
bool | IsLeaf () const |
rectangle | NERect () const |
rectangle | NWRect () const |
rectangle | SERect () const |
rectangle | SWRect () const |
Public Attributes | |
Node * | ne = nullptr |
North-East child node, representing the top-right subregion. | |
Node * | nw = nullptr |
North-West child node, representing the top-left subregion. | |
rectangle | rect = 0.0 |
The rectangular region represented by this node. | |
Node * | se = nullptr |
South-East child node, representing the bottom-right subregion. | |
Node * | sw = nullptr |
South-West child node, representing the bottom-left subregion. | |
Definition at line 158 of file QuadTree.h.
|
default |
Default constructor. Constructs an uninitialized quadtree node.
|
inline |
Constructs a quadtree node for the specified rectangular region r.
Definition at line 178 of file QuadTree.h.
|
inline |
Returns true iff the rectangular region represented by this node includes the specified point p in the plane.
Definition at line 221 of file QuadTree.h.
References pcl::QuadTree< T >::Node::Includes(), pcl::GenericPoint< T >::x, and pcl::GenericPoint< T >::y.
|
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 211 of file QuadTree.h.
References pcl::QuadTree< T >::Node::rect, pcl::GenericRectangle< T >::x0, pcl::GenericRectangle< T >::x1, pcl::GenericRectangle< T >::y0, and pcl::GenericRectangle< T >::y1.
Referenced by pcl::QuadTree< T >::Node::Includes(), and pcl::QuadTree< T >::SplitAt().
|
inline |
Returns true iff the rectangular region represented by this node intersects the specified rectangle r.
Definition at line 201 of file QuadTree.h.
References pcl::QuadTree< T >::Node::rect, pcl::GenericRectangle< T >::x0, pcl::GenericRectangle< T >::x1, pcl::GenericRectangle< T >::y0, and pcl::GenericRectangle< T >::y1.
|
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 192 of file QuadTree.h.
References pcl::QuadTree< T >::Node::ne, pcl::QuadTree< T >::Node::nw, pcl::QuadTree< T >::Node::se, and pcl::QuadTree< T >::Node::sw.
|
inline |
Returns the Northeast (top right) splitting rectangle for this node.
Definition at line 237 of file QuadTree.h.
References pcl::GenericRectangle< T >::CenterRight(), pcl::GenericRectangle< T >::CenterTop(), and pcl::QuadTree< T >::Node::rect.
|
inline |
Returns the Northwest (top left) splitting rectangle for this node.
Definition at line 229 of file QuadTree.h.
References pcl::GenericRectangle< T >::Center(), pcl::QuadTree< T >::Node::rect, and pcl::GenericRectangle< T >::TopLeft().
|
inline |
Returns the Southeast (bottom right) splitting rectangle for this node.
Definition at line 254 of file QuadTree.h.
References pcl::GenericRectangle< T >::BottomRight(), pcl::GenericRectangle< T >::Center(), and pcl::QuadTree< T >::Node::rect.
|
inline |
Returns the Southwest (bottom left) splitting rectangle for this node.
Definition at line 245 of file QuadTree.h.
References pcl::GenericRectangle< T >::CenterBottom(), pcl::GenericRectangle< T >::CenterLeft(), and pcl::QuadTree< T >::Node::rect.