{ "info": { "author": "Stephen Nneji", "author_email": "steve.nneji@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Cython", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Games/Entertainment :: Simulation", "Topic :: Scientific/Engineering :: Physics" ], "description": "\nGImpact-Python\n==================\nAn unofficial python extension for the [GImpact collision library](http://gimpact.sourceforge.net/manual/gimpact_manual.html). This extension integrates directly with GImpact's C++ API using Cython.\n\nFeatures\n---------\n* Create trimesh object from numpy array\n* Mesh decimation using Sven Forstmann's C++ mesh simplification [code](https://github.com/sp4cerat/Fast-Quadric-Mesh-Simplification) \n* Axis Aligned Bounding Box (AABB)\n* AABB set for box prunning\n* Collision of triangle mesh with the following\n * triangle mesh\n * sphere\n * capsule\n * plane\n * ray\n * Supports \"first contact\" or \"all contacts\" modes\n\nBuild Wheel\n-----------\n``` shell\npip install -q build\npython -m build\n```\n\n\nInstallation\n------------\nBuild requires numpy and cython (tested on Linux and Windows).\n``` shell\npip install gimpact\n```\n\nExample Usage\n-------------\nAABB\n``` python\nimport gimpact\n\n\naabb1 = gimpact.AABB(-1, 1, -1, 1, -1, 1)\naabb2 = gimpact.AABB(-1, 1, -1, 1, 1.5, 2)\n\nprint(aabb1.intersects(aabb2))\nprint(aabb1.intersection(aabb2))\n\naabb1.merge(aabb2)\nprint(aabb1)\n```\n\nBox Prunning\n``` python\nimport gimpact\n\naabb_set = gimpact.AABBSet(10)\nprint(len(aabb_set))\nprint(aabb_set.global_bounds)\nfor aabb in aabb_set:\n aabb.bounds = (0., 0., 0., 0., 0., 0.)\n\nfor aabb in aabb_set:\n print(aabb)\n\nprint(aabb_set.global_bounds)\npairs = aabb_set.find_intersections(aabb_set)\nprint(pairs)\n\ndel aabb_set\nprint(aabb.bounds)\n```\n\nCollision\n``` python\nimport gimpact\nimport numpy as np\n\ncontacts = gimpact.trimesh_trimesh_collision(trimesh1, trimesh2)\ncontacts = gimpact.trimesh_sphere_collision(trimesh1, [0., 0., 0.], 1, True)\ncontacts = gimpact.trimesh_capsule_collision(trimesh1, np.array([0., 0., 0.]), np.array([1., 0., 0.]), 1, True)\ncontacts = gimpact.trimesh_plane_collision(trimesh1, [0., 0., 1., 0.], True)\n```\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/StephenNneji", "keywords": "GImpact,Trimesh,Collision detection,Cython", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "gimpact", "package_url": "https://pypi.org/project/gimpact/", "platform": null, "project_url": "https://pypi.org/project/gimpact/", "project_urls": { "Homepage": "https://github.com/StephenNneji" }, "release_url": "https://pypi.org/project/gimpact/1.0.0/", "requires_dist": [ "numpy (>=1.18.5)" ], "requires_python": "", "summary": "An unofficial python extension for the GImpact collision library.", "version": "1.0.0", "yanked": false, "yanked_reason": null }, "last_serial": 13759001, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "42850c4f71b2ca766de545ebcd3ee536", "sha256": "5d805af048e31a1d5d25a1429bb6496bc9b3e04aee518b4534310ef716b1e2ff" }, "downloads": -1, "filename": "gimpact-0.1.0.tar.gz", "has_sig": false, "md5_digest": "42850c4f71b2ca766de545ebcd3ee536", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 233449, "upload_time": "2019-10-29T18:17:31", "upload_time_iso_8601": "2019-10-29T18:17:31.328174Z", "url": "https://files.pythonhosted.org/packages/05/22/0f70875e8bd0886f0e724410c9f8c1e3fda432c01978263b1c9f14752d45/gimpact-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b58f589a76f010e655c3f90ccc44d616", "sha256": "06b603cbdcbe45fca9fd96a28bc35cdb941aaddaff803dd08de83e4b6bb31195" }, "downloads": -1, "filename": "gimpact-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b58f589a76f010e655c3f90ccc44d616", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 227397, "upload_time": "2022-05-06T15:21:27", "upload_time_iso_8601": "2022-05-06T15:21:27.912882Z", "url": "https://files.pythonhosted.org/packages/2b/66/249a4c8f3ae94f96a02d99a8c02dcb1a92ab4f7844e9ad6a8eb45a892a69/gimpact-0.1.1.tar.gz", "yanked": true, "yanked_reason": "broken build" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "96a303d8b53743e179bad3130407078e", "sha256": "bfdc31c18400bdf96f8daa4ddca5179b0f5645f15ad05a499aa79d0affba1acf" }, "downloads": -1, "filename": "gimpact-0.1.2-cp38-cp38-win_amd64.whl", "has_sig": false, "md5_digest": "96a303d8b53743e179bad3130407078e", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 136455, "upload_time": "2022-05-09T12:15:45", "upload_time_iso_8601": "2022-05-09T12:15:45.682237Z", "url": "https://files.pythonhosted.org/packages/7b/5a/e852930a9e747c3f8326d7b6cf4738e2af6aa78cc9d071cc3c49ac1f5661/gimpact-0.1.2-cp38-cp38-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0af05054d52a1fc8a262c08e58cf0812", "sha256": "d7075886a131e7fc8ad5651906a89a83d6147d2ccfe34345393eeadb50cbd311" }, "downloads": -1, "filename": "gimpact-0.1.2-cp39-cp39-win_amd64.whl", "has_sig": false, "md5_digest": "0af05054d52a1fc8a262c08e58cf0812", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 136715, "upload_time": "2022-05-09T12:15:47", "upload_time_iso_8601": "2022-05-09T12:15:47.430904Z", "url": "https://files.pythonhosted.org/packages/89/bc/9afce7a095a9ebb6f9c70f14c9d32c9b0c978b59895552c958b004858571/gimpact-0.1.2-cp39-cp39-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "187c286897d68ad65cec1cfe2f2b3f27", "sha256": "33af659066c26bd1937f94252e00e305bebe03fd056c77a310bcbd222b5890e3" }, "downloads": -1, "filename": "gimpact-0.1.2.tar.gz", "has_sig": false, "md5_digest": "187c286897d68ad65cec1cfe2f2b3f27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 227612, "upload_time": "2022-05-09T12:15:49", "upload_time_iso_8601": "2022-05-09T12:15:49.376362Z", "url": "https://files.pythonhosted.org/packages/c0/0f/1ec9f0354d5006b470131706fa6a129be708e1ef5f3132355946a023950b/gimpact-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "b88473fc036d497c5bbafc21651d32f4", "sha256": "769b884f5b6177564ae43056bbf2b5a102eac8b82ad43ee6294cfcd43a1e7efa" }, "downloads": -1, "filename": "gimpact-1.0.0-cp38-cp38-win_amd64.whl", "has_sig": false, "md5_digest": "b88473fc036d497c5bbafc21651d32f4", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 136455, "upload_time": "2022-05-09T13:32:00", "upload_time_iso_8601": "2022-05-09T13:32:00.791158Z", "url": "https://files.pythonhosted.org/packages/19/20/e05c160d7a498926c8f062fc38ded290d4060b50bb285ca44cc438ef3a43/gimpact-1.0.0-cp38-cp38-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f3baa46f23106c866839ea841cfd5f8d", "sha256": "812ad77a37c838ca1502fbc1304fb3babd75fe428c79222f9b950f1423e4ce64" }, "downloads": -1, "filename": "gimpact-1.0.0-cp39-cp39-win_amd64.whl", "has_sig": false, "md5_digest": "f3baa46f23106c866839ea841cfd5f8d", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 136716, "upload_time": "2022-05-09T13:32:03", "upload_time_iso_8601": "2022-05-09T13:32:03.016748Z", "url": "https://files.pythonhosted.org/packages/56/b9/631d07e334ee34f5dff88d8f5a7a77eaf6d739b0e7793cc313349336ea18/gimpact-1.0.0-cp39-cp39-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b5897f123e7bd02a44d3db9ca2df5a31", "sha256": "3a988b63cce2519657494e9a10eeffc6001202d3967f9257f723675682ffac20" }, "downloads": -1, "filename": "gimpact-1.0.0.tar.gz", "has_sig": false, "md5_digest": "b5897f123e7bd02a44d3db9ca2df5a31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 227598, "upload_time": "2022-05-09T13:32:05", "upload_time_iso_8601": "2022-05-09T13:32:05.376434Z", "url": "https://files.pythonhosted.org/packages/17/6f/4c7ddd338f378d6b663608f0e429220964d898ec8cf020ceb3c06df322fc/gimpact-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b88473fc036d497c5bbafc21651d32f4", "sha256": "769b884f5b6177564ae43056bbf2b5a102eac8b82ad43ee6294cfcd43a1e7efa" }, "downloads": -1, "filename": "gimpact-1.0.0-cp38-cp38-win_amd64.whl", "has_sig": false, "md5_digest": "b88473fc036d497c5bbafc21651d32f4", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 136455, "upload_time": "2022-05-09T13:32:00", "upload_time_iso_8601": "2022-05-09T13:32:00.791158Z", "url": "https://files.pythonhosted.org/packages/19/20/e05c160d7a498926c8f062fc38ded290d4060b50bb285ca44cc438ef3a43/gimpact-1.0.0-cp38-cp38-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f3baa46f23106c866839ea841cfd5f8d", "sha256": "812ad77a37c838ca1502fbc1304fb3babd75fe428c79222f9b950f1423e4ce64" }, "downloads": -1, "filename": "gimpact-1.0.0-cp39-cp39-win_amd64.whl", "has_sig": false, "md5_digest": "f3baa46f23106c866839ea841cfd5f8d", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 136716, "upload_time": "2022-05-09T13:32:03", "upload_time_iso_8601": "2022-05-09T13:32:03.016748Z", "url": "https://files.pythonhosted.org/packages/56/b9/631d07e334ee34f5dff88d8f5a7a77eaf6d739b0e7793cc313349336ea18/gimpact-1.0.0-cp39-cp39-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b5897f123e7bd02a44d3db9ca2df5a31", "sha256": "3a988b63cce2519657494e9a10eeffc6001202d3967f9257f723675682ffac20" }, "downloads": -1, "filename": "gimpact-1.0.0.tar.gz", "has_sig": false, "md5_digest": "b5897f123e7bd02a44d3db9ca2df5a31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 227598, "upload_time": "2022-05-09T13:32:05", "upload_time_iso_8601": "2022-05-09T13:32:05.376434Z", "url": "https://files.pythonhosted.org/packages/17/6f/4c7ddd338f378d6b663608f0e429220964d898ec8cf020ceb3c06df322fc/gimpact-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }