Point Cloud Library (PCL)
1.8.0
|
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...
#include <pcl/outofcore/octree_base_node.h>
Public Types | |
typedef OutofcoreOctreeBase< OutofcoreOctreeDiskContainer< PointT >, PointT > | octree_disk |
typedef OutofcoreOctreeBaseNode< OutofcoreOctreeDiskContainer< PointT >, PointT > | octree_disk_node |
typedef std::vector< PointT, Eigen::aligned_allocator< PointT > > | AlignedPointTVector |
typedef pcl::octree::node_type_t | node_type_t |
Public Member Functions | |
OutofcoreOctreeBaseNode () | |
Empty constructor; sets pointers for children and for bounding boxes to 0. More... | |
OutofcoreOctreeBaseNode (const Eigen::Vector3d &bb_min, const Eigen::Vector3d &bb_max, OutofcoreOctreeBase< ContainerT, PointT > *const tree, const boost::filesystem::path &root_name) | |
Create root node and directory. More... | |
virtual | ~OutofcoreOctreeBaseNode () |
Will recursively delete all children calling recFreeChildrein. More... | |
virtual void | getBoundingBox (Eigen::Vector3d &min_bb, Eigen::Vector3d &max_bb) const |
gets the minimum and maximum corner of the bounding box represented by this node More... | |
const boost::filesystem::path & | getPCDFilename () const |
const boost::filesystem::path & | getMetadataFilename () const |
void | queryFrustum (const double planes[24], std::list< std::string > &file_names) |
void | queryFrustum (const double planes[24], std::list< std::string > &file_names, const boost::uint32_t query_depth, const bool skip_vfc_check=false) |
void | queryFrustum (const double planes[24], const Eigen::Vector3d &eye, const Eigen::Matrix4d &view_projection_matrix, std::list< std::string > &file_names, const boost::uint32_t query_depth, const bool skip_vfc_check=false) |
virtual void | queryBBIncludes (const Eigen::Vector3d &min_bb, const Eigen::Vector3d &max_bb, size_t query_depth, AlignedPointTVector &dst) |
Recursively add points that fall into the queried bounding box up to the query_depth. More... | |
virtual void | queryBBIncludes (const Eigen::Vector3d &min_bb, const Eigen::Vector3d &max_bb, size_t query_depth, const pcl::PCLPointCloud2::Ptr &dst_blob) |
Recursively add points that fall into the queried bounding box up to the query_depth. More... | |
virtual void | queryBBIncludes_subsample (const Eigen::Vector3d &min_bb, const Eigen::Vector3d &max_bb, boost::uint64_t query_depth, const double percent, AlignedPointTVector &v) |
Recursively add points that fall into the queried bounding box up to the query_depth. More... | |
virtual void | queryBBIncludes_subsample (const Eigen::Vector3d &min_bb, const Eigen::Vector3d &max_bb, boost::uint64_t query_depth, const pcl::PCLPointCloud2::Ptr &dst_blob, double percent=1.0) |
virtual void | queryBBIntersects (const Eigen::Vector3d &min_bb, const Eigen::Vector3d &max_bb, const boost::uint32_t query_depth, std::list< std::string > &file_names) |
Recursive acquires PCD paths to any node with which the queried bounding box intersects (at query_depth only). More... | |
virtual void | printBoundingBox (const size_t query_depth) const |
Write the voxel size to stdout at query_depth . More... | |
virtual boost::uint64_t | addDataToLeaf (const AlignedPointTVector &p, const bool skip_bb_check=true) |
add point to this node if we are a leaf, or find the leaf below us that is supposed to take the point More... | |
virtual boost::uint64_t | addDataToLeaf (const std::vector< const PointT * > &p, const bool skip_bb_check=true) |
virtual boost::uint64_t | addPointCloud (const pcl::PCLPointCloud2::Ptr &input_cloud, const bool skip_bb_check=false) |
Add a single PCLPointCloud2 object into the octree. More... | |
virtual boost::uint64_t | addPointCloud_and_genLOD (const pcl::PCLPointCloud2::Ptr input_cloud) |
Add a single PCLPointCloud2 into the octree and build the subsampled LOD during construction; this method of LOD construction is not multiresolution. More... | |
virtual boost::uint64_t | addDataToLeaf_and_genLOD (const AlignedPointTVector &p, const bool skip_bb_check) |
Recursively add points to the leaf and children subsampling LODs on the way down. More... | |
void | writeVPythonVisual (std::ofstream &file) |
Write a python visual script to file. More... | |
virtual int | read (pcl::PCLPointCloud2::Ptr &output_cloud) |
virtual node_type_t | getNodeType () const |
Pure virtual method for receiving the type of octree node (branch or leaf) More... | |
virtual OutofcoreOctreeBaseNode * | deepCopy () const |
Pure virtual method to perform a deep copy of the octree. More... | |
virtual size_t | getDepth () const |
virtual size_t | getNumChildren () const |
Returns the total number of children on disk. More... | |
virtual size_t | getNumLoadedChildren () const |
Count loaded chilren. More... | |
virtual OutofcoreOctreeBaseNode * | getChildPtr (size_t index_arg) const |
Returns a pointer to the child in octant index_arg. More... | |
virtual boost::uint64_t | getDataSize () const |
Gets the number of points available in the PCD file. More... | |
virtual void | clearData () |
![]() | |
OctreeNode () | |
virtual | ~OctreeNode () |
Static Public Attributes | |
static const std::string | node_index_basename = "node" |
static const std::string | node_container_basename = "node" |
static const std::string | node_index_extension = ".oct_idx" |
static const std::string | node_container_extension = ".oct_dat" |
static const double | sample_percent_ = .125 |
Protected Member Functions | |
OutofcoreOctreeBaseNode (const boost::filesystem::path &directory_path, OutofcoreOctreeBaseNode< ContainerT, PointT > *super, bool load_all) | |
Load from disk If creating root, path is full name. More... | |
void | init_root_node (const Eigen::Vector3d &bb_min, const Eigen::Vector3d &bb_max, OutofcoreOctreeBase< ContainerT, PointT > *const tree, const boost::filesystem::path &rootname) |
Create root node and directory. More... | |
OutofcoreOctreeBaseNode (const OutofcoreOctreeBaseNode &rval) | |
no copy construction right now More... | |
OutofcoreOctreeBaseNode & | operator= (const OutofcoreOctreeBaseNode &rval) |
Operator= is not implemented. More... | |
virtual size_t | countNumChildren () const |
Counts the number of child directories on disk; used to update num_children_. More... | |
virtual size_t | countNumLoadedChildren () const |
Counts the number of loaded chilren by testing the children_ array; used to update num_loaded_chilren_ internally. More... | |
void | saveIdx (bool recursive) |
Save node's metadata to file. More... | |
void | randomSample (const AlignedPointTVector &p, AlignedPointTVector &insertBuff, const bool skip_bb_check) |
Randomly sample point data. More... | |
void | subdividePoints (const AlignedPointTVector &p, std::vector< AlignedPointTVector > &c, const bool skip_bb_check) |
Subdivide points to pass to child nodes. More... | |
void | subdividePoint (const PointT &point, std::vector< AlignedPointTVector > &c) |
Subdivide a single point into a specific child node. More... | |
boost::uint64_t | addDataAtMaxDepth (const AlignedPointTVector &p, const bool skip_bb_check=true) |
Add data to the leaf when at max depth of tree. More... | |
boost::uint64_t | addDataAtMaxDepth (const pcl::PCLPointCloud2::Ptr input_cloud, const bool skip_bb_check=true) |
Add data to the leaf when at max depth of tree. More... | |
bool | intersectsWithBoundingBox (const Eigen::Vector3d &min_bb, const Eigen::Vector3d &max_bb) const |
Tests whether the input bounding box intersects with the current node's bounding box. More... | |
bool | inBoundingBox (const Eigen::Vector3d &min_bb, const Eigen::Vector3d &max_bb) const |
Tests whether the input bounding box falls inclusively within this node's bounding box. More... | |
bool | pointInBoundingBox (const Eigen::Vector3d &min_bb, const Eigen::Vector3d &max_bb, const Eigen::Vector3d &point) |
Tests whether point falls within the input bounding box. More... | |
bool | pointInBoundingBox (const PointT &p) const |
Tests if specified point is within bounds of current node's bounding box. More... | |
void | createChild (const std::size_t idx) |
Creates child node idx . More... | |
void | saveMetadataToFile (const boost::filesystem::path &path) |
Write JSON metadata for this node to file. More... | |
void | recFreeChildren () |
Method which recursively free children of this node. More... | |
boost::uint64_t | size () const |
Number of points in the payload. More... | |
void | flushToDiskRecursive () |
void | loadFromFile (const boost::filesystem::path &path, OutofcoreOctreeBaseNode *super) |
Loads the nodes metadata from the JSON file. More... | |
void | convertToXYZRecursive () |
Recursively converts data files to ascii XZY files. More... | |
OutofcoreOctreeBaseNode (const Eigen::Vector3d &bb_min, const Eigen::Vector3d &bb_max, const char *dir, OutofcoreOctreeBaseNode< ContainerT, PointT > *super) | |
Private constructor used for children. More... | |
void | copyAllCurrentAndChildPointsRec (std::list< PointT > &v) |
Copies points from this and all children into a single point container (std::list) More... | |
void | copyAllCurrentAndChildPointsRec_sub (std::list< PointT > &v, const double percent) |
bool | hasUnloadedChildren () const |
Returns whether or not a node has unloaded children data. More... | |
virtual void | loadChildren (bool recursive) |
Load nodes child data creating new nodes for each. More... | |
void | getOccupiedVoxelCentersRecursive (AlignedPointTVector &voxel_centers, const size_t query_depth) |
Gets a vector of occupied voxel centers. More... | |
void | getOccupiedVoxelCentersRecursive (std::vector< Eigen::Vector3d, Eigen::aligned_allocator< Eigen::Vector3d > > &voxel_centers, const size_t query_depth) |
Gets a vector of occupied voxel centers. More... | |
void | sortOctantIndices (const pcl::PCLPointCloud2::Ptr &input_cloud, std::vector< std::vector< int > > &indices, const Eigen::Vector3d &mid_xyz) |
Sorts the indices based on x,y,z fields and pushes the index into the proper octant's vector; This could be overloaded with a parallelized implementation. More... | |
void | enlargeToCube (Eigen::Vector3d &bb_min, Eigen::Vector3d &bb_max) |
Enlarges the shortest two sidelengths of the bounding box to a cubic shape; operation is done in place. More... | |
Static Protected Member Functions | |
static bool | pointInBoundingBox (const Eigen::Vector3d &min_bb, const Eigen::Vector3d &max_bb, const PointT &p) |
Tests whether p falls within the input bounding box. More... | |
static bool | pointInBoundingBox (const Eigen::Vector3d &min_bb, const Eigen::Vector3d &max_bb, const double x, const double y, const double z) |
Tests whether x , y , and z fall within the input bounding box. More... | |
Protected Attributes | |
OutofcoreOctreeBase< ContainerT, PointT > * | m_tree_ |
The tree we belong to. More... | |
OutofcoreOctreeBaseNode * | root_node_ |
The root node of the tree we belong to. More... | |
OutofcoreOctreeBaseNode * | parent_ |
super-node More... | |
size_t | depth_ |
Depth in the tree, root is 0, root's children are 1, ... More... | |
std::vector< OutofcoreOctreeBaseNode * > | children_ |
The children of this node. More... | |
uint64_t | num_children_ |
Number of children on disk. More... | |
uint64_t | num_loaded_children_ |
Number of loaded children this node has. More... | |
boost::shared_ptr< ContainerT > | payload_ |
what holds the points. More... | |
OutofcoreOctreeNodeMetadata::Ptr | node_metadata_ |
Static Protected Attributes | |
static boost::mutex | rng_mutex_ |
Random number generator mutex. More... | |
static boost::mt19937 | rand_gen_ |
Mersenne Twister: A 623-dimensionally equidistributed uniform pseudo-random number generator. More... | |
static const boost::uint32_t | rngseed = 0xAABBCCDD |
Random number generator seed. More... | |
static const std::string | pcd_extension = ".pcd" |
Extension for this class to find the pcd files on disk. More... | |
Friends | |
class | OutofcoreOctreeBase< ContainerT, PointT > |
OutofcoreOctreeBaseNode< ContainerT, PointT > * | makenode_norec (const boost::filesystem::path &path, OutofcoreOctreeBaseNode< ContainerT, PointT > *super) |
Non-class function which creates a single child leaf; used with queryBBIntersects_noload to avoid loading the data from disk. More... | |
void | queryBBIntersects_noload (const boost::filesystem::path &rootnode, const Eigen::Vector3d &min, const Eigen::Vector3d &max, const boost::uint32_t query_depth, std::list< std::string > &bin_name) |
Non-class method which performs a bounding box query without loading any of the point cloud data from disk. More... | |
void | queryBBIntersects_noload (OutofcoreOctreeBaseNode< ContainerT, PointT > *current, const Eigen::Vector3d &min, const Eigen::Vector3d &max, const boost::uint32_t query_depth, std::list< std::string > &bin_name) |
Non-class method overload. More... | |
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.
Definition at line 59 of file octree_base_node.h.
typedef std::vector<PointT, Eigen::aligned_allocator<PointT> > pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::AlignedPointTVector |
Definition at line 110 of file octree_base_node.h.
typedef pcl::octree::node_type_t pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_type_t |
Definition at line 112 of file octree_base_node.h.
typedef OutofcoreOctreeBase<OutofcoreOctreeDiskContainer < PointT > , PointT > pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::octree_disk |
Definition at line 107 of file octree_base_node.h.
typedef OutofcoreOctreeBaseNode<OutofcoreOctreeDiskContainer < PointT > , PointT > pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::octree_disk_node |
Definition at line 108 of file octree_base_node.h.
pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode | ( | ) |
Empty constructor; sets pointers for children and for bounding boxes to 0.
Definition at line 90 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::size().
pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode | ( | const Eigen::Vector3d & | bb_min, |
const Eigen::Vector3d & | bb_max, | ||
OutofcoreOctreeBase< ContainerT, PointT > *const | tree, | ||
const boost::filesystem::path & | root_name | ||
) |
Create root node and directory.
Definition at line 183 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::init_root_node(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_.
|
virtual |
Will recursively delete all children calling recFreeChildrein.
Definition at line 259 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::recFreeChildren().
|
protected |
Load from disk If creating root, path is full name.
If creating any other node, path is dir; throws exception if directory or metadata not found
[in] | directory_path | pathname |
[in] | super | |
[in] | load_all |
PCLException | if directory is missing |
PCLException | if node index is missing |
Definition at line 108 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::countNumChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getDepth(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadFromFile(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_index_extension, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::root_node_.
|
protected |
no copy construction right now
|
protected |
Private constructor used for children.
Definition at line 1729 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeDiskContainer< PointT >::getRandomUUIDString(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::m_tree_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_container_basename, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_index_basename, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_index_extension, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::parent_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::pcd_extension, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::root_node_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::saveIdx().
|
protected |
Add data to the leaf when at max depth of tree.
If skip_bb_check is true, adds to the node regardless of the bounding box it represents; otherwise only adds points that fall within the bounding box
[in] | p | vector of points to attempt to add to the tree |
[in] | skip_bb_check | if true, doesn't check that points are in the proper bounding box; if false, only adds the points that fall into the bounding box to this node |
Definition at line 625 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::m_tree_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::pointInBoundingBox(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::root_node_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData().
|
protected |
Add data to the leaf when at max depth of tree.
If skip_bb_check
is true, adds to the node regardless of the bounding box it represents; otherwise only adds points that fall within the bounding box
[in] | input_cloud | PCLPointCloud2 points to attempt to add to the tree; |
[in] | skip_bb_check | (default true) if true, doesn't check that points are in the proper bounding box; if false, only adds the points that fall into the bounding box to this node |
Definition at line 666 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::m_tree_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::root_node_.
|
virtual |
add point to this node if we are a leaf, or find the leaf below us that is supposed to take the point
[in] | p | vector of points to add to the leaf |
[in] | skip_bb_check | whether to check if the point's coordinates fall within the bounding box |
Definition at line 356 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataAtMaxDepth(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::createChild(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::m_tree_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::pointInBoundingBox(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::root_node_.
Referenced by pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::addDataToLeaf(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getMetadataFilename().
|
virtual |
Definition at line 415 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::createChild(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::m_tree_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::pointInBoundingBox(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::root_node_.
|
virtual |
Recursively add points to the leaf and children subsampling LODs on the way down.
Definition at line 820 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataAtMaxDepth(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::createChild(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::m_tree_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::randomSample(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::root_node_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::subdividePoints().
Referenced by pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::addDataToLeaf_and_genLOD(), pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::addPointCloud_and_genLOD(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getMetadataFilename().
|
virtual |
Add a single PCLPointCloud2 object into the octree.
[in] | input_cloud | |
[in] | skip_bb_check | (default = false) |
Definition at line 508 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataAtMaxDepth(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::copyPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::createChild(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::m_tree_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::root_node_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::size(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sortOctantIndices().
Referenced by pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::addPointCloud(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getMetadataFilename().
|
virtual |
Add a single PCLPointCloud2 into the octree and build the subsampled LOD during construction; this method of LOD construction is not multiresolution.
Rather, there are no redundant data.
Definition at line 720 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataAtMaxDepth(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::copyPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::createChild(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::FilterIndices< pcl::PCLPointCloud2 >::filter(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::m_tree_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::root_node_, pcl::PCLBase< pcl::PCLPointCloud2 >::setIndices(), pcl::PCLBase< pcl::PCLPointCloud2 >::setInputCloud(), pcl::FilterIndices< pcl::PCLPointCloud2 >::setNegative(), pcl::RandomSample< pcl::PCLPointCloud2 >::setSample(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::size(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sortOctantIndices().
Referenced by pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::addPointCloud_and_genLOD(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getMetadataFilename().
|
inlinevirtual |
Definition at line 302 of file octree_base_node.h.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataAtMaxDepth(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::countNumChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::countNumLoadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::createChild(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::inBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::init_root_node(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::intersectsWithBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::operator=(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::pointInBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::randomSample(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::recFreeChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::saveIdx(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::saveMetadataToFile(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::subdividePoint(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::subdividePoints().
|
protected |
Recursively converts data files to ascii XZY files.
Definition at line 1974 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::size().
|
protected |
Copies points from this and all children into a single point container (std::list)
Definition at line 1782 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::size().
|
protected |
Definition at line 1806 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::size().
|
protectedvirtual |
Counts the number of child directories on disk; used to update num_children_.
Definition at line 268 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getNumChildren(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode().
|
protectedvirtual |
Counts the number of loaded chilren by testing the children_
array; used to update num_loaded_chilren_ internally.
Definition at line 1940 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getNumLoadedChildren().
|
protected |
Creates child node idx
.
[in] | idx | Index (0-7) of the child node |
Definition at line 878 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData().
|
inlinevirtual |
Pure virtual method to perform a deep copy of the octree.
Implements pcl::octree::OctreeNode.
Definition at line 264 of file octree_base_node.h.
|
protected |
Enlarges the shortest two sidelengths of the bounding box to a cubic shape; operation is done in place.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::size().
|
protected |
Definition at line 1995 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::size(), and pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::~OutofcoreOctreeBase().
|
inlinevirtual |
gets the minimum and maximum corner of the bounding box represented by this node
[out] | min_bb | returns the minimum corner of the bounding box indexed by 0–>X, 1–>Y, 2–>Z |
[out] | max_bb | returns the maximum corner of the bounding box indexed by 0–>X, 1–>Y, 2–>Z |
Definition at line 137 of file octree_base_node.h.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_.
Referenced by pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::buildLOD(), and pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::getBoundingBox().
|
virtual |
Returns a pointer to the child in octant index_arg.
Definition at line 1924 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_.
Referenced by pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::getBranchChildPtr(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getNumLoadedChildren().
|
virtual |
Gets the number of points available in the PCD file.
Definition at line 1932 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getNumLoadedChildren(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryFrustum().
|
inlinevirtual |
Definition at line 272 of file octree_base_node.h.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_.
Referenced by pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::buildLODRecursive(), pcl::outofcore::OutofcoreBreadthFirstIterator< PointT, ContainerT >::operator++(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode().
|
inline |
Definition at line 150 of file octree_base_node.h.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::printBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIntersects(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryFrustum(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::read(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::writeVPythonVisual().
|
inlinevirtual |
Pure virtual method for receiving the type of octree node (branch or leaf)
Implements pcl::octree::OctreeNode.
Definition at line 250 of file octree_base_node.h.
References pcl::octree::BRANCH_NODE, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getNumChildren(), and pcl::octree::LEAF_NODE.
Referenced by pcl::outofcore::OutofcoreDepthFirstIterator< PointT, ContainerT >::operator++(), and pcl::outofcore::OutofcoreBreadthFirstIterator< PointT, ContainerT >::operator++().
|
inlinevirtual |
Returns the total number of children on disk.
Definition at line 279 of file octree_base_node.h.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::countNumChildren().
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getNodeType(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIntersects(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryFrustum().
|
inlinevirtual |
Count loaded chilren.
Definition at line 287 of file octree_base_node.h.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::countNumLoadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getChildPtr(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getDataSize().
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren().
|
protected |
Gets a vector of occupied voxel centers.
[out] | voxel_centers | |
[in] | query_depth |
Definition at line 986 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_.
Referenced by pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::getOccupiedVoxelCenters(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::size().
|
protected |
Gets a vector of occupied voxel centers.
[out] | voxel_centers | |
[in] | query_depth |
Definition at line 1330 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_.
|
inline |
Definition at line 144 of file octree_base_node.h.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_.
|
protected |
Returns whether or not a node has unloaded children data.
Definition at line 301 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getNumChildren(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getNumLoadedChildren().
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::convertToXYZRecursive(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::copyAllCurrentAndChildPointsRec(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::copyAllCurrentAndChildPointsRec_sub(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIntersects(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryFrustum(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::size().
|
inlineprotected |
Tests whether the input bounding box falls inclusively within this node's bounding box.
[in] | min_bb | The minimum corner of the input bounding box |
[in] | max_bb | The maximum corner of the input bounding box |
Definition at line 1853 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample().
|
protected |
Create root node and directory.
Initializes the root node and performs initial filesystem checks for the octree; throws OctreeException::OCT_BAD_PATH if root directory is an existing file
bb_min | triple of x,y,z minima for bounding box |
bb_max | triple of x,y,z maxima for bounding box |
tree | adress of the tree data structure that will hold this initial root node |
rootname | Root directory for location of on-disk octree storage; if directory doesn't exist, it is created; if "rootname" is an existing file, |
PCLException | if the specified path already exists |
Definition at line 202 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeDiskContainer< PointT >::getRandomUUIDString(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::m_tree_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_container_basename, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::parent_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::pcd_extension, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::root_node_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode().
|
inlineprotected |
Tests whether the input bounding box intersects with the current node's bounding box.
[in] | min_bb | The minimum corner of the input bounding box |
[in] | max_bb | The maximum corner of the input bounding box |
Definition at line 1831 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIntersects(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sortOctantIndices().
|
protectedvirtual |
Load nodes child data creating new nodes for each.
Definition at line 311 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getNumChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_loaded_children_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::convertToXYZRecursive(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::copyAllCurrentAndChildPointsRec(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::copyAllCurrentAndChildPointsRec_sub(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIntersects(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryFrustum(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::size().
|
protected |
Loads the nodes metadata from the JSON file.
Definition at line 1956 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::parent_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::recFreeChildren().
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::size().
|
protected |
Operator= is not implemented.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData().
|
protected |
Tests whether point
falls within the input bounding box.
[in] | min_bb | The minimum corner of the input bounding box |
[in] | max_bb | The maximum corner of the input bounding box |
[in] | point | The test point |
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataAtMaxDepth(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::randomSample(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sortOctantIndices(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::subdividePoints().
|
inlinestaticprotected |
Tests whether p
falls within the input bounding box.
[in] | min_bb | The minimum corner of the input bounding box |
[in] | max_bb | The maximum corner of the input bounding box |
[in] | p | The point to be tested |
Definition at line 1875 of file octree_base_node.hpp.
|
staticprotected |
Tests whether x
, y
, and z
fall within the input bounding box.
[in] | min_bb | The minimum corner of the input bounding box |
[in] | max_bb | The maximum corner of the input bounding box |
x | ||
y | ||
z |
|
inlineprotected |
Tests if specified point is within bounds of current node's bounding box.
Definition at line 941 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_.
|
virtual |
Write the voxel size to stdout at query_depth
.
[in] | query_depth | The depth at which to print the size of the voxel/bounding boxes |
Definition at line 958 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getMetadataFilename(), and pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::printBoundingBox().
|
virtual |
Recursively add points that fall into the queried bounding box up to the query_depth.
[in] | min_bb | the minimum corner of the bounding box, indexed by X,Y,Z coordinates |
[in] | max_bb | the maximum corner of the bounding box, indexed by X,Y,Z coordinates |
[in] | query_depth | the maximum depth to query in the octree for points within the bounding box |
[out] | dst | destion of points returned by the queries |
Definition at line 1517 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getNumChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::inBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::intersectsWithBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::pointInBoundingBox().
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getMetadataFilename(), pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::queryBBIncludes(), and pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::queryBoundingBox().
|
virtual |
Recursively add points that fall into the queried bounding box up to the query_depth.
[in] | min_bb | the minimum corner of the bounding box, indexed by X,Y,Z coordinates |
[in] | max_bb | the maximum corner of the bounding box, indexed by X,Y,Z coordinates |
[in] | query_depth | the maximum depth to query in the octree for points within the bounding box |
[out] | dst_blob | destion of points returned by the queries |
Definition at line 1393 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::concatenatePointCloud(), pcl::copyPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::fromPCLPointCloud2(), pcl::getPointsInBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::PointCloud< PointT >::height, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::inBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::intersectsWithBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, and pcl::PointCloud< PointT >::width.
|
virtual |
Recursively add points that fall into the queried bounding box up to the query_depth.
[in] | min_bb | the minimum corner of the bounding box, indexed by X,Y,Z coordinates |
[in] | max_bb | the maximum corner of the bounding box, indexed by X,Y,Z coordinates |
[in] | query_depth | |
percent | ||
[out] | v | std::list of points returned by the query |
Definition at line 1658 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::inBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::intersectsWithBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::pointInBoundingBox().
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getMetadataFilename(), pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::queryBBIncludes_subsample(), and pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::queryBoundingBox().
|
virtual |
Definition at line 1591 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::concatenatePointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::FilterIndices< pcl::PCLPointCloud2 >::filter(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getNumChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::inBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::intersectsWithBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, pcl::PCLBase< pcl::PCLPointCloud2 >::setIndices(), pcl::PCLBase< pcl::PCLPointCloud2 >::setInputCloud(), and pcl::RandomSample< pcl::PCLPointCloud2 >::setSample().
|
virtual |
Recursive acquires PCD paths to any node with which the queried bounding box intersects (at query_depth only).
Definition at line 1353 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getNumChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::intersectsWithBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getMetadataFilename(), and pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::queryBBIntersects().
void pcl::outofcore::OutofcoreOctreeBaseNode< Container, PointT >::queryFrustum | ( | const double | planes[24], |
std::list< std::string > & | file_names | ||
) |
Definition at line 1063 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::m_tree_.
Referenced by pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::addDataToLeaf_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getMetadataFilename(), and pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::queryFrustum().
void pcl::outofcore::OutofcoreOctreeBaseNode< Container, PointT >::queryFrustum | ( | const double | planes[24], |
std::list< std::string > & | file_names, | ||
const boost::uint32_t | query_depth, | ||
const bool | skip_vfc_check = false |
||
) |
Definition at line 1069 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getNumChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_.
void pcl::outofcore::OutofcoreOctreeBaseNode< Container, PointT >::queryFrustum | ( | const double | planes[24], |
const Eigen::Vector3d & | eye, | ||
const Eigen::Matrix4d & | view_projection_matrix, | ||
std::list< std::string > & | file_names, | ||
const boost::uint32_t | query_depth, | ||
const bool | skip_vfc_check = false |
||
) |
Definition at line 1218 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getDataSize(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getNumChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, and pcl::visualization::viewScreenArea().
|
protected |
Randomly sample point data.
Definition at line 572 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::m_tree_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::pointInBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::rand_gen_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::rng_mutex_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::root_node_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sample_percent_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf_and_genLOD(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData().
|
virtual |
Definition at line 1916 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getMetadataFilename().
|
protected |
Method which recursively free children of this node.
Definition at line 335 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadFromFile(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::~OutofcoreOctreeBaseNode().
|
protected |
Save node's metadata to file.
[in] | recursive | if false, save only this node's metadata to file; if true, recursively save all children's metadata to files as well |
Definition at line 284 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode().
|
protected |
Write JSON metadata for this node to file.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData().
|
inlineprotected |
Number of points in the payload.
Definition at line 467 of file octree_base_node.h.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::convertToXYZRecursive(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::copyAllCurrentAndChildPointsRec(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::copyAllCurrentAndChildPointsRec_sub(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::enlargeToCube(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::flushToDiskRecursive(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getOccupiedVoxelCentersRecursive(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::hasUnloadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadFromFile(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sortOctantIndices().
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), and pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::DeAllocEmptyNodeCache().
|
protected |
Sorts the indices based on x,y,z fields and pushes the index into the proper octant's vector; This could be overloaded with a parallelized implementation.
Definition at line 2007 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::depth_, pcl::getFieldIndex(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::intersectsWithBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::makenode_norec, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::parent_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::payload_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::pointInBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIntersects_noload, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::root_node_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::size().
|
protected |
Subdivide a single point into a specific child node.
Definition at line 710 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::subdividePoints().
|
protected |
Subdivide points to pass to child nodes.
Definition at line 688 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::pointInBoundingBox(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::subdividePoint().
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf_and_genLOD(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData().
void pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::writeVPythonVisual | ( | std::ofstream & | file | ) |
Write a python visual script to file.
[in] | file | output file stream to write the python visual script |
Definition at line 1895 of file octree_base_node.hpp.
References pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::children_, pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::node_metadata_, and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::num_children_.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getMetadataFilename(), and pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::writeVPythonVisual().
|
friend |
Non-class function which creates a single child leaf; used with queryBBIntersects_noload to avoid loading the data from disk.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sortOctantIndices().
|
friend |
Definition at line 94 of file octree_base_node.h.
|
friend |
Non-class method which performs a bounding box query without loading any of the point cloud data from disk.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sortOctantIndices().
|
friend |
Non-class method overload.
|
protected |
The children of this node.
Definition at line 542 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::convertToXYZRecursive(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::copyAllCurrentAndChildPointsRec(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::copyAllCurrentAndChildPointsRec_sub(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::countNumLoadedChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::createChild(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::flushToDiskRecursive(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getChildPtr(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getOccupiedVoxelCentersRecursive(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::printBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIntersects(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryFrustum(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::recFreeChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::saveIdx(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sortOctantIndices(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::writeVPythonVisual().
|
protected |
Depth in the tree, root is 0, root's children are 1, ...
Definition at line 540 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataAtMaxDepth(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getDepth(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getOccupiedVoxelCentersRecursive(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::init_root_node(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::printBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIntersects(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryFrustum(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::randomSample(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sortOctantIndices().
|
protected |
The tree we belong to.
Definition at line 534 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataAtMaxDepth(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::init(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::init_root_node(), pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::OutofcoreOctreeBase(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryFrustum(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::randomSample().
|
static |
Definition at line 115 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::init_root_node(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode().
|
static |
Definition at line 117 of file octree_base_node.h.
|
static |
Definition at line 114 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode().
|
static |
Definition at line 116 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode().
|
protected |
Definition at line 572 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::convertToXYZRecursive(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::countNumChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::createChild(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getMetadataFilename(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getOccupiedVoxelCentersRecursive(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getPCDFilename(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::inBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::init_root_node(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::intersectsWithBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadFromFile(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::pointInBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::printBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIntersects(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryFrustum(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::saveIdx(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::subdividePoint(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::writeVPythonVisual().
|
protected |
Number of children on disk.
This is only changed when a new node is created
Definition at line 545 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::copyAllCurrentAndChildPointsRec(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::copyAllCurrentAndChildPointsRec_sub(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::createChild(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getOccupiedVoxelCentersRecursive(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::init_root_node(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadFromFile(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::printBoundingBox(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::recFreeChildren(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sortOctantIndices(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::writeVPythonVisual().
|
protected |
Number of loaded children this node has.
"Loaded" means child OctreeBaseNodes have been allocated, and their metadata files have been loaded into memory. num_loaded_children_ <= num_children_
Definition at line 553 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadChildren().
|
protected |
super-node
Definition at line 538 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::init_root_node(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadFromFile(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sortOctantIndices().
|
protected |
what holds the points.
currently a custom class, but in theory you could use an stl container if you rewrote some of this class. I used to use deques for this...
Definition at line 558 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataAtMaxDepth(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::buildLODRecursive(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::clearData(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::convertToXYZRecursive(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::copyAllCurrentAndChildPointsRec(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::copyAllCurrentAndChildPointsRec_sub(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::getDataSize(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::init_root_node(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::loadFromFile(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIntersects(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryFrustum(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::read(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::size(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sortOctantIndices().
|
staticprotected |
Extension for this class to find the pcd files on disk.
Definition at line 570 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::init_root_node(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode().
|
staticprotected |
Mersenne Twister: A 623-dimensionally equidistributed uniform pseudo-random number generator.
Definition at line 565 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::randomSample().
|
staticprotected |
Random number generator mutex.
Definition at line 561 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::randomSample().
|
staticprotected |
Random number generator seed.
Definition at line 568 of file octree_base_node.h.
|
protected |
The root node of the tree we belong to.
Definition at line 536 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataAtMaxDepth(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addDataToLeaf_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::init_root_node(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::OutofcoreOctreeBaseNode(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::randomSample(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sortOctantIndices().
|
static |
Definition at line 118 of file octree_base_node.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::randomSample().