-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove Dependency to TransformWithCovariance #43
Comments
A quick and dirty attempt to replace the dependency to TransformWithCovariance with a template parameter. The next step would be to replace it with Eigen::Transform and see what happens. I guess Transform and TransformWithCov are more or less api compatible? This is a breaking change that requires all users to change their code... |
Can't we check if base-types is available in the CMakeLists.txt and use either that transform or the internal one? Transformwithcov has two fileds: base::Position translation; where https://github.com/rock-core/base-types/blob/master/src/Pose.hpp#L10 |
Is the Covariance part used at any point? If not, it would make sense to get rid of that anyway (and save 36 doubles per Frame -- but more importantly the effort to propagate covariances). I would not suggest to make the API depend on compile-time switches. Whether to store Transformations as Vec3+Quaternion (as in |
This is the reason why the TransformWithCovariance type was used. Whether they are used or not was supposed to be the decision of the user. |
IMO replacing the dependency with a template parameter is still the best option. This way users inside of rock can use TransformWithCovariance and users outside can use Eigen. |
How far has this evolved? I'm currently running into the dependency issue where I'd like to compile a small test program and apparently need base types... |
Not much further, but you can use the install_dependencies.sh script from the top folder in the repo to install all source dependencies at once. It takes on parameter (the folder to install to) |
It also creates an env.sh script to be sourced befor you can compile envire |
I've managed to compile my test program. The more important issue I'm currently dealing with is #53 |
I looked into this some more. Creating a wrapper around I guess the easiest solution would be to copy |
Or the install script could download the |
Ok after some further investigation I think that it is not worth the effort. The current external dependencies are:
All of those packages install without any problem and none of them does any harm. |
If we can get rid of the dependency, we can get rid of nearly all dependencies.
We could remove the dependency by templating items/Transform and the TransformGraph.
But this would break backward compatibility with all existing users.
The text was updated successfully, but these errors were encountered: