Point Cloud Library (PCL)
1.3.1
|
The marching cubes surface reconstruction algorithm, using a "greedy" voxelization algorithm. More...
#include <pcl/surface/marching_cubes_greedy.h>
Public Types | |
typedef MarchingCubes< PointNT > ::Leaf | Leaf |
typedef pcl::PointCloud < PointNT >::Ptr | PointCloudPtr |
typedef pcl::KdTree< PointNT > | KdTree |
typedef pcl::KdTree< PointNT >::Ptr | KdTreePtr |
typedef boost::unordered_map < int, Leaf, boost::hash< int > , std::equal_to< int > , Eigen::aligned_allocator < int > > | HashMap |
Public Member Functions | |
MarchingCubesGreedy () | |
Constructor. | |
~MarchingCubesGreedy () | |
Destructor. | |
void | setLeafSize (double leaf_size) |
set the voxel size. | |
void | setIsoLevel (float iso_level) |
set the iso level. | |
void | getCellIndex (const Eigen::Vector4f &p, Eigen::Vector3i &index) const |
Get the 3d index (x,y,z) of the cell based on the location of the cell. | |
int | getIndexIn1D (const Eigen::Vector3i &index) const |
Given an index (x, y, z) in 3d, translate it into the index in 1d. | |
void | getIndexIn3D (int index_1d, Eigen::Vector3i &index_3d) const |
Given an index in 1d, translate it into the index (x, y, z) in 3d. | |
void | getNeighborList1D (Leaf leaf, Eigen::Vector3i &index3d, HashMap &neighbor_list) |
Given a voxel index, get all the neighbors indexes in 1D. | |
void | getCellCenterFromIndex (const Eigen::Vector3i &index, Eigen::Vector4f ¢er) const |
Given the 3d index (x, y, z) of the cell, get the coordinates of the cell center. | |
void | performReconstruction (pcl::PolygonMesh &output) |
Create the surface. |
The marching cubes surface reconstruction algorithm, using a "greedy" voxelization algorithm.
typedef boost::unordered_map<int, Leaf, boost::hash<int>, std::equal_to<int>, Eigen::aligned_allocator<int> > pcl::MarchingCubesGreedy::HashMap |
Reimplemented from pcl::MarchingCubes< PointNT >.
Definition at line 61 of file marching_cubes_greedy.h.
typedef pcl::KdTree<PointNT> pcl::MarchingCubesGreedy::KdTree |
Reimplemented from pcl::MarchingCubes< PointNT >.
Definition at line 59 of file marching_cubes_greedy.h.
typedef pcl::KdTree<PointNT>::Ptr pcl::MarchingCubesGreedy::KdTreePtr |
Reimplemented from pcl::MarchingCubes< PointNT >.
Definition at line 60 of file marching_cubes_greedy.h.
typedef MarchingCubes<PointNT>::Leaf pcl::MarchingCubesGreedy::Leaf |
Definition at line 55 of file marching_cubes_greedy.h.
typedef pcl::PointCloud<PointNT>::Ptr pcl::MarchingCubesGreedy::PointCloudPtr |
Reimplemented from pcl::MarchingCubes< PointNT >.
Definition at line 57 of file marching_cubes_greedy.h.
pcl::MarchingCubesGreedy::MarchingCubesGreedy | ( | ) |
Constructor.
Definition at line 42 of file marching_cubes_greedy.hpp.
pcl::MarchingCubesGreedy::~MarchingCubesGreedy | ( | ) |
Destructor.
Definition at line 47 of file marching_cubes_greedy.hpp.
void pcl::MarchingCubes::getCellCenterFromIndex | ( | const Eigen::Vector3i & | index, |
Eigen::Vector4f & | center | ||
) | const [inline, inherited] |
Given the 3d index (x, y, z) of the cell, get the coordinates of the cell center.
index | the output 3d index |
center | the resultant cell center |
Definition at line 455 of file marching_cubes.h.
void pcl::MarchingCubes::getCellIndex | ( | const Eigen::Vector4f & | p, |
Eigen::Vector3i & | index | ||
) | const [inline, inherited] |
Get the 3d index (x,y,z) of the cell based on the location of the cell.
p | the coordinate of the input point |
index | the output 3d index |
Definition at line 409 of file marching_cubes.h.
int pcl::MarchingCubes::getIndexIn1D | ( | const Eigen::Vector3i & | index | ) | const [inline, inherited] |
Given an index (x, y, z) in 3d, translate it into the index in 1d.
index | the index of the cell in (x,y,z) 3d format |
Definition at line 420 of file marching_cubes.h.
void pcl::MarchingCubes::getIndexIn3D | ( | int | index_1d, |
Eigen::Vector3i & | index_3d | ||
) | const [inline, inherited] |
Given an index in 1d, translate it into the index (x, y, z) in 3d.
index_1d | the input 1d index |
index_3d | the output 3d index |
Definition at line 433 of file marching_cubes.h.
void pcl::MarchingCubes::getNeighborList1D | ( | Leaf | leaf, |
Eigen::Vector3i & | index3d, | ||
HashMap & | neighbor_list | ||
) | [inherited] |
Given a voxel index, get all the neighbors indexes in 1D.
void pcl::MarchingCubes::performReconstruction | ( | pcl::PolygonMesh & | output | ) | [inherited] |
Create the surface.
More details here.
output | the resultant polygonal mesh |
void pcl::MarchingCubes::setIsoLevel | ( | float | iso_level | ) | [inline, inherited] |
set the iso level.
iso_level | the iso level. |
Definition at line 398 of file marching_cubes.h.
void pcl::MarchingCubes::setLeafSize | ( | double | leaf_size | ) | [inline, inherited] |
set the voxel size.
size | the size of the voxel |
Definition at line 389 of file marching_cubes.h.