{ "info": { "author": "Michael Hogg", "author_email": "michael.christopher.hogg@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Other Environment", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: C++", "Programming Language :: Cython", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6" ], "description": "\npyoctree\n========\n\nOctree structure containing a 3D triangular mesh model. To be used for\nray tracing / shadow casting.\n\nWritten in C++ for speed, but exposed to Python using Cython.\n\n.. image:: https://img.shields.io/pypi/v/pyoctree.svg\n :target: https://pypi.python.org/pypi/pyoctree/\n :alt: Latest PyPI version\n\nDetails\n-------\n\nPyoctree uses an adaptive structure, so it will automatically divide\nbranches to ensure that there are no more than 200 objects per leaf.\n\nRequirements\n------------\n\n- Python 2.7 or Python >= 3.5\n\nOptional\n--------\n\n- vtk >= v6.2.0 or >= v7.0 (for outputting a vtk file for viewing octree structure in Paraview)\n- A C++ compiler for building the extension module from the provided cpp file (already cythonized). Suggested compilers are:\n - *The Microsoft C++ Compiler for Python 2.7* if using Python 2 on Windows\n - *Microsoft Visual C++ 2015 (14.0)* if using Python 3 on Windows\n - *gcc* on Linux\n - *Mingw32* on Windows or Linux \n- Cython >= v0.20 and a C++ compiler to build from source \n\nNote that a compiler is not required if installing using the provided Python wheel.\n\nInstallation\n------------\n\nIntersection testing uses parallel processing via OpenMP. To use more than a \nsingle processor, use the provided Python wheel or compile from source using a \ncompiler that supports OpenMP. Then set value of environment variable\nOMP\\_NUM\\_THREADS to the number of desired processors.\n\nNote that the compilers provided by the Anaconda Python distribution *do not* support OpenMP.\n\n1. Building from source\n~~~~~~~~~~~~~~~~~~~~~~~\n\nTo compile *without* OpenMP, open a command prompt, browse to the base directory containing the setup.py file and type:\n\n.. code::\n\n python setup.py install\n\nTo compile *with* OpenMP, open a command prompt, browse to the base directory containing the setup.py file and type:\n\n.. code::\n\n python setup.py install --openmp\n\n2. Installation using Python wheel\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nDownload the python wheel from `releases `_ i.e. \npyoctree-0.2.10-cp36-cp36m-win_amd64.whl for Python 3.6 on Windows 64-bit. Then, open a command \nprompt, browse to the download directory and type:\n\n.. code::\n\n pip install pyoctree-0.2.10-cp36-cp36m-win_amd64.whl\n\nNote that Python wheels have been built *with* OpenMP.\n\nUsage\n-----\n\n1. Creating the octree representation of a 3D triangular mesh model\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from pyoctree import pyoctree as ot\n tree = ot.PyOctree(pointCoords,connectivity)\n\nwhere:\n\n- pointCoords is a Nx3 numpy array of floats (dtype=float) representing\n the 3D coordinates of the mesh points\n\n- connectivity is a Nx3 numpy array of integers (dtype=np.int32)\n representing the point connectivity of each tri element in the mesh\n\n2. Finding intersection between mesh object and ray\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe octree can be used to quickly find intersections between the object\nand a ray. For example:\n\n.. code:: python\n\n import numpy as np\n startPoint = [0.0,0.0,0.0]\n endPoint = [0.0,0.0,1.0]\n rayList = np.array([[startPoint,endPoint]],dtype=np.float32)\n intersectionFound = tree.rayIntersection(rayList)\n\nExamples\n--------\n\nSome Jupyter notebooks are provided in the Examples directory on how to\nuse pyoctree.\n\nHelp\n----\n\nIf help is required, please create an issue on Github.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/mhogg/pyoctree/releases", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mhogg/pyoctree", "keywords": "octree,triangle,mesh,python,cython,ray,tracing", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "pyoctree", "package_url": "https://pypi.org/project/pyoctree/", "platform": "", "project_url": "https://pypi.org/project/pyoctree/", "project_urls": { "Download": "https://github.com/mhogg/pyoctree/releases", "Homepage": "https://github.com/mhogg/pyoctree" }, "release_url": "https://pypi.org/project/pyoctree/0.2.10/", "requires_dist": [ "numpy" ], "requires_python": "", "summary": "Octree structure containing 3D triangular mesh model", "version": "0.2.10" }, "last_serial": 4192055, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "46118f8acd511cb6e16cf033130f2a54", "sha256": "c93d219bb62708227d3cd18bfae45ab62437fbe04fdaf9968a5c1793dedb27e3" }, "downloads": -1, "filename": "pyoctree-0.1.0.zip", "has_sig": false, "md5_digest": "46118f8acd511cb6e16cf033130f2a54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2403021, "upload_time": "2015-08-09T10:58:34", "url": "https://files.pythonhosted.org/packages/34/1a/1225e4219a9692699b62c6a014142c678c38ab766fb7c9e421e9d5b22e02/pyoctree-0.1.0.zip" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c717b3573135cc3995b2a29792c62f06", "sha256": "e1eced7f53561c08de4d0fefc48b755737006cfcb98ed2c3bcd3014b9defdc05" }, "downloads": -1, "filename": "pyoctree-0.1.1.zip", "has_sig": false, "md5_digest": "c717b3573135cc3995b2a29792c62f06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2401987, "upload_time": "2015-08-09T23:20:53", "url": "https://files.pythonhosted.org/packages/b8/6b/bc3b71e3a852b6bd30b80489daf0a17a28e16806071bb92f6053cbf1035d/pyoctree-0.1.1.zip" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "c0d51cf0dbce32134f065e7f229001c1", "sha256": "690ebcce2ceb528e2608c8c3e6ce0da611a360b933f0afb0d854f36bf3436efa" }, "downloads": -1, "filename": "pyoctree-0.1.2-cp27-cp27m-win_amd64.whl", "has_sig": false, "md5_digest": "c0d51cf0dbce32134f065e7f229001c1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 2243601, "upload_time": "2016-09-06T12:37:08", "url": "https://files.pythonhosted.org/packages/01/91/45ec0ef06877f7298e84cadd0f64ffe598e3c7a431ad4e6198d7e0ca3259/pyoctree-0.1.2-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "0a8ce0a0652f2d648aecbd783e99ba2e", "sha256": "502faeb446373e95bb2a4f02ec2d230a7cfdb3907a0dce1bf172968b2bb5d80f" }, "downloads": -1, "filename": "pyoctree-0.1.2.tar.gz", "has_sig": false, "md5_digest": "0a8ce0a0652f2d648aecbd783e99ba2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2257765, "upload_time": "2016-09-06T12:36:52", "url": "https://files.pythonhosted.org/packages/08/a0/d2d1e4080ea9044142ca7acccbfaa1fc4fb7d12ddfa9882457820b18bfc9/pyoctree-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "31a4d71bd97b61d67fecfeef3f107550", "sha256": "9786365c4b4d52ad92d0ba80d3ca05dd83d85d9028c749c5003d23eef5c9bdfb" }, "downloads": -1, "filename": "pyoctree-0.2.0-cp27-cp27m-win_amd64.whl", "has_sig": false, "md5_digest": "31a4d71bd97b61d67fecfeef3f107550", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 148610, "upload_time": "2017-05-27T04:04:55", "url": "https://files.pythonhosted.org/packages/be/34/a8b3d0896e7cb5a8cbdfa767a3d589fe0051269fb54fdf2f76ed43e664c0/pyoctree-0.2.0-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "77c976d64b348663b1623e15e5b29909", "sha256": "79443368ef823954767f54db817f991e1996193a6b8110073f2f4bf5f4902e7f" }, "downloads": -1, "filename": "pyoctree-0.2.0-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "77c976d64b348663b1623e15e5b29909", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 128524, "upload_time": "2017-05-27T04:04:58", "url": "https://files.pythonhosted.org/packages/2c/78/a23b355b50c4e4b6d67fee20f72b2dd201055c34011a2a4e0e0c326ce501/pyoctree-0.2.0-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "8e8ab75428b990200109bc383d54e71e", "sha256": "e23779b816aa8cd0bf62cb040cd0e372355b44e233222b89ffa8b8e09b27c2d2" }, "downloads": -1, "filename": "pyoctree-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8e8ab75428b990200109bc383d54e71e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2033820, "upload_time": "2017-05-27T04:05:22", "url": "https://files.pythonhosted.org/packages/a3/be/3e092ed2bacc7cda6e345ab01703df2e1e0fd744e2a5152d08f1c29b065a/pyoctree-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "9de90004a44eb9386acf8cca9fa79293", "sha256": "9c21f2f37ebd5dae994f043902e2f057bb8c5d53796ad4eb05296d4c8b2dd8c4" }, "downloads": -1, "filename": "pyoctree-0.2.1-cp27-cp27m-win_amd64.whl", "has_sig": false, "md5_digest": "9de90004a44eb9386acf8cca9fa79293", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 2326681, "upload_time": "2017-05-27T09:47:38", "url": "https://files.pythonhosted.org/packages/7e/f1/e9077f6538db0db4f9ed2db7693050c15a27ed16fc35afff263dc9217a47/pyoctree-0.2.1-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "57c1e58d877f22fe54b80f5fd4fd1f09", "sha256": "2f70fad69ce2c2ab6bb72eb19eee49a7f42e5f47c9b10463548d08819bdbe398" }, "downloads": -1, "filename": "pyoctree-0.2.1-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "57c1e58d877f22fe54b80f5fd4fd1f09", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2306597, "upload_time": "2017-05-27T09:48:06", "url": "https://files.pythonhosted.org/packages/6d/3f/7ca5ee5c1ee133c54e302b731c0b82c409a32260974ca93573d58d6e476b/pyoctree-0.2.1-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "e47f8f062ee3bb1d7ffbdb306bbc715d", "sha256": "c6f52cbafd201991043f2ce1c230989e6c465ea418d422d831ac51946d4fe130" }, "downloads": -1, "filename": "pyoctree-0.2.1.tar.gz", "has_sig": false, "md5_digest": "e47f8f062ee3bb1d7ffbdb306bbc715d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 160783, "upload_time": "2017-05-27T09:48:13", "url": "https://files.pythonhosted.org/packages/53/ce/a68624a14a44837919251cdd354bbf94cdcad91a1575b6da5c405e2d9089/pyoctree-0.2.1.tar.gz" } ], "0.2.10": [ { "comment_text": "", "digests": { "md5": "2bcd54d7583c63c3f677fe7cc68ef704", "sha256": "67ad5e7f709f5ba01d5268dd74db3d1758a47c761c46077ffe550a5debe925d4" }, "downloads": -1, "filename": "pyoctree-0.2.10-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "2bcd54d7583c63c3f677fe7cc68ef704", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2429236, "upload_time": "2018-08-21T00:13:59", "url": "https://files.pythonhosted.org/packages/4b/87/8d457f93026861c0e1926152b9f01e0a7b096fc469a04583d2a91db31d2e/pyoctree-0.2.10-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "26aee0f20f472b032a56d00bb4f5c738", "sha256": "d3654cdabe0b3bf418056f5c5fccf5618a69524a9602d332bdbb00bcd04cdbda" }, "downloads": -1, "filename": "pyoctree-0.2.10.tar.gz", "has_sig": false, "md5_digest": "26aee0f20f472b032a56d00bb4f5c738", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2281856, "upload_time": "2018-08-21T00:14:33", "url": "https://files.pythonhosted.org/packages/ff/b9/0000bafc6e857d0ee771b6b064e0b5933f16ab486d6439fadb773c976719/pyoctree-0.2.10.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "22cde45f4c2adc9f0d26e6f8fdf6e562", "sha256": "10977db20c2ed76b162eddea2b08041ef250d72a7056d53545c987ab475f4115" }, "downloads": -1, "filename": "pyoctree-0.2.2-cp27-cp27m-win_amd64.whl", "has_sig": false, "md5_digest": "22cde45f4c2adc9f0d26e6f8fdf6e562", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 2326680, "upload_time": "2017-05-27T09:54:03", "url": "https://files.pythonhosted.org/packages/ed/b0/f48db0403201e6e144a89ddd2ef7cf150683d6f20d426767870f22092fa4/pyoctree-0.2.2-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "5472fdcdace59f52e72d5cbedd9d3467", "sha256": "f56d28ce95e69c13ae03e9e19ca00c804fecdbccebfca15e84133e609f3a7fbb" }, "downloads": -1, "filename": "pyoctree-0.2.2-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "5472fdcdace59f52e72d5cbedd9d3467", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2306595, "upload_time": "2017-05-27T09:54:43", "url": "https://files.pythonhosted.org/packages/a8/8c/878c135d3be8f57d5bd665ec0b786b52916e67d63cbcbc64bd97a2d79573/pyoctree-0.2.2-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "d620e19a9f1ddab513bc0a085add0cd2", "sha256": "f5ab9727fd40d37609306bedfbb78600709fb70a003cb7a8cd83fddbcbfe40d6" }, "downloads": -1, "filename": "pyoctree-0.2.2.tar.gz", "has_sig": false, "md5_digest": "d620e19a9f1ddab513bc0a085add0cd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2179322, "upload_time": "2017-05-27T09:55:13", "url": "https://files.pythonhosted.org/packages/62/cf/cde6b411521b51523b60b91f3da28bccb8a47e0253e061c8679ba9bec666/pyoctree-0.2.2.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "27d6cbf989d001b7f5d7cea7ed0f4267", "sha256": "36a029f5462ce44ac47746c91e09844a55dc01fde8af5e27b6232792c4cec37f" }, "downloads": -1, "filename": "pyoctree-0.2.4-cp27-cp27m-win_amd64.whl", "has_sig": false, "md5_digest": "27d6cbf989d001b7f5d7cea7ed0f4267", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 2326958, "upload_time": "2017-09-25T13:26:02", "url": "https://files.pythonhosted.org/packages/b8/81/74a13e0b94a6bf38b8d8bf1a49d34ee1940892044d5c30df3676f2aebb75/pyoctree-0.2.4-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "0d89501799d776794f0a8a3e3392295b", "sha256": "a1702d13adfe8a6bcabea02f6e6278c320437ecc8cd1055cd7d771af7ae51f70" }, "downloads": -1, "filename": "pyoctree-0.2.4-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "0d89501799d776794f0a8a3e3392295b", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2339123, "upload_time": "2017-09-25T13:26:48", "url": "https://files.pythonhosted.org/packages/db/8d/8f3f0303796674e6d3536b7cc91675de0d4c618e5bb141125c7da008eadd/pyoctree-0.2.4-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "837dcbff441d87ebdd0af34d3a535da4", "sha256": "703b8b9123df81b4866a458f359711b6a5015b02b2d018fbf57d3ec445b3a12d" }, "downloads": -1, "filename": "pyoctree-0.2.4.tar.gz", "has_sig": false, "md5_digest": "837dcbff441d87ebdd0af34d3a535da4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2179807, "upload_time": "2017-09-25T13:27:30", "url": "https://files.pythonhosted.org/packages/94/d2/848f4fbaae1a5262029238bccf8130cd3ffd1bed62a19f219adc023a95ee/pyoctree-0.2.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2bcd54d7583c63c3f677fe7cc68ef704", "sha256": "67ad5e7f709f5ba01d5268dd74db3d1758a47c761c46077ffe550a5debe925d4" }, "downloads": -1, "filename": "pyoctree-0.2.10-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "2bcd54d7583c63c3f677fe7cc68ef704", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2429236, "upload_time": "2018-08-21T00:13:59", "url": "https://files.pythonhosted.org/packages/4b/87/8d457f93026861c0e1926152b9f01e0a7b096fc469a04583d2a91db31d2e/pyoctree-0.2.10-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "26aee0f20f472b032a56d00bb4f5c738", "sha256": "d3654cdabe0b3bf418056f5c5fccf5618a69524a9602d332bdbb00bcd04cdbda" }, "downloads": -1, "filename": "pyoctree-0.2.10.tar.gz", "has_sig": false, "md5_digest": "26aee0f20f472b032a56d00bb4f5c738", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2281856, "upload_time": "2018-08-21T00:14:33", "url": "https://files.pythonhosted.org/packages/ff/b9/0000bafc6e857d0ee771b6b064e0b5933f16ab486d6439fadb773c976719/pyoctree-0.2.10.tar.gz" } ] }