2 #ifndef vgl_compute_rigid_3d_h_ 3 #define vgl_compute_rigid_3d_h_ 21 # include <vcl_msvc_warnings.h> 81 #define VGL_COMPUTE_RIGID_3D_INSTANTIATE(T) \ 82 extern "please include vgl/algo/vgl_compute_rigid_3d.hxx first" 84 #endif // vgl_compute_rigid_3d_h_ void center_points(std::vector< vgl_point_3d< T > > &pts, vgl_vector_3d< T > &t) const
center all the points at the origin, and return the applied translation.
std::vector< vgl_point_3d< T > > points2_
vgl_compute_rigid_3d()=default
direction vector in Euclidean 3D space
const vgl_vector_3d< T > & translation() const
Access the estimated translation.
std::vector< vgl_point_3d< T > > points1_
void scale_points(std::vector< vgl_point_3d< T > > &pts, T &s) const
normalize the scale of the points, and return the applied scale.
a point in 3D nonhomogeneous space
vgl_vector_3d< T > translation_
A class representing a 3d rotation.
const vgl_rotation_3d< T > & rotation() const
Access the estimated rotation.
bool estimate()
estimates the rigid transformation from the stored points.
Direction vector in Euclidean 3D space, templated by type of element.
~vgl_compute_rigid_3d()=default
void add_points(vgl_point_3d< T > const &p1, vgl_point_3d< T > const &p2)
add a pair of points to point sets.
vgl_rotation_3d< T > rotation_
void clear()
clear internal data.