Page MenuHomePhabricator

eina: Document quadtree
ClosedPublic

Authored by bryceharrington on Nov 21 2017, 4:19 PM.

Diff Detail

Repository
rEFL core/efl
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

The build error is spurious, again.

16:34:21 Caused: java.io.IOException: Unexpected termination of the channel
16:34:21 at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:73)
16:34:21 Caused: hudson.remoting.ChannelClosedException: Remote call on e5-build-gentoo-x86_64-1 failed. The channel is closing down or has closed down

Cedric, I had to make some (lightly) educated guesses about how eina_quadtree_collide() works, so please review those docs in particular.

I had a few other random questions:

  • What is the difference between the 'hidden' and 'visible' properties? I can see internally they do different things, but am unclear what exactly they're for.
  • eina_quadtree_cycle() and eina_quadtree_increase() modify the quadtree item's index; could you describe what the index is used for?
  • I am guessing the Eina_Quad_Callback callbacks are user-provided comparison functions for determining if a data item belongs in one quadrant or another, but I wasn't sure so glossed over that bit in the docs; if you could explain this part in more detail it would help me improve the docs a bit more.

Thanks

The visible property is set by the API user to reflect the visibility of the object. The internal hidden property is set when the visible state is propagated and properly applied within the tree. The internal tree being only update when making a query in it.

Can you adjust the documentation accordingly ? thanks.

[10:22:44] <cedric> bryce, i don't know for cycle what was the purpose of it
[10:22:48] <cedric> it is part of the test...
[10:23:46] <cedric> as for the callback function, you are right, it is for sorting

[10:48:58] <cedric> an object in the quadtree can be visible or not
[10:49:06] <cedric> if it is not visible, it won't intersect
[10:49:20] <cedric> there is a cost of removing an object from the stack
[10:49:30] <cedric> so instead of removing it, you can mark it invisible

  • eina: Further clarify quadtree docs
This revision was automatically updated to reflect the committed changes.