Raw memory in Hessian should be templated
See
HessianFactor.cpp (3 matches)
366: typedef Eigen::Matrix<double, 9, 1> DVector;
556: typedef Eigen::Matrix<double, Eigen::Dynamic, 1> DVector;
607: typedef Eigen::Matrix<double, 9, 1> DVector;
JacobianFactor.cpp (2 matches)
468: typedef Eigen::Matrix<double, 9, 1> DVector;
535: typedef Eigen::Matrix<double, Eigen::Dynamic, 1> DVector;
Comments (7)
-
-
quick answer: hessianDiagonal (raw access) is no longer in Hessian factors, but has been moved to regularHessianFactors (same for Jacobians). @stan84 , can you confirm that what I said is right in "develop"? (maybe it is still in a brach)
-
Yes, it is still in the RegularFactors branch. @cbeall3 can we merge this brach? I guess you told me that you want to do some modification related with templated things..
-
I have no objection to merging. Create a pull request? The remaining template changes I wanted to make follow up on some of the stuff that's already made it into develop, but do not yet appear in the RegularFactors branch because it's quite behind. I didn't want to move any more template stuff around until RegularFactors & develop got synced up. Whether it's RegularFactors->develop or the other way around, doesn't really matter to me :-)
-
Okay, I will create a pull request then.
-
Issue
#67was marked as a duplicate of this issue. -
- changed status to resolved
Resolved with pull request #68
- Log in to comment
Unsure about this.
hessianDiagonal(double* d)
makes the fundamental assumption that all variables are the same size to index into vector d. There also seems to be an implicit assumption that all keys are contiguous & zero-based? Iirc, @lucacarlone mentioned something about moving this elsewhere? Thoughts?