40 #ifndef PCL_OUTOFCORE_OCTREE_BASE_NODE_H_
41 #define PCL_OUTOFCORE_OCTREE_BASE_NODE_H_
43 #include <pcl/common/io.h>
44 #include <pcl/PCLPointCloud2.h>
46 #include <pcl/outofcore/boost.h>
47 #include <pcl/outofcore/octree_base.h>
48 #include <pcl/outofcore/octree_disk_container.h>
49 #include <pcl/outofcore/outofcore_node_data.h>
51 #include <pcl/octree/octree_nodes.h>
58 template<
typename ContainerT,
typename Po
intT>
61 template<
typename ContainerT,
typename Po
intT>
69 template<
typename ContainerT,
typename Po
intT>
void
70 queryBBIntersects_noload (
const boost::filesystem::path &root_node,
const Eigen::Vector3d &min,
const Eigen::Vector3d &max,
const boost::uint32_t query_depth, std::list<std::string> &bin_name);
73 template<
typename ContainerT,
typename Po
intT>
void
91 template<
typename ContainerT = OutofcoreOctreeDiskContainer<pcl::Po
intXYZ>,
typename Po
intT = pcl::Po
intXYZ>
101 queryBBIntersects_noload<ContainerT, PointT> (
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);
104 queryBBIntersects_noload<ContainerT, PointT> (
OutofcoreOctreeBaseNode<ContainerT, PointT>* current,
const Eigen::Vector3d &min,
const Eigen::Vector3d &max,
const boost::uint32_t query_depth, std::list<std::string> &bin_name);
143 const boost::filesystem::path&
149 const boost::filesystem::path&
156 queryFrustum (
const double planes[24], std::list<std::string>& file_names);
159 queryFrustum (
const double planes[24], std::list<std::string>& file_names,
const boost::uint32_t query_depth,
const bool skip_vfc_check =
false);
162 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);
201 queryBBIntersects (
const Eigen::Vector3d &min_bb,
const Eigen::Vector3d &max_bb,
const boost::uint32_t query_depth, std::list<std::string> &file_names);
213 virtual boost::uint64_t
216 virtual boost::uint64_t
217 addDataToLeaf (
const std::vector<const PointT*> &p,
const bool skip_bb_check =
true);
224 virtual boost::uint64_t
228 virtual boost::uint64_t
236 virtual boost::uint64_t
266 PCL_THROW_EXCEPTION (
PCLException,
"Not implemented\n");
270 virtual inline size_t
297 virtual boost::uint64_t
417 inBoundingBox (
const Eigen::Vector3d &min_bb,
const Eigen::Vector3d &max_bb)
const;
425 pointInBoundingBox (
const Eigen::Vector3d &min_bb,
const Eigen::Vector3d &max_bb,
const Eigen::Vector3d &point);
440 pointInBoundingBox (
const Eigen::Vector3d &min_bb,
const Eigen::Vector3d &max_bb,
const double x,
const double y,
const double z);
462 inline boost::uint64_t
527 enlargeToCube (Eigen::Vector3d &bb_min, Eigen::Vector3d &bb_max);
564 const static boost::uint32_t
rngseed = 0xAABBCCDD;
573 #endif //PCL_OUTOFCORE_OCTREE_BASE_NODE_H_