I'm trying to learn how to implement simple algorithms generically.

Is there a concept for CalculationType? It is used in matrix_transformers.hpp, but I couldn't find a concept definition.

I'm trying to create a 2d rotate_translate_transformer which rotates a geometry in place then translates it to a specified location, so I'm trying to modify the implementations in matrix_transformers.hpp.

I'm considering having it take a point and an angle rather than x,y,angle. For comparison, the translate_transformer takes an x and y. Does this seem advisable?

Would it be best to make the point a separate template parameter from CalculationType?

If I didn't use a point, should there be one CalculationType template parameter for x,y,angle, or should x,y be one type and angle an additional type?

Thanks for your help!

Cheers!
Andrew Hundt