Module outofcore

## Detailed Description

# Overview

The pcl_outofcore library provides an octree data structure for point clouds that are too large to be stored in main memory. The data are located instead in an directory-based octree hierary on some secondary storage (disk) medium. pcl_outofcore provides the framework for constructing and traversing outofcore octrees, a command-line tool pcl_outofcore_process for converting a set of registered PCD files to outofcore octree, and pcl_outofcore_viewer for rendering outofcore octrees.

pcl_outofcore provides an interface to construct and query outofcore octrees via OutofcoreOctreeBase. The out of core octree can be used with any PCLPointCloud2 with point types containing x, y and z fields. No internal checking is done to verify this. On the other hand, point clouds do not need to be filtered for NaN entries; the library will automatically ignore NaN points in the insertion methods.

The average user may not need to do any development with this library, but rather use the command-line tool pcl_outofcore_process to construct an outofcore octree, and pcl_outofcore_viewer to view it.

For those interested in developing software with pcl_outofcore, the functionality of the OutofcoreOctreeBase class provides methods for insertion (addPointCloud), and querying bounding boxes (queryBoundingBox). Furthermore OutofcoreDepthFirstIterator provides an iterator for the entire tree that gives direct access to the in-memory node datastructre, OutofcoreOctreeBaseNode. Please note that this library is still under development, and that interested users should use the PCLPointCloud2-based insertion and query methods.

# Example Usage

# Requirements

- common
- io
- visualization (for pcl_outofcore_viewer)
- filters

## Classes

class | pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >
| Abstract octree iterator class. More...
class | AbstractMetadata
| Abstract interface for outofcore metadata file types. More...
class | pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >
| This code defines the octree used for point storage at Urban Robotics. More...
class | pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >
| OutofcoreOctreeBaseNode Class internally representing nodes of an outofcore octree, with accessors to its data via the pcl::outofcore::OutofcoreOctreeDiskContainer class or pcl::outofcore::OutofcoreOctreeRamContainer class, whichever it is templated against. More...
class | pcl::outofcore::OutofcoreOctreeDiskContainer< PointT >
| Class responsible for serialization and deserialization of out of core point data. More...
class | pcl::outofcore::OutofcoreOctreeRamContainer< PointT >
| Storage container class which the outofcore octree base is templated against. More...
class | pcl::outofcore::OutofcoreOctreeBaseMetadata
| Encapsulated class to read JSON metadata into memory, and write the JSON metadata associated with the octree root node. More...
class | pcl::outofcore::OutofcoreBreadthFirstIterator< PointT, ContainerT >
class | pcl::outofcore::OutofcoreDepthFirstIterator< PointT, ContainerT >
class | pcl::outofcore::OutofcoreOctreeNodeMetadata
| Encapsulated class to read JSON metadata into memory, and write the JSON metadata for each node. More...