Performs the ICP iterations. More...
#include <ocl_icp_sbs.hpp>
Public Member Functions | |
ICPSBS (GLuint *glPC4DBuffer, GLuint *glRGBABuffer) | |
void | init (std::vector< cl_float8 > pc8d1, std::vector< cl_float8 > pc8d2) |
Initializes the OpenGL buffers. More... | |
void | step () |
Performs one ICP iteration and transforms the moving point cloud. More... | |
Performs the ICP iterations.
Estimates, step by step, the homogeneous transformation between two point clouds, and transforms the relevant point cloud according to that transformation.
ICPSBS< RC, WC >::ICPSBS | ( | GLuint * | glPC4DBuffer, |
GLuint * | glRGBABuffer | ||
) |
Initializes the OpenCL environment, the OpenGL buffers, and the processing classes.
[in] | glPC4DBuffer | OpenGL vertex buffer id for the geometry points. The buffer holds the information for two point clouds. |
[in] | glRGBABuffer | OpenGL vertex buffer id for the color points. The buffer holds the information for two point clouds. |
void ICPSBS< RC, WC >::init | ( | std::vector< cl_float8 > | pc8d1, |
std::vector< cl_float8 > | pc8d2 | ||
) |
Initializes the OpenGL buffers.
[in] | pc8d1 | fixed point cloud. |
[in] | pc8d2 | moving point cloud. |
void ICPSBS< RC, WC >::step | ( | ) |
Performs one ICP iteration and transforms the moving point cloud.
Refines, step by step, an initial estimation of the transformation between the two point clouds, and displays relevant parameters.