aardvark-platform/aardvark.base

Add Transform overloads for all transformation data types

luithefirst opened this issue · 1 comments

We have various types that have a .Transform or .Transformed method (e.g. Box3d, Plane3d, Hull3d, Polygon3d, ...). In most cases, there is only an overload for Trafo3d. We should complete this and make sure there are overloads for Trafo3d, M44d, Similarity3d, Rigid3d, Euclidean3d and review the same for 2d data types.

We might also want to consider adding .InvTransform/InvTransformed methods. This might have a slightly better performance compared to passing the inverted versions of the transform types. This should be evaluated first.

I've added more transformation methods for Polygon2d or Polygon3d. There are now in-place and inverse variants. The latter seem to be a bit more efficient than computing the inverse transformation first. I'm not sure yet if all of these variants make sense for other types. E.g. do you really need to be able to transform a Box2d in place?