
Simonson, Lucanus J wrote:
Given my proposed operator syntax for so-called Boolean operations I could fold the arbitrary angle geometry provided by Berend's library into mine (or visa-vera.)
manhattan + manhattan => manhattan result type by way of manhattan algorithm manhattan + 45-degree => 45-degree result type by way of 45 degree algorithm manhattan/45-degree + arbitrary angle => arbitrary angle result by way of arbitrary angle algorithm
As I recall, with Barend's library if you ask for the intersection of two unit-squares (0,0,1,1) and (1,0,2,1) you'll get a line (1,0,1,1), since it considers all points on the perimeter of a polygon to be included in the polygon: +-+-+ | | | +-+-+ Luke, what does your library do in this case? I mention this because, as well as the C++ language style issues which I'm pleased to see are being discussed by smarter people than me, there are no doubt very many geometry-related design choices here. If your library were stand-alone, your choices wouldn't matter much; but if as you suggest it can integrate with other (future) libraries, then consistent choices are needed. Phil.