W3C home > Mailing lists > Public > www-svg@w3.org > November 2009

Re: Again with the getIntersectionList()

From: Jeff Schiller <codedread@gmail.com>
Date: Thu, 19 Nov 2009 12:10:28 -0600
Message-ID: <da131fde0911191010r3d1efe21w6c0dfa0894c5243c@mail.gmail.com>
To: Jonathan Watt <jwatt@jwatt.org>
Cc: www-svg <www-svg@w3.org>, Andreas Neumann <a.neumann@carto.net>
On Thu, Nov 19, 2009 at 11:38 AM, Jonathan Watt <jwatt@jwatt.org> wrote:

>  * Would you really want 'pointer-events' to be taken into account?

nah

>  * Would you want 'visibility' or 'display' to be taken into account?

nah

>  * Would you want elements that are fully inside the rectangle
>   that you specify?

To me intersection should mean "does this element's area intersect
with this other area".  It's not about whether it crosses this other
border.  Thus, {x:20, y:20, width:20, height:20} intersects with {x:0,
y:0, width:50, height:50}.

>  * Would you want elements that have overlap with the rectangle
>   that you specify?

That's what 'intersection' means. I must have misunderstood you.

>  * Would you only want elements that intersect with the *edges*
>   of the rectangle that you specify (i.e. not elements that are
>   fully inside)?

No.

>  * Would bbox intersection checking be sufficient?

For the most part, yes.  See below.

> Of course I'd be most interested to hear of *specific* things that people have
> actually found themselves wanting to do but couldn't (or not well) because of
> the lack of getIntersectionList/getEnclosureList or similar in SVG implementations.

Actually in SVG-edit we're after the functionality in
getIntersectionList().  I want to know when my rubber-band box
visually touches another element when selecting multiple elements.
Currently I brute force check all element bboxes for this in
JavaScript.  I'd like the browser to do this super-fast for me using
space partitioning algorithms and highly optimized machine code :)

At the moment I don't have any strong preferences for anything fancy
beyond that - but that's just me and that's just right now.

If I am only able to get across one message to the WG it's this:

* getIntersectionList() and getEnclosureList() are the visual
equivalent of getElementsByTagName/ClassName/etc.  SVG _is_ a visual
language, right? :)

Letting developers query/filter elements is incredibly powerful.  See jQuery.

The fact that the current SVG ecosystem doesn't have something
available in a cross-platform sense is really disappointing, imo.

Regards,
Jeff
Received on Thursday, 19 November 2009 18:11:01 GMT

This archive was generated by hypermail 2.3.1 : Friday, 8 March 2013 15:54:43 GMT