39 #ifndef PCL_OUTOFCORE_OCTREE_NODE_METADATA_H_
40 #define PCL_OUTOFCORE_OCTREE_NODE_METADATA_H_
42 #include <pcl/pcl_macros.h>
43 #include <pcl/outofcore/boost.h>
44 #include <pcl/outofcore/cJSON.h>
46 #include <pcl/common/eigen.h>
88 typedef boost::shared_ptr<OutofcoreOctreeNodeMetadata>
Ptr;
89 typedef boost::shared_ptr<const OutofcoreOctreeNodeMetadata>
ConstPtr;
99 const Eigen::Vector3d&
100 getBoundingBoxMin ()
const;
103 setBoundingBoxMin (
const Eigen::Vector3d& min_bb);
105 const Eigen::Vector3d&
106 getBoundingBoxMax ()
const;
109 setBoundingBoxMax (
const Eigen::Vector3d& max_bb);
113 getBoundingBox (Eigen::Vector3d &min_bb, Eigen::Vector3d &max_bb)
const;
116 setBoundingBox (
const Eigen::Vector3d& min_bb,
const Eigen::Vector3d& max_bb);
119 const boost::filesystem::path&
120 getDirectoryPathname ()
const;
123 setDirectoryPathname (
const boost::filesystem::path& directory_pathname);
126 const boost::filesystem::path&
127 getPCDFilename ()
const;
130 setPCDFilename (
const boost::filesystem::path& point_filename);
134 getOutofcoreVersion ()
const;
137 setOutofcoreVersion (
const int version);
140 const boost::filesystem::path&
141 getMetadataFilename ()
const;
144 setMetadataFilename (
const boost::filesystem::path& path_to_metadata);
147 const Eigen::Vector3d&
148 getVoxelCenter ()
const;
152 serializeMetadataToDisk ();
156 loadMetadataFromDisk ();
159 loadMetadataFromDisk (
const boost::filesystem::path& path_to_metadata);
184 midpoint_xyz_ = (this->max_bb_ + this->min_bb_)/static_cast<double>(2.0);
190 #endif // PCL_OUTOFCORE_OCTREE_NODE_METADATA_H_
boost::shared_ptr< OutofcoreOctreeNodeMetadata > Ptr
boost::filesystem::path directory_
Directory this metadata belongs in.
boost::filesystem::path binary_point_filename_
Path to PCD file (i.e.
Eigen::Vector3d max_bb_
The X,Y,Z axes-aligned maximum corner for the bounding box.
int outofcore_version_
Outofcore library version identifier.
Eigen::Vector3d min_bb_
The X,Y,Z axes-aligned minimum corner for the bounding box.
boost::shared_ptr< const OutofcoreOctreeNodeMetadata > ConstPtr
boost::filesystem::path metadata_filename_
Metadata (JSON) file pathname (oct_idx extension JSON file)
std::ostream & operator<<(std::ostream &os, const BivariatePolynomialT< real > &p)
void updateVoxelCenter()
Computes the midpoint; used when bounding box is changed.
Encapsulated class to read JSON metadata into memory, and write the JSON metadata for each node...
Eigen::Vector3d midpoint_xyz_
Voxel center; not stored on disk.