Re: Tools module geometry classes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Mon, Jun 27, 2022 at 4:52 PM Miklos Vajna <vmiklos@xxxxxxxxxxxxx> wrote:
Hi Chris,

On Mon, Jun 13, 2022 at 01:03:30PM +1000, Chris Sherlock <chris.sherlock79@xxxxxxxxx> wrote:
> LibreOffice has seperate implementations for points, lines, rectangle, polygons and polypolygons - one is in the tools module, and the other is in the basegfx module.
>
> Are there any plans for deprecating the usage of the tools geometry primitives? I understand it will be needed for deserialising some legacy svm files, but is the intention to ever start replacing the tools primitives with the basegfx primitives?

The trouble with e.g. tools::Rectangle is that it can have both a closed
or a half-open interval, and you need to read the surrounding code to
understand which mode is in use. basegfx::B2IRange is explicitly closed.

So it would help readability to go with basegfx::B2IRange everywhere,
but it's not an easy hack to do such conversions.

Regards,

Miklos

Thanks Miklos. I read the comment above the Rectangle header definition which starts with "Note: this class is a true marvel of engineering: because the author could not decide whether it's better to have a closed or half-open interval, they just implemented *both* in the same class!"

What is the feasibility of changing this class to be only explicitly closed? 

Is this the main issue with not converting over to basegfx?

Chris


[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux