{ "info": { "author": "Kenneth (Kip) Hart", "author_email": "kiphart91@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics" ], "description": ".. begin-introduction\n\nAABBTree - Axis-Aligned Bounding Box Trees\n==========================================\n\n|s-travis|\n|s-cov|\n|s-license|\n\n|l-github| `Repository`_\n|l-rtd| `Documentation`_\n|l-pypi| `PyPI`_\n\nAABBTree is a pure Python implementation of a static d-dimensional\naxis aligned bounding box (AABB) tree. It is inspired by\n`Introductory Guide to AABB Tree Collision Detection`_\nfrom *Azure From The Trenches*.\n\n.. end-introduction\n\n.. figure:: https://aabbtree.readthedocs.io/en/latest/_images/diagram.png\n :alt: AABB Tree\n :align: center\n\n Left: An AABB tree, leaves numbered by insertion order.\n Right: The AABBs and their bounding boxes.\n\n.. begin-installation\n\nInstallation\n============\n\nAABBTree is available through PyPI and can be installed by running::\n\n pip install aabbtree\n\nTo test that the package installed properly, run::\n\n python -c \"import aabbtree\"\n\nAlternatively, the package can be installed from source by downloading the\nlatest release from the `AABBTree repository`_ on GitHub. Extract the source\nand, from the top-level directory, run::\n\n pip install -e .\n\nThe ``--user`` flag may be needed, depending on permissions.\n\n\nExample\n========\n\nThe following example shows how to build an AABB tree and test for overlap::\n\n >>> from aabbtree import AABB\n >>> from aabbtree import AABBTree\n >>> tree = AABBTree()\n >>> aabb1 = AABB([(0, 0), (0, 0)])\n >>> aabb2 = AABB([(-1, 1), (-1, 1)])\n >>> aabb3 = AABB([(4, 5), (2, 3)])\n >>> tree.add(aabb1, 'box 1')\n >>> tree.does_overlap(aabb2)\n True\n >>> tree.overlap_values(aabb2)\n ['box 1']\n >>> tree.does_overlap(aabb3)\n False\n >>> tree.add(aabb3)\n >>> print(tree)\n AABB: [(0, 5), (0, 3)]\n Value: None\n Left:\n AABB: [(0, 0), (0, 0)]\n Value: box 1\n Left: None\n Right: None\n Right:\n AABB: [(4, 5), (2, 3)]\n Value: None\n Left: None\n Right: None\n\n\n.. begin-documentation\n\nDocumentation\n=============\n\nDocumentation for the project is available at\nhttps://aabbtree.readthedocs.io.\n\n.. end-documentation\n\n\nContributing\n============\n\nContributions to the project are welcome.\nPlease visit the `AABBTree repository`_ to clone the source files,\ncreate a pull request, and submit issues.\n\n\nLicense and Copyright Notice\n============================\n\nCopyright |copy| 2019, Georgia Tech Research Corporation\n\nAABBTree is open source and freely available under the terms of\nthe MIT license.\n\n\n.. |copy| unicode:: 0xA9 .. copyright sign\n.. _`AABBTree repository` : https://github.com/kip-hart/AABBTree\n.. _`Repository` : https://github.com/kip-hart/AABBTree\n.. _`Documentation` : https://aabbtree.readthedocs.io\n.. _`PyPI` : https://pypi.org/project/aabbtree/\n.. _`Introductory Guide to AABB Tree Collision Detection` : https://www.azurefromthetrenches.com/introductory-guide-to-aabb-tree-collision-detection/\n.. |s-license| image:: https://img.shields.io/pypi/l/aabbtree.svg\n :target: https://github.com/kip-hart/AABBTree/blob/master/LICENSE.rst\n :alt: License\n.. |s-docs| image:: https://readthedocs.org/projects/aabbtree/badge/?version=latest\n :target: https://aabbtree.readthedocs.io\n :alt: Documentation Status\n.. |s-travis| image:: https://travis-ci.org/kip-hart/AABBTree.svg?branch=master\n :target: https://travis-ci.org/kip-hart/AABBTree\n :alt: Travis CI\n.. |s-cov| image:: https://coveralls.io/repos/github/kip-hart/AABBTree/badge.svg?branch=master\n :target: https://coveralls.io/github/kip-hart/AABBTree?branch=master\n :alt: Coverage\n.. |s-pver| image:: https://img.shields.io/pypi/v/aabbtree.svg\n :target: https://pypi.org/project/aabbtree/\n :alt: PyPI\n\n.. |l-github| image:: https://api.iconify.design/octicon:mark-github.svg?color=black0&inline=true&height=16\n :target: https://github.com/kip-hart/AABBTree\n :alt: GitHub\n\n.. |l-rtd| image:: https://api.iconify.design/simple-icons:readthedocs.svg?color=black&inline=true&height=16\n :target: https://aabbtree.readthedocs.io\n :alt: ReadTheDocs\n\n.. |l-pypi| image:: https://api.iconify.design/mdi:cube-outline.svg?color=black&inline=true&height=16\n :target: https://pypi.org/project/aabbtree/\n :alt: PyPI", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kip-hart/AABBTree", "keywords": "aabb,aabb tree,binary tree", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "aabbtree", "package_url": "https://pypi.org/project/aabbtree/", "platform": "", "project_url": "https://pypi.org/project/aabbtree/", "project_urls": { "Documentation": "https://aabbtree.readthedocs.io", "Homepage": "https://github.com/kip-hart/AABBTree" }, "release_url": "https://pypi.org/project/aabbtree/2.3.1/", "requires_dist": null, "requires_python": "", "summary": "Pure Python implementation of d-dimensional AABB tree.", "version": "2.3.1" }, "last_serial": 4803500, "releases": { "0.0a0": [ { "comment_text": "", "digests": { "md5": "5fa97a6573b32c2657076f768a60fded", "sha256": "777acb0755ff26cc47f485902ca31260fdc72202607ec3586a3613229c180487" }, "downloads": -1, "filename": "AABBTree-0.0a0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5fa97a6573b32c2657076f768a60fded", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5497, "upload_time": "2019-01-19T00:10:22", "url": "https://files.pythonhosted.org/packages/d5/68/bbc77d5b9c4f6c8b96e0b8a09859f37c1b75e4ed608737290691e3ba70e1/AABBTree-0.0a0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ce8db9878753ff9412b09ee6c033cc48", "sha256": "5989bcd38e6605e7b89674664cf11d97bdc7e0daf57f996346541c5d56c0e31c" }, "downloads": -1, "filename": "AABBTree-0.0a0.tar.gz", "has_sig": false, "md5_digest": "ce8db9878753ff9412b09ee6c033cc48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6437430, "upload_time": "2019-01-19T00:10:25", "url": "https://files.pythonhosted.org/packages/44/3d/0abf951bbb1a46a2662cf77b1437272ab98cd82680b67ef5699d03a5efee/AABBTree-0.0a0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "ba84405a2c81f6e061b86c1aced9fe24", "sha256": "f7104cf7a1930b91267dde640ca6a157eacb5d5ed45c1ea4208ff9e0549d4eac" }, "downloads": -1, "filename": "aabbtree-1.1.tar.gz", "has_sig": false, "md5_digest": "ba84405a2c81f6e061b86c1aced9fe24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9708, "upload_time": "2019-01-19T00:47:20", "url": "https://files.pythonhosted.org/packages/c0/da/66c4fb0df90a3fc15502a2c9e17245e8eec2e2d1bbb9fd7196571b3d787a/aabbtree-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "a06a43385eb07d0d799c7a6b24e46439", "sha256": "8ac1481db32ba210cdf67801700f04cd5c29c75ce4b3ffe521bb8fade37e17d0" }, "downloads": -1, "filename": "aabbtree-1.2.tar.gz", "has_sig": false, "md5_digest": "a06a43385eb07d0d799c7a6b24e46439", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11633, "upload_time": "2019-01-20T05:57:05", "url": "https://files.pythonhosted.org/packages/d8/71/c4685c6bd712cbfbf15c2993758c3214e05c9c98fe0554cc988a2aed24d8/aabbtree-1.2.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "f22cb394dc1b76b199340aeafa1c4c79", "sha256": "d3ebef5263e6c9fb30f66d78806336c52102aeda284d7cc4f052ce47fcf38f0a" }, "downloads": -1, "filename": "aabbtree-1.2.1.tar.gz", "has_sig": false, "md5_digest": "f22cb394dc1b76b199340aeafa1c4c79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11621, "upload_time": "2019-01-20T06:26:00", "url": "https://files.pythonhosted.org/packages/51/49/2af070c4dc5e697e0a56ba9dfd6d837825355daf0ca960b7daa33ed6b804/aabbtree-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "9d3ff830d1343a36fd0eb6d7056f5fb3", "sha256": "698b13d7832c7d4d48ef802865b769a557572f8210fd888d00e9fc306086222a" }, "downloads": -1, "filename": "aabbtree-1.2.2.tar.gz", "has_sig": false, "md5_digest": "9d3ff830d1343a36fd0eb6d7056f5fb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11726, "upload_time": "2019-01-20T08:48:34", "url": "https://files.pythonhosted.org/packages/97/de/e4e35a0b0cd7ef1de3f1363cc35a00b87958ec46fa439554f16c02d1cde7/aabbtree-1.2.2.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "43a2240f1aeb2c4f9d80de68d472f289", "sha256": "83848d101725f5ada8627a12e69623475d509f05378ff3a4d83aa76bb6d0ad38" }, "downloads": -1, "filename": "aabbtree-2.0.tar.gz", "has_sig": false, "md5_digest": "43a2240f1aeb2c4f9d80de68d472f289", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13007, "upload_time": "2019-01-20T18:22:22", "url": "https://files.pythonhosted.org/packages/8b/57/5a4ff05a88ea6a0f0bebbbf2f5646949cef73dc5cde571787a11e4dc3694/aabbtree-2.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "ebf110069316e90342b359c04874c9ac", "sha256": "63eb75e2aea1586a282891916b4c82db575f42ec6ad5b734cc762dc5454111b6" }, "downloads": -1, "filename": "aabbtree-2.0.1.tar.gz", "has_sig": false, "md5_digest": "ebf110069316e90342b359c04874c9ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12995, "upload_time": "2019-01-20T18:38:04", "url": "https://files.pythonhosted.org/packages/f7/7b/d2cb28553e5240cc27a64269940bdfe49b3454b46f3436fcd22c53868201/aabbtree-2.0.1.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "2e5ce31ce2359f76dcd9b1d700894a4b", "sha256": "010f22b44d0d53e06c5a4abd6b090651aedbf559d0cae1107cfeeb99660e305a" }, "downloads": -1, "filename": "aabbtree-2.1.tar.gz", "has_sig": false, "md5_digest": "2e5ce31ce2359f76dcd9b1d700894a4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13021, "upload_time": "2019-01-21T06:08:49", "url": "https://files.pythonhosted.org/packages/47/75/fc6a99182080128bfafb46969d64d0faba354e79685f284e6b92f5bd0024/aabbtree-2.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "55783295264d0c455c473669f9324ad5", "sha256": "5fc851d49b1bfa1239c4ef098bdb10a45303866120c99a49b0c566b60509dcab" }, "downloads": -1, "filename": "aabbtree-2.2.tar.gz", "has_sig": false, "md5_digest": "55783295264d0c455c473669f9324ad5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12706, "upload_time": "2019-02-02T18:14:11", "url": "https://files.pythonhosted.org/packages/14/34/fa43de55c7d911a104bb1d675f1aacf0555b0bdaecd2d6460be6e04e4faf/aabbtree-2.2.tar.gz" } ], "2.3": [ { "comment_text": "", "digests": { "md5": "5797d461399a6e721dc102fc8e623543", "sha256": "53469ac3af33e1f9b146d53434b91b1004e0e64509ac69a89915f79a38458039" }, "downloads": -1, "filename": "aabbtree-2.3.tar.gz", "has_sig": false, "md5_digest": "5797d461399a6e721dc102fc8e623543", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14431, "upload_time": "2019-02-09T21:18:48", "url": "https://files.pythonhosted.org/packages/6b/e6/6eebcb806d8be6b8dfccdf318ef9df8a346ad0559493fab6a9f509d6b444/aabbtree-2.3.tar.gz" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "17396f750df7a7c33e30a18de52026b6", "sha256": "3db6619882e8b9a55e68659121dc29452afbb6eb7912c782746e242ff790fed0" }, "downloads": -1, "filename": "aabbtree-2.3.1.tar.gz", "has_sig": false, "md5_digest": "17396f750df7a7c33e30a18de52026b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6642436, "upload_time": "2019-02-10T22:34:49", "url": "https://files.pythonhosted.org/packages/a1/a6/b43483d796febd831cf52c996724145000f11650321ff0060ec156a5638a/aabbtree-2.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "17396f750df7a7c33e30a18de52026b6", "sha256": "3db6619882e8b9a55e68659121dc29452afbb6eb7912c782746e242ff790fed0" }, "downloads": -1, "filename": "aabbtree-2.3.1.tar.gz", "has_sig": false, "md5_digest": "17396f750df7a7c33e30a18de52026b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6642436, "upload_time": "2019-02-10T22:34:49", "url": "https://files.pythonhosted.org/packages/a1/a6/b43483d796febd831cf52c996724145000f11650321ff0060ec156a5638a/aabbtree-2.3.1.tar.gz" } ] }