Point Cloud Library (PCL)  1.3.1
Public Types | Public Member Functions
pcl::MarchingCubesGreedy Class Reference

The marching cubes surface reconstruction algorithm, using a "greedy" voxelization algorithm. More...

#include <pcl/surface/marching_cubes_greedy.h>

Inheritance diagram for pcl::MarchingCubesGreedy:
Inheritance graph
[legend]
Collaboration diagram for pcl::MarchingCubesGreedy:
Collaboration graph
[legend]

List of all members.

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 &center) 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.

Detailed Description

The marching cubes surface reconstruction algorithm, using a "greedy" voxelization algorithm.

Author:
Gregory Long

Member Typedef Documentation

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.

Reimplemented from pcl::MarchingCubes< PointNT >.

Definition at line 59 of file marching_cubes_greedy.h.

Reimplemented from pcl::MarchingCubes< PointNT >.

Definition at line 60 of file marching_cubes_greedy.h.

Definition at line 55 of file marching_cubes_greedy.h.

Reimplemented from pcl::MarchingCubes< PointNT >.

Definition at line 57 of file marching_cubes_greedy.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.

Parameters:
indexthe output 3d index
centerthe 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.

Parameters:
pthe coordinate of the input point
indexthe 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.

Parameters:
indexthe 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.

Parameters:
index_1dthe input 1d index
index_3dthe 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.

Parameters:
outputthe resultant polygonal mesh
void pcl::MarchingCubes::setIsoLevel ( float  iso_level) [inline, inherited]

set the iso level.

Parameters:
iso_levelthe iso level.

Definition at line 398 of file marching_cubes.h.

void pcl::MarchingCubes::setLeafSize ( double  leaf_size) [inline, inherited]

set the voxel size.

Parameters:
sizethe size of the voxel

Definition at line 389 of file marching_cubes.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines