Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT > Class Template Reference

Octree pointcloud compression class More...

#include <pcl/compression/octree_pointcloud_compression.h>

+ Inheritance diagram for pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >:
+ Collaboration diagram for pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >:

Public Types

using PointCloud = typename OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::PointCloud
 
using PointCloudPtr = typename OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::PointCloudPtr
 
using PointCloudConstPtr = typename OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::PointCloudConstPtr
 
using Ptr = shared_ptr< OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT > >
 
using ConstPtr = shared_ptr< const OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT > >
 
using LeafNode = typename OctreeT::LeafNode
 
using BranchNode = typename OctreeT::BranchNode
 
using RealTimeStreamCompression = OctreePointCloudCompression< PointT, LeafT, BranchT, Octree2BufBase< LeafT, BranchT > >
 
using SinglePointCloudCompressionLowMemory = OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeBase< LeafT, BranchT > >
 
- Public Types inherited from pcl::octree::OctreePointCloud< PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase< OctreeContainerPointIndices, OctreeContainerEmpty > >
using Base = Octree2BufBase< OctreeContainerPointIndices, OctreeContainerEmpty >
 
using LeafNode = typename OctreeT::LeafNode
 
using BranchNode = typename OctreeT::BranchNode
 
using IndicesPtr = shared_ptr< Indices >
 
using IndicesConstPtr = shared_ptr< const Indices >
 
using PointCloud = pcl::PointCloud< PointT >
 
using PointCloudPtr = typename PointCloud::Ptr
 
using PointCloudConstPtr = typename PointCloud::ConstPtr
 
using SingleBuffer = OctreePointCloud< PointT, OctreeContainerPointIndices, OctreeContainerEmpty, OctreeBase< OctreeContainerPointIndices > >
 
using Ptr = shared_ptr< OctreePointCloud< PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase< OctreeContainerPointIndices, OctreeContainerEmpty > > >
 
using ConstPtr = shared_ptr< const OctreePointCloud< PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase< OctreeContainerPointIndices, OctreeContainerEmpty > > >
 
using AlignedPointTVector = std::vector< PointT, Eigen::aligned_allocator< PointT > >
 
using AlignedPointXYZVector = std::vector< PointXYZ, Eigen::aligned_allocator< PointXYZ > >
 
- Public Types inherited from pcl::octree::Octree2BufBase< LeafContainerT, BranchContainerT >
using OctreeT = Octree2BufBase< LeafContainerT, BranchContainerT >
 
using BranchNode = BufferedBranchNode< BranchContainerT >
 
using LeafNode = OctreeLeafNode< LeafContainerT >
 
using BranchContainer = BranchContainerT
 
using LeafContainer = LeafContainerT
 
using Iterator = OctreeDepthFirstIterator< OctreeT >
 
using ConstIterator = const OctreeDepthFirstIterator< OctreeT >
 
using LeafNodeIterator = OctreeLeafNodeDepthFirstIterator< OctreeT >
 
using ConstLeafNodeIterator = const OctreeLeafNodeDepthFirstIterator< OctreeT >
 
using LeafNodeDepthFirstIterator = OctreeLeafNodeDepthFirstIterator< OctreeT >
 
using ConstLeafNodeDepthFirstIterator = const OctreeLeafNodeDepthFirstIterator< OctreeT >
 
using DepthFirstIterator = OctreeDepthFirstIterator< OctreeT >
 
using ConstDepthFirstIterator = const OctreeDepthFirstIterator< OctreeT >
 
using BreadthFirstIterator = OctreeBreadthFirstIterator< OctreeT >
 
using ConstBreadthFirstIterator = const OctreeBreadthFirstIterator< OctreeT >
 
using LeafNodeBreadthIterator = OctreeLeafNodeBreadthFirstIterator< OctreeT >
 
using ConstLeafNodeBreadthIterator = const OctreeLeafNodeBreadthFirstIterator< OctreeT >
 

Public Member Functions

 OctreePointCloudCompression (compression_Profiles_e compressionProfile_arg=MED_RES_ONLINE_COMPRESSION_WITH_COLOR, bool showStatistics_arg=false, const double pointResolution_arg=0.001, const double octreeResolution_arg=0.01, bool doVoxelGridDownDownSampling_arg=false, const unsigned int iFrameRate_arg=30, bool doColorEncoding_arg=true, const unsigned char colorBitResolution_arg=6)
 Constructor. More...
 
 ~OctreePointCloudCompression () override=default
 Empty deconstructor. More...
 
void initialization ()
 Initialize globals. More...
 
void addPointIdx (const uindex_t pointIdx_arg) override
 Add point at index from input pointcloud dataset to octree. More...
 
void setOutputCloud (const PointCloudPtr &cloud_arg)
 Provide a pointer to the output data set. More...
 
PointCloudPtr getOutputCloud () const
 Get a pointer to the output point cloud dataset. More...
 
void encodePointCloud (const PointCloudConstPtr &cloud_arg, std::ostream &compressed_tree_data_out_arg)
 Encode point cloud to output stream. More...
 
void decodePointCloud (std::istream &compressed_tree_data_in_arg, PointCloudPtr &cloud_arg)
 Decode point cloud from input stream. More...
 
- Public Member Functions inherited from pcl::octree::OctreePointCloud< PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase< OctreeContainerPointIndices, OctreeContainerEmpty > >
 OctreePointCloud (const double resolution_arg)
 Octree pointcloud constructor. More...
 
void setInputCloud (const PointCloudConstPtr &cloud_arg, const IndicesConstPtr &indices_arg=IndicesConstPtr())
 Provide a pointer to the input data set. More...
 
IndicesConstPtr const getIndices () const
 Get a pointer to the vector of indices used. More...
 
PointCloudConstPtr getInputCloud () const
 Get a pointer to the input point cloud dataset. More...
 
void setEpsilon (double eps)
 Set the search epsilon precision (error bound) for nearest neighbors searches. More...
 
double getEpsilon () const
 Get the search epsilon precision (error bound) for nearest neighbors searches. More...
 
void setResolution (double resolution_arg)
 Set/change the octree voxel resolution. More...
 
double getResolution () const
 Get octree voxel resolution. More...
 
uindex_t getTreeDepth () const
 Get the maximum depth of the octree. More...
 
void addPointsFromInputCloud ()
 Add points from input point cloud to octree. More...
 
void addPointFromCloud (uindex_t point_idx_arg, IndicesPtr indices_arg)
 Add point at given index from input point cloud to octree. More...
 
void addPointToCloud (const PointT &point_arg, PointCloudPtr cloud_arg)
 Add point simultaneously to octree and input point cloud. More...
 
void addPointToCloud (const PointT &point_arg, PointCloudPtr cloud_arg, IndicesPtr indices_arg)
 Add point simultaneously to octree and input point cloud. More...
 
bool isVoxelOccupiedAtPoint (const PointT &point_arg) const
 Check if voxel at given point exist. More...
 
bool isVoxelOccupiedAtPoint (const double point_x_arg, const double point_y_arg, const double point_z_arg) const
 Check if voxel at given point coordinates exist. More...
 
bool isVoxelOccupiedAtPoint (const index_t &point_idx_arg) const
 Check if voxel at given point from input cloud exist. More...
 
void deleteTree ()
 Delete the octree structure and its leaf nodes. More...
 
uindex_t getOccupiedVoxelCenters (AlignedPointTVector &voxel_center_list_arg) const
 Get a PointT vector of centers of all occupied voxels. More...
 
uindex_t getApproxIntersectedVoxelCentersBySegment (const Eigen::Vector3f &origin, const Eigen::Vector3f &end, AlignedPointTVector &voxel_center_list, float precision=0.2)
 Get a PointT vector of centers of voxels intersected by a line segment. More...
 
void deleteVoxelAtPoint (const PointT &point_arg)
 Delete leaf node / voxel at given point. More...
 
void deleteVoxelAtPoint (const index_t &point_idx_arg)
 Delete leaf node / voxel at given point from input cloud. More...
 
void defineBoundingBox ()
 Investigate dimensions of pointcloud data set and define corresponding bounding box for octree. More...
 
void defineBoundingBox (const double min_x_arg, const double min_y_arg, const double min_z_arg, const double max_x_arg, const double max_y_arg, const double max_z_arg)
 Define bounding box for octree. More...
 
void defineBoundingBox (const double max_x_arg, const double max_y_arg, const double max_z_arg)
 Define bounding box for octree. More...
 
void defineBoundingBox (const double cubeLen_arg)
 Define bounding box cube for octree. More...
 
void getBoundingBox (double &min_x_arg, double &min_y_arg, double &min_z_arg, double &max_x_arg, double &max_y_arg, double &max_z_arg) const
 Get bounding box for octree. More...
 
double getVoxelSquaredDiameter (uindex_t tree_depth_arg) const
 Calculates the squared diameter of a voxel at given tree depth. More...
 
double getVoxelSquaredDiameter () const
 Calculates the squared diameter of a voxel at leaf depth. More...
 
double getVoxelSquaredSideLen (uindex_t tree_depth_arg) const
 Calculates the squared voxel cube side length at given tree depth. More...
 
double getVoxelSquaredSideLen () const
 Calculates the squared voxel cube side length at leaf level. More...
 
void getVoxelBounds (const OctreeIteratorBase< Octree2BufBase< OctreeContainerPointIndices, OctreeContainerEmpty > > &iterator, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const
 Generate bounds of the current voxel of an octree iterator. More...
 
void enableDynamicDepth (std::size_t maxObjsPerLeaf)
 Enable dynamic octree structure. More...
 
- Public Member Functions inherited from pcl::octree::Octree2BufBase< LeafContainerT, BranchContainerT >
Iterator begin (uindex_t max_depth_arg=0)
 
const Iterator end ()
 
LeafNodeDepthFirstIterator leaf_depth_begin (uindex_t max_depth_arg=0)
 
const LeafNodeDepthFirstIterator leaf_depth_end ()
 
DepthFirstIterator depth_begin (uindex_t maxDepth_arg=0)
 
const DepthFirstIterator depth_end ()
 
BreadthFirstIterator breadth_begin (uindex_t max_depth_arg=0)
 
const BreadthFirstIterator breadth_end ()
 
LeafNodeBreadthIterator leaf_breadth_begin (uindex_t max_depth_arg=0u)
 
const LeafNodeBreadthIterator leaf_breadth_end ()
 
 Octree2BufBase ()
 Empty constructor. More...
 
virtual ~Octree2BufBase ()
 Empty deconstructor. More...
 
 Octree2BufBase (const Octree2BufBase &source)
 Copy constructor. More...
 
Octree2BufBaseoperator= (const Octree2BufBase &source)
 Copy constructor. More...
 
void setMaxVoxelIndex (uindex_t max_voxel_index_arg)
 Set the maximum amount of voxels per dimension. More...
 
void setTreeDepth (uindex_t depth_arg)
 Set the maximum depth of the octree. More...
 
uindex_t getTreeDepth () const
 Get the maximum depth of the octree. More...
 
LeafContainerT * createLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg)
 Create new leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More...
 
LeafContainerT * findLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg)
 Find leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More...
 
bool existLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg) const
 Check for the existence of leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More...
 
void removeLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg)
 Remove leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More...
 
std::size_t getLeafCount () const
 Return the amount of existing leafs in the octree. More...
 
std::size_t getBranchCount () const
 Return the amount of existing branches in the octree. More...
 
void deleteTree ()
 Delete the octree structure and its leaf nodes. More...
 
void deletePreviousBuffer ()
 Delete octree structure of previous buffer. More...
 
void deleteCurrentBuffer ()
 Delete the octree structure in the current buffer. More...
 
void switchBuffers ()
 Switch buffers and reset current octree structure. More...
 
void serializeTree (std::vector< char > &binary_tree_out_arg, bool do_XOR_encoding_arg=false)
 Serialize octree into a binary output vector describing its branch node structure. More...
 
void serializeTree (std::vector< char > &binary_tree_out_arg, std::vector< LeafContainerT * > &leaf_container_vector_arg, bool do_XOR_encoding_arg=false)
 Serialize octree into a binary output vector describing its branch node structure and and push all DataT elements stored in the octree to a vector. More...
 
void serializeLeafs (std::vector< LeafContainerT * > &leaf_container_vector_arg)
 Outputs a vector of all DataT elements that are stored within the octree leaf nodes. More...
 
void serializeNewLeafs (std::vector< LeafContainerT * > &leaf_container_vector_arg)
 Outputs a vector of all DataT elements from leaf nodes, that do not exist in the previous octree buffer. More...
 
void deserializeTree (std::vector< char > &binary_tree_in_arg, bool do_XOR_decoding_arg=false)
 Deserialize a binary octree description vector and create a corresponding octree structure. More...
 
void deserializeTree (std::vector< char > &binary_tree_in_arg, std::vector< LeafContainerT * > &leaf_container_vector_arg, bool do_XOR_decoding_arg=false)
 Deserialize a binary octree description and create a corresponding octree structure. More...
 

Protected Member Functions

void writeFrameHeader (std::ostream &compressed_tree_data_out_arg)
 Write frame information to output stream. More...
 
void readFrameHeader (std::istream &compressed_tree_data_in_arg)
 Read frame information to output stream. More...
 
void syncToHeader (std::istream &compressed_tree_data_in_arg)
 Synchronize to frame header. More...
 
void entropyEncoding (std::ostream &compressed_tree_data_out_arg)
 Apply entropy encoding to encoded information and output to binary stream. More...
 
void entropyDecoding (std::istream &compressed_tree_data_in_arg)
 Entropy decoding of input binary stream and output to information vectors. More...
 
void serializeTreeCallback (LeafT &leaf_arg, const OctreeKey &key_arg) override
 Encode leaf node information during serialization. More...
 
void deserializeTreeCallback (LeafT &, const OctreeKey &key_arg) override
 Decode leaf nodes information during deserialization. More...
 
- Protected Member Functions inherited from pcl::octree::OctreePointCloud< PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase< OctreeContainerPointIndices, OctreeContainerEmpty > >
void expandLeafNode (LeafNode *leaf_node, BranchNode *parent_branch, unsigned char child_idx, uindex_t depth_mask)
 Add point at index from input pointcloud dataset to octree. More...
 
const PointTgetPointByIndex (uindex_t index_arg) const
 Get point at index from input pointcloud dataset. More...
 
OctreeContainerPointIndicesfindLeafAtPoint (const PointT &point_arg) const
 Find octree leaf node at a given point. More...
 
void getKeyBitSize ()
 Define octree key setting and octree depth based on defined bounding box. More...
 
void adoptBoundingBoxToPoint (const PointT &point_idx_arg)
 Grow the bounding box/octree until point fits. More...
 
bool isPointWithinBoundingBox (const PointT &point_idx_arg) const
 Checks if given point is within the bounding box of the octree. More...
 
void genOctreeKeyforPoint (const PointT &point_arg, OctreeKey &key_arg) const
 Generate octree key for voxel at a given point. More...
 
void genOctreeKeyforPoint (const double point_x_arg, const double point_y_arg, const double point_z_arg, OctreeKey &key_arg) const
 Generate octree key for voxel at a given point. More...
 
virtual bool genOctreeKeyForDataT (const index_t &data_arg, OctreeKey &key_arg) const
 Virtual method for generating octree key for a given point index. More...
 
void genLeafNodeCenterFromOctreeKey (const OctreeKey &key_arg, PointT &point_arg) const
 Generate a point at center of leaf node voxel. More...
 
void genVoxelCenterFromOctreeKey (const OctreeKey &key_arg, uindex_t tree_depth_arg, PointT &point_arg) const
 Generate a point at center of octree voxel at given tree level. More...
 
void genVoxelBoundsFromOctreeKey (const OctreeKey &key_arg, uindex_t tree_depth_arg, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const
 Generate bounds of an octree voxel using octree key and tree depth arguments. More...
 
uindex_t getOccupiedVoxelCentersRecursive (const BranchNode *node_arg, const OctreeKey &key_arg, AlignedPointTVector &voxel_center_list_arg) const
 Recursively search the tree for all leaf nodes and return a vector of voxel centers. More...
 
- Protected Member Functions inherited from pcl::octree::Octree2BufBase< LeafContainerT, BranchContainerT >
OctreeNodegetRootNode () const
 Retrieve root node. More...
 
LeafContainerT * findLeaf (const OctreeKey &key_arg) const
 Find leaf node. More...
 
LeafContainerT * createLeaf (const OctreeKey &key_arg)
 Create a leaf node. More...
 
bool existLeaf (const OctreeKey &key_arg) const
 Check if leaf doesn't exist in the octree. More...
 
void removeLeaf (const OctreeKey &key_arg)
 Remove leaf node from octree. More...
 
bool branchHasChild (const BranchNode &branch_arg, unsigned char child_idx_arg) const
 Check if branch is pointing to a particular child node. More...
 
OctreeNodegetBranchChildPtr (const BranchNode &branch_arg, unsigned char child_idx_arg) const
 Retrieve a child node pointer for child node at child_idx. More...
 
void setBranchChildPtr (BranchNode &branch_arg, unsigned char child_idx_arg, OctreeNode *new_child_arg)
 Assign new child node to branch. More...
 
char getBranchBitPattern (const BranchNode &branch_arg) const
 Generate bit pattern reflecting the existence of child node pointers for current buffer. More...
 
char getBranchBitPattern (const BranchNode &branch_arg, unsigned char bufferSelector_arg) const
 Generate bit pattern reflecting the existence of child node pointers in specific buffer. More...
 
char getBranchXORBitPattern (const BranchNode &branch_arg) const
 Generate XOR bit pattern reflecting differences between the two octree buffers. More...
 
bool hasBranchChanges (const BranchNode &branch_arg) const
 Test if branch changed between previous and current buffer. More...
 
void deleteBranchChild (BranchNode &branch_arg, unsigned char buffer_selector_arg, unsigned char child_idx_arg)
 Delete child node and all its subchilds from octree in specific buffer. More...
 
void deleteBranchChild (BranchNode &branch_arg, unsigned char child_idx_arg)
 Delete child node and all its subchilds from octree in current buffer. More...
 
void deleteBranch (BranchNode &branch_arg)
 Delete branch and all its subchilds from octree (both buffers) More...
 
BranchNodecreateBranchChild (BranchNode &branch_arg, unsigned char child_idx_arg)
 Fetch and add a new branch child to a branch class in current buffer. More...
 
LeafNodecreateLeafChild (BranchNode &branch_arg, unsigned char child_idx_arg)
 Fetch and add a new leaf child to a branch class. More...
 
uindex_t createLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg, LeafNode *&return_leaf_arg, BranchNode *&parent_of_leaf_arg, bool branch_reset_arg=false)
 Create a leaf node at octree key. More...
 
void findLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg, LeafContainerT *&result_arg) const
 Recursively search for a given leaf node and return a pointer. More...
 
bool deleteLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg)
 Recursively search and delete leaf node. More...
 
void serializeTreeRecursive (BranchNode *branch_arg, OctreeKey &key_arg, std::vector< char > *binary_tree_out_arg, typename std::vector< LeafContainerT * > *leaf_container_vector_arg, bool do_XOR_encoding_arg=false, bool new_leafs_filter_arg=false)
 Recursively explore the octree and output binary octree description together with a vector of leaf node DataT content. More...
 
void deserializeTreeRecursive (BranchNode *branch_arg, uindex_t depth_mask_arg, OctreeKey &key_arg, typename std::vector< char >::const_iterator &binary_tree_in_it_arg, typename std::vector< char >::const_iterator &binary_tree_in_it_end_arg, typename std::vector< LeafContainerT * >::const_iterator *leaf_container_vector_it_arg, typename std::vector< LeafContainerT * >::const_iterator *leaf_container_vector_it_end_arg, bool branch_reset_arg=false, bool do_XOR_decoding_arg=false)
 Rebuild an octree based on binary XOR octree description and DataT objects for leaf node initialization. More...
 
virtual void serializeTreeCallback (LeafContainerT &, const OctreeKey &)
 Callback executed for every leaf node data during serialization. More...
 
virtual void deserializeTreeCallback (LeafContainerT &, const OctreeKey &)
 Callback executed for every leaf node data during deserialization. More...
 
void treeCleanUpRecursive (BranchNode *branch_arg)
 Recursively explore the octree and remove unused branch and leaf nodes. More...
 
bool octreeCanResize ()
 Test if octree is able to dynamically change its depth. More...
 
void printBinary (char data_arg)
 Prints binary representation of a byte - used for debugging. More...
 

Protected Attributes

PointCloudPtr output_
 Pointer to output point cloud dataset. More...
 
std::vector< char > binary_tree_data_vector_
 Vector for storing binary tree structure. More...
 
std::vector< unsigned int > point_count_data_vector_
 Vector for storing points per voxel information
More...
 
std::vector< unsigned int >::const_iterator point_count_data_vector_iterator_
 Iterator on points per voxel vector. More...
 
ColorCoding< PointTcolor_coder_
 Color coding instance. More...
 
PointCoding< PointTpoint_coder_
 Point coding instance. More...
 
StaticRangeCoder entropy_coder_
 Static range coder instance. More...
 
bool do_voxel_grid_enDecoding_ {false}
 
std::uint32_t i_frame_rate_ {0}
 
std::uint32_t i_frame_counter_ {0}
 
std::uint32_t frame_ID_ {0}
 
std::uint64_t point_count_ {0}
 
bool i_frame_ {true}
 
bool do_color_encoding_ {false}
 
bool cloud_with_color_ {false}
 
bool data_with_color_ {false}
 
unsigned char point_color_offset_ {0}
 
bool b_show_statistics_ {false}
 
std::uint64_t compressed_point_data_len_ {0}
 
std::uint64_t compressed_color_data_len_ {0}
 
const compression_Profiles_e selected_profile_
 
const double point_resolution_
 
const double octree_resolution_
 
const unsigned char color_bit_resolution_
 
std::size_t object_count_ {0}
 
- Protected Attributes inherited from pcl::octree::OctreePointCloud< PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase< OctreeContainerPointIndices, OctreeContainerEmpty > >
PointCloudConstPtr input_
 Pointer to input point cloud dataset. More...
 
IndicesConstPtr indices_
 A pointer to the vector of point indices to use. More...
 
double epsilon_
 Epsilon precision (error bound) for nearest neighbors searches. More...
 
double resolution_
 Octree resolution. More...
 
double min_x_
 
double max_x_
 
double min_y_
 
double max_y_
 
double min_z_
 
double max_z_
 
bool bounding_box_defined_
 Flag indicating if octree has defined bounding box. More...
 
std::size_t max_objs_per_leaf_
 Amount of DataT objects per leafNode before expanding branch. More...
 
- Protected Attributes inherited from pcl::octree::Octree2BufBase< LeafContainerT, BranchContainerT >
std::size_t leaf_count_ {0}
 Amount of leaf nodes
More...
 
std::size_t branch_count_ {1}
 Amount of branch nodes
More...
 
BranchNoderoot_node_
 Pointer to root branch node of octree
More...
 
uindex_t depth_mask_ {0}
 Depth mask based on octree depth
More...
 
OctreeKey max_key_
 key range More...
 
unsigned char buffer_selector_ {0}
 Currently active octree buffer
More...
 
bool tree_dirty_flag_ {false}
 flags indicating if unused branches and leafs might exist in previous buffer
More...
 
uindex_t octree_depth_ {0}
 Octree depth. More...
 
bool dynamic_depth_enabled_ {false}
 Enable dynamic_depth. More...
 

Static Protected Attributes

static const char * frame_header_identifier_ = "<PCL-OCT-COMPRESSED>"
 

Detailed Description

template<typename PointT, typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
class pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >

Octree pointcloud compression class

Note
This class enables compression and decompression of point cloud data based on octree data structures.
typename: PointT: type of point used in pointcloud
Author
Julius Kammerl (juliu.nosp@m.s@ka.nosp@m.mmerl.nosp@m..de)

Definition at line 66 of file octree_pointcloud_compression.h.

Member Typedef Documentation

◆ BranchNode

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::BranchNode = typename OctreeT::BranchNode

Definition at line 80 of file octree_pointcloud_compression.h.

◆ ConstPtr

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::ConstPtr = shared_ptr<const OctreePointCloudCompression<PointT, LeafT, BranchT, OctreeT> >

Definition at line 77 of file octree_pointcloud_compression.h.

◆ LeafNode

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::LeafNode = typename OctreeT::LeafNode

Definition at line 79 of file octree_pointcloud_compression.h.

◆ PointCloud

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::PointCloud = typename OctreePointCloud<PointT, LeafT, BranchT, OctreeT>::PointCloud

Definition at line 71 of file octree_pointcloud_compression.h.

◆ PointCloudConstPtr

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::PointCloudConstPtr = typename OctreePointCloud<PointT, LeafT, BranchT, OctreeT>::PointCloudConstPtr

Definition at line 73 of file octree_pointcloud_compression.h.

◆ PointCloudPtr

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::PointCloudPtr = typename OctreePointCloud<PointT, LeafT, BranchT, OctreeT>::PointCloudPtr

Definition at line 72 of file octree_pointcloud_compression.h.

◆ Ptr

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::Ptr = shared_ptr<OctreePointCloudCompression<PointT, LeafT, BranchT, OctreeT> >

Definition at line 76 of file octree_pointcloud_compression.h.

◆ RealTimeStreamCompression

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::RealTimeStreamCompression = OctreePointCloudCompression<PointT, LeafT, BranchT, Octree2BufBase<LeafT, BranchT> >

Definition at line 82 of file octree_pointcloud_compression.h.

◆ SinglePointCloudCompressionLowMemory

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::SinglePointCloudCompressionLowMemory = OctreePointCloudCompression<PointT, LeafT, BranchT, OctreeBase<LeafT, BranchT> >

Definition at line 83 of file octree_pointcloud_compression.h.

Constructor & Destructor Documentation

◆ OctreePointCloudCompression()

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::OctreePointCloudCompression ( compression_Profiles_e  compressionProfile_arg = MED_RES_ONLINE_COMPRESSION_WITH_COLOR,
bool  showStatistics_arg = false,
const double  pointResolution_arg = 0.001,
const double  octreeResolution_arg = 0.01,
bool  doVoxelGridDownDownSampling_arg = false,
const unsigned int  iFrameRate_arg = 30,
bool  doColorEncoding_arg = true,
const unsigned char  colorBitResolution_arg = 6 
)
inline

Constructor.

Parameters
compressionProfile_argdefine compression profile
octreeResolution_argoctree resolution at lowest octree level
pointResolution_argprecision of point coordinates
doVoxelGridDownDownSampling_argvoxel grid filtering
iFrameRate_argi-frame encoding rate
doColorEncoding_argenable/disable color coding
colorBitResolution_argcolor bit depth
showStatistics_argoutput compression statistics

Definition at line 96 of file octree_pointcloud_compression.h.

◆ ~OctreePointCloudCompression()

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::~OctreePointCloudCompression ( )
overridedefault

Empty deconstructor.

Member Function Documentation

◆ addPointIdx()

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::addPointIdx ( const uindex_t  pointIdx_arg)
inlineoverridevirtual

Add point at index from input pointcloud dataset to octree.

Parameters
[in]pointIdx_argthe index representing the point in the dataset given by setInputCloud to be added

Reimplemented from pcl::octree::OctreePointCloud< PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase< OctreeContainerPointIndices, OctreeContainerEmpty > >.

Definition at line 157 of file octree_pointcloud_compression.h.

References pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointIdx().

◆ decodePointCloud()

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::decodePointCloud ( std::istream &  compressed_tree_data_in_arg,
PointCloudPtr cloud_arg 
)

Decode point cloud from input stream.

Parameters
compressed_tree_data_in_argbinary input stream containing compressed data
cloud_argreference to decoded point cloud
Warning
This function is blocking until there is data available from the input stream. If the stream never contains any data, this will hang forever!

Definition at line 175 of file octree_pointcloud_compression.hpp.

◆ deserializeTreeCallback()

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::deserializeTreeCallback ( LeafT &  ,
const OctreeKey &  key_arg 
)
overrideprotected

Decode leaf nodes information during deserialization.

Parameters
key_argoctree key of new leaf node

Definition at line 507 of file octree_pointcloud_compression.hpp.

◆ encodePointCloud()

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::encodePointCloud ( const PointCloudConstPtr cloud_arg,
std::ostream &  compressed_tree_data_out_arg 
)

Encode point cloud to output stream.

Parameters
cloud_argpoint cloud to be compressed
compressed_tree_data_out_argbinary output stream containing compressed data

Definition at line 54 of file octree_pointcloud_compression.hpp.

◆ entropyDecoding()

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::entropyDecoding ( std::istream &  compressed_tree_data_in_arg)
protected

Entropy decoding of input binary stream and output to information vectors.

Parameters
compressed_tree_data_in_argbinary input stream

Definition at line 312 of file octree_pointcloud_compression.hpp.

◆ entropyEncoding()

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::entropyEncoding ( std::ostream &  compressed_tree_data_out_arg)
protected

Apply entropy encoding to encoded information and output to binary stream.

Parameters
compressed_tree_data_out_argbinary output stream

Definition at line 252 of file octree_pointcloud_compression.hpp.

◆ getOutputCloud()

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
PointCloudPtr pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::getOutputCloud ( ) const
inline

Get a pointer to the output point cloud dataset.

Returns
pointer to pointcloud output class.

Definition at line 179 of file octree_pointcloud_compression.h.

◆ initialization()

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::initialization ( )
inline

◆ readFrameHeader()

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::readFrameHeader ( std::istream &  compressed_tree_data_in_arg)
protected

Read frame information to output stream.

Parameters
compressed_tree_data_in_argbinary input stream

Definition at line 431 of file octree_pointcloud_compression.hpp.

◆ serializeTreeCallback()

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::serializeTreeCallback ( LeafT &  leaf_arg,
const OctreeKey &  key_arg 
)
overrideprotected

Encode leaf node information during serialization.

Parameters
leaf_argreference to new leaf node
key_argoctree key of new leaf node

Definition at line 472 of file octree_pointcloud_compression.hpp.

◆ setOutputCloud()

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::setOutputCloud ( const PointCloudPtr cloud_arg)
inline

Provide a pointer to the output data set.

Parameters
cloud_argthe boost shared pointer to a PointCloud message

Definition at line 167 of file octree_pointcloud_compression.h.

◆ syncToHeader()

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::syncToHeader ( std::istream &  compressed_tree_data_in_arg)
protected

Synchronize to frame header.

Parameters
compressed_tree_data_in_argbinary input stream

Definition at line 416 of file octree_pointcloud_compression.hpp.

◆ writeFrameHeader()

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::writeFrameHeader ( std::ostream &  compressed_tree_data_out_arg)
protected

Write frame information to output stream.

Parameters
compressed_tree_data_out_argbinary output stream

Definition at line 369 of file octree_pointcloud_compression.hpp.

Member Data Documentation

◆ b_show_statistics_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
bool pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::b_show_statistics_ {false}
protected

Definition at line 280 of file octree_pointcloud_compression.h.

◆ binary_tree_data_vector_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
std::vector<char> pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::binary_tree_data_vector_
protected

Vector for storing binary tree structure.

Definition at line 250 of file octree_pointcloud_compression.h.

◆ cloud_with_color_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
bool pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::cloud_with_color_ {false}
protected

Definition at line 275 of file octree_pointcloud_compression.h.

◆ color_bit_resolution_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
const unsigned char pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::color_bit_resolution_
protected

Definition at line 290 of file octree_pointcloud_compression.h.

◆ color_coder_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
ColorCoding<PointT> pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::color_coder_
protected

Color coding instance.

Definition at line 259 of file octree_pointcloud_compression.h.

◆ compressed_color_data_len_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
std::uint64_t pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::compressed_color_data_len_ {0}
protected

Definition at line 282 of file octree_pointcloud_compression.h.

◆ compressed_point_data_len_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
std::uint64_t pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::compressed_point_data_len_ {0}
protected

Definition at line 281 of file octree_pointcloud_compression.h.

◆ data_with_color_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
bool pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::data_with_color_ {false}
protected

Definition at line 276 of file octree_pointcloud_compression.h.

◆ do_color_encoding_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
bool pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::do_color_encoding_ {false}
protected

Definition at line 274 of file octree_pointcloud_compression.h.

◆ do_voxel_grid_enDecoding_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
bool pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::do_voxel_grid_enDecoding_ {false}
protected

Definition at line 267 of file octree_pointcloud_compression.h.

◆ entropy_coder_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
StaticRangeCoder pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::entropy_coder_
protected

Static range coder instance.

Definition at line 265 of file octree_pointcloud_compression.h.

◆ frame_header_identifier_

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >
const char * pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::frame_header_identifier_ = "<PCL-OCT-COMPRESSED>"
staticprotected

Definition at line 285 of file octree_pointcloud_compression.h.

◆ frame_ID_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
std::uint32_t pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::frame_ID_ {0}
protected

Definition at line 270 of file octree_pointcloud_compression.h.

◆ i_frame_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
bool pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::i_frame_ {true}
protected

Definition at line 272 of file octree_pointcloud_compression.h.

◆ i_frame_counter_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
std::uint32_t pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::i_frame_counter_ {0}
protected

Definition at line 269 of file octree_pointcloud_compression.h.

◆ i_frame_rate_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
std::uint32_t pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::i_frame_rate_ {0}
protected

Definition at line 268 of file octree_pointcloud_compression.h.

◆ object_count_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
std::size_t pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::object_count_ {0}
protected

Definition at line 292 of file octree_pointcloud_compression.h.

◆ octree_resolution_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
const double pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::octree_resolution_
protected

Definition at line 289 of file octree_pointcloud_compression.h.

◆ output_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
PointCloudPtr pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::output_
protected

Pointer to output point cloud dataset.

Definition at line 247 of file octree_pointcloud_compression.h.

◆ point_coder_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
PointCoding<PointT> pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::point_coder_
protected

Point coding instance.

Definition at line 262 of file octree_pointcloud_compression.h.

◆ point_color_offset_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
unsigned char pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::point_color_offset_ {0}
protected

Definition at line 277 of file octree_pointcloud_compression.h.

◆ point_count_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
std::uint64_t pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::point_count_ {0}
protected

Definition at line 271 of file octree_pointcloud_compression.h.

◆ point_count_data_vector_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
std::vector<unsigned int> pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::point_count_data_vector_
protected

Vector for storing points per voxel information

Definition at line 253 of file octree_pointcloud_compression.h.

◆ point_count_data_vector_iterator_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
std::vector<unsigned int>::const_iterator pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::point_count_data_vector_iterator_
protected

Iterator on points per voxel vector.

Definition at line 256 of file octree_pointcloud_compression.h.

◆ point_resolution_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
const double pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::point_resolution_
protected

Definition at line 288 of file octree_pointcloud_compression.h.

◆ selected_profile_

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
const compression_Profiles_e pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::selected_profile_
protected

Definition at line 287 of file octree_pointcloud_compression.h.


The documentation for this class was generated from the following files: