On Mon, Jun 27, 2022 at 4:52 PM Miklos Vajna <vmik...@collabora.com> wrote:

> Hi Chris,
>
> On Mon, Jun 13, 2022 at 01:03:30PM +1000, Chris Sherlock <
> chris.sherloc...@gmail.com> 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

Reply via email to