2 #ifndef vgl_compute_similarity_3d_h_ 3 #define vgl_compute_similarity_3d_h_ 21 # include <vcl_msvc_warnings.h> 85 #define VGL_COMPUTE_SIMILARITY_3D_INSTANTIATE(T) \ 86 extern "please include vgl/algo/vgl_compute_similarity_3d.hxx first" 88 #endif // vgl_compute_similarity_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.
~vgl_compute_similarity_3d()=default
const vgl_rotation_3d< T > & rotation() const
Access the estimated rotation.
vgl_vector_3d< T > translation_
direction vector in Euclidean 3D space
void add_points(vgl_point_3d< T > const &p1, vgl_point_3d< T > const &p2)
add a pair of points to point sets.
vgl_compute_similarity_3d()=default
bool estimate()
estimates the similarity transformation from the stored points.
a point in 3D nonhomogeneous space
A class representing a 3d rotation.
Direction vector in Euclidean 3D space, templated by type of element.
void clear()
clear internal data.
const vgl_vector_3d< T > & translation() const
Access the estimated translation.
std::vector< vgl_point_3d< T > > points1_
T scale() const
Access he estimated scale.
void scale_points(std::vector< vgl_point_3d< T > > &pts, T &s) const
normalize the scale of the points, and return the applied scale.
vgl_rotation_3d< T > rotation_
std::vector< vgl_point_3d< T > > points2_