Point Cloud Library (PCL)
1.14.1-dev
|
This class is a box in R3 built of voxels ordered in a regular rectangular grid. More...
#include <pcl/recognition/ransac_based/voxel_structure.h>
Public Member Functions | |
VoxelStructure () | |
virtual | ~VoxelStructure () |
void | build (const REAL bounds[6], int num_of_voxels[3]) |
Call this method before using an instance of this class. More... | |
void | clear () |
Release the memory allocated for the voxels. More... | |
T * | getVoxel (const REAL p[3]) |
Returns a pointer to the voxel which contains p or NULL if p is not inside the structure. More... | |
T * | getVoxel (int x, int y, int z) const |
Returns a pointer to the voxel with integer id (x,y,z) or NULL if (x,y,z) is out of bounds. More... | |
const T * | getVoxels () const |
Returns the linear voxel array. More... | |
T * | getVoxels () |
Returns the linear voxel array. More... | |
void | compute3dId (int linear_id, int id3d[3]) const |
Converts a linear id to a 3D id, i.e., computes the integer 3D coordinates of a voxel from its position in the voxel array. More... | |
const int * | getNumberOfVoxelsXYZ () const |
Returns the number of voxels in x, y and z direction. More... | |
void | computeVoxelCenter (const int id3[3], REAL center[3]) const |
Computes the center of the voxel with given integer coordinates. More... | |
int | getNumberOfVoxels () const |
Returns the total number of voxels. More... | |
const float * | getBounds () const |
Returns the bounds of the voxel structure, which is pointer to the internal array of 6 doubles: (min_x, max_x, min_y, max_y, min_z, max_z). More... | |
void | getBounds (REAL b[6]) const |
Copies the bounds of the voxel structure to 'b'. More... | |
const REAL * | getVoxelSpacing () const |
Returns the voxel spacing in x, y and z direction. More... | |
int | getNeighbors (const REAL *p, T **neighs) const |
Saves pointers to the voxels which are neighbors of the voxels which contains 'p'. More... | |
Protected Attributes | |
T * | voxels_ |
int | num_of_voxels_ [3] |
int | num_of_voxels_xy_plane_ |
int | total_num_of_voxels_ |
REAL | bounds_ [6] |
REAL | spacing_ [3] |
REAL | min_center_ [3] |
This class is a box in R3 built of voxels ordered in a regular rectangular grid.
Each voxel is of type T.
Definition at line 47 of file voxel_structure.h.
|
inline |
Definition at line 50 of file voxel_structure.h.
|
inlinevirtual |
Definition at line 51 of file voxel_structure.h.
References pcl::recognition::VoxelStructure< T, REAL >::clear().
|
inline |
Call this method before using an instance of this class.
Parameter meaning is obvious.
Definition at line 51 of file voxel_structure.hpp.
|
inline |
Release the memory allocated for the voxels.
Definition at line 59 of file voxel_structure.h.
References pcl::recognition::VoxelStructure< T, REAL >::voxels_.
Referenced by pcl::recognition::VoxelStructure< T, REAL >::~VoxelStructure().
|
inline |
Converts a linear id to a 3D id, i.e., computes the integer 3D coordinates of a voxel from its position in the voxel array.
[in] | linear_id | the position of the voxel in the internal voxel array. |
[out] | id3d | an array of 3 integers for the integer coordinates of the voxel. |
Definition at line 88 of file voxel_structure.h.
References pcl::recognition::VoxelStructure< T, REAL >::num_of_voxels_, and pcl::recognition::VoxelStructure< T, REAL >::num_of_voxels_xy_plane_.
|
inline |
Computes the center of the voxel with given integer coordinates.
[in] | id3 | the integer coordinates along the x, y and z axis. |
[out] | center |
Definition at line 111 of file voxel_structure.h.
References pcl::recognition::VoxelStructure< T, REAL >::min_center_, and pcl::recognition::VoxelStructure< T, REAL >::spacing_.
|
inline |
Returns the bounds of the voxel structure, which is pointer to the internal array of 6 doubles: (min_x, max_x, min_y, max_y, min_z, max_z).
Definition at line 127 of file voxel_structure.h.
References pcl::recognition::VoxelStructure< T, REAL >::bounds_.
|
inline |
Copies the bounds of the voxel structure to 'b'.
Definition at line 134 of file voxel_structure.h.
References pcl::recognition::VoxelStructure< T, REAL >::bounds_.
|
inline |
Saves pointers to the voxels which are neighbors of the voxels which contains 'p'.
The containing voxel is returned too. 'neighs' has to be an array of pointers with space for at least 27 pointers (27 = 3^3 which is the max number of neighbors). The
Definition at line 110 of file voxel_structure.hpp.
|
inline |
Returns the total number of voxels.
Definition at line 120 of file voxel_structure.h.
References pcl::recognition::VoxelStructure< T, REAL >::total_num_of_voxels_.
|
inline |
Returns the number of voxels in x, y and z direction.
Definition at line 101 of file voxel_structure.h.
References pcl::recognition::VoxelStructure< T, REAL >::num_of_voxels_.
|
inline |
Returns a pointer to the voxel which contains p or NULL if p is not inside the structure.
Definition at line 85 of file voxel_structure.hpp.
|
inline |
Returns a pointer to the voxel with integer id (x,y,z) or NULL if (x,y,z) is out of bounds.
Definition at line 99 of file voxel_structure.hpp.
|
inline |
Returns the linear voxel array.
Definition at line 78 of file voxel_structure.h.
References pcl::recognition::VoxelStructure< T, REAL >::voxels_.
|
inline |
Returns the linear voxel array.
Definition at line 71 of file voxel_structure.h.
References pcl::recognition::VoxelStructure< T, REAL >::voxels_.
|
inline |
Returns the voxel spacing in x, y and z direction.
That's the same as the voxel size along each axis.
Definition at line 146 of file voxel_structure.h.
References pcl::recognition::VoxelStructure< T, REAL >::spacing_.
|
protected |
Definition at line 159 of file voxel_structure.h.
Referenced by pcl::recognition::VoxelStructure< T, REAL >::getBounds().
|
protected |
Definition at line 161 of file voxel_structure.h.
Referenced by pcl::recognition::VoxelStructure< T, REAL >::computeVoxelCenter().
|
protected |
Definition at line 158 of file voxel_structure.h.
Referenced by pcl::recognition::VoxelStructure< T, REAL >::compute3dId(), and pcl::recognition::VoxelStructure< T, REAL >::getNumberOfVoxelsXYZ().
|
protected |
Definition at line 158 of file voxel_structure.h.
Referenced by pcl::recognition::VoxelStructure< T, REAL >::compute3dId().
|
protected |
Definition at line 160 of file voxel_structure.h.
Referenced by pcl::recognition::VoxelStructure< T, REAL >::computeVoxelCenter(), and pcl::recognition::VoxelStructure< T, REAL >::getVoxelSpacing().
|
protected |
Definition at line 158 of file voxel_structure.h.
Referenced by pcl::recognition::VoxelStructure< T, REAL >::getNumberOfVoxels().
|
protected |
Definition at line 157 of file voxel_structure.h.
Referenced by pcl::recognition::VoxelStructure< T, REAL >::clear(), and pcl::recognition::VoxelStructure< T, REAL >::getVoxels().