From: Krzysztof K. <twe...@gm...> - 2013-11-13 15:50:38
|
2013/11/12 Johan Engelen <jbc...@sw...>: > As far as I can see now, all (current) Curve types *are* closed under > translations. I think we should enforce this for Curve. I.e., each Curve > must implement > virtual Curve &operator+=(Point const &); I think the method should be: virtual Curve &operator*=(Translate const &t) { *this *= Affine(t); return *this; } Rationale: 1. It's not immediately obvious what adding a point to a curve means. For instance, for BezierCurve it might plausibly mean adding a control point. 2. For curves that don't implement the specialization, we just multiply by a generic affine. Regards, Krzysztof |