A simple, portable and extensible Structure from Motion library written in C++