Go to the documentation of this file.00001
00059
00060
00061
00062
00063
00064
00065
00066 #ifndef ROTATION_FROM_CORRESPONDENCES_H_
00067 #define ROTATION_FROM_CORRESPONDENCES_H_
00068
00069 #include <Eigen/Core>
00070
00071 namespace pcl
00072 {
00078 class RotationFromCorrespondences
00079 {
00080 public:
00081
00083 RotationFromCorrespondences ();
00084
00086 ~RotationFromCorrespondences ();
00087
00088
00090 inline void
00091 reset ();
00092
00094 inline float
00095 getAccumulatedWeight () const { return accumulated_weight_;}
00096
00098 inline unsigned int
00099 getNoOfSamples () { return no_of_samples_;}
00100
00102 inline void
00103 add (const Eigen::Vector3f& point, const Eigen::Vector3f& corresponding_point,
00104 const Eigen::Vector3f& n1, const Eigen::Vector3f& n2,
00105 const Eigen::Vector3f& cn1, const Eigen::Vector3f& cn2,
00106 float weight=1.0,float weight2=1.0);
00107
00109 inline Eigen::Matrix3f
00110 getTransformation ();
00111
00112
00113
00114
00115
00116
00117 unsigned int no_of_samples_;
00118 float accumulated_weight_,accumulated_weight2_;
00119 Eigen::Matrix<float, 3, 3> covariance_;
00120 Eigen::Matrix<float, 3, 3> var_;
00121
00122 Eigen::Vector3f va_,vb_,vA_,vB_;
00123 };
00124
00125 }
00126
00127 #include "impl/rotation_from_correspondences.hpp"
00128
00129 #endif