Example:
PlaneFitting<float> pf1, pf2;
pf1.update(Eigen::Vector3f(0,0,-1));
std::cout << pf1.getCoeffs().transpose() << std::endl; // [0 0 -1], as expected
pf2.update(Eigen::Vector3f(2,3,-1));
std::cout << pf2.getCoeffs().transpose() << std::endl; // [0, -1/3, 0]
// which is a solution of smaller norm, but not as expected
As long as x and y coordinates have magnitude<1.0 the current implementation works. I'm not sure if this is worth addressing (but probably it should be pointed out in the documentation)