| |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| import io |
| import os |
| import os.path as osp |
|
|
| from setuptools import find_packages, setup |
|
|
| import torch |
| from torch.utils.cpp_extension import BuildExtension, CUDAExtension |
|
|
| |
| NAME = 'mesh_mesh_intersection' |
| DESCRIPTION = 'PyTorch module for Mesh-Mesh intersection detection' |
| URL = '' |
| EMAIL = 'vassilis.choutas@tuebingen.mpg.de' |
| AUTHOR = 'Vassilis Choutas' |
| REQUIRES_PYTHON = '>=3.6.0' |
| VERSION = '0.2.0' |
|
|
| here = os.path.abspath(os.path.dirname(__file__)) |
|
|
| try: |
| FileNotFoundError |
| except NameError: |
| FileNotFoundError = IOError |
| |
| |
| try: |
| with io.open(os.path.join(here, 'README.md'), encoding='utf-8') as f: |
| long_description = '\n' + f.read() |
| except FileNotFoundError: |
| long_description = DESCRIPTION |
|
|
| |
| about = {} |
| if not VERSION: |
| with open(os.path.join(here, NAME, '__version__.py')) as f: |
| exec(f.read(), about) |
| else: |
| about['__version__'] = VERSION |
|
|
| mesh_mesh_intersect_src_files = [ |
| 'src/mesh_mesh_intersect.cpp', 'src/mesh_mesh_intersect_cuda_op.cu'] |
| mesh_mesh_intersect_include_dirs = torch.utils.cpp_extension.include_paths() + [ |
| osp.abspath('include'), |
| osp.abspath(osp.expandvars('$CUDA_SAMPLES_INC'))] |
|
|
| mesh_mesh_intersect_extra_compile_args = { |
| 'nvcc': ['-DPRINT_TIMINGS=0', '-DDEBUG_PRINT=0', |
| '-DERROR_CHECKING=1', |
| '-DCOLLISION_ORDERING=1'], |
| 'cxx': []} |
| mesh_mesh_intersect_extension = CUDAExtension( |
| 'mesh_mesh_intersect_cuda', mesh_mesh_intersect_src_files, |
| include_dirs=mesh_mesh_intersect_include_dirs, |
| extra_compile_args=mesh_mesh_intersect_extra_compile_args) |
|
|
| render_reqs = ['pyrender>=0.1.23', 'trimesh>=2.37.6', 'shapely'] |
|
|
| setup(name=NAME, |
| version=about['__version__'], |
| description=DESCRIPTION, |
| long_description=long_description, |
| long_description_content_type='text/markdown', |
| author=AUTHOR, |
| author_email=EMAIL, |
| python_requires=REQUIRES_PYTHON, |
| url=URL, |
| packages=find_packages(), |
| ext_modules=[mesh_mesh_intersect_extension], |
| classifiers=[ |
| "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", |
| "Environment :: Console", |
| "Programming Language :: Python", |
| "Programming Language :: Python :: 3.6", |
| "Programming Language :: Python :: 3.7"], |
| install_requires=[ |
| 'torch>=1.6.0', |
| ], |
| extras_require={ |
| 'render': render_reqs, |
| 'all': render_reqs |
| }, |
| cmdclass={'build_ext': BuildExtension}) |
|
|