science/py-sdf: add a simple SDF mesh generator

This commit is contained in:
Thierry Thomas 2022-11-19 17:34:16 +01:00
parent 57b0181fea
commit 68756d9a56
5 changed files with 82 additions and 0 deletions

View file

@ -400,6 +400,7 @@
SUBDIR += py-scimath
SUBDIR += py-scipy
SUBDIR += py-scoria
SUBDIR += py-sdf
SUBDIR += py-segregation
SUBDIR += py-segyio
SUBDIR += py-sklearn-pandas

36
science/py-sdf/Makefile Normal file
View file

@ -0,0 +1,36 @@
PORTNAME= sdf
PORTVERSION= 0.1
CATEGORIES= science cad python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= thierry@FreeBSD.org
COMMENT= Simple SDF mesh generation in Python
WWW= https://github.com/nschloe/meshio
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.md
RUN_DEPENDS= ${PYNUMPY} \
${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}meshio>0:science/py-meshio@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}matplotlib>0:math/py-matplotlib@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scikit-image>0:graphics/py-scikit-image@${PY_FLAVOR}
USE_GITHUB= yes
GH_ACCOUNT= fogleman
GH_TAGNAME= cee1dac # No release yet
USES= python:3.7+
USE_PYTHON= distutils
OPTIONS_DEFINE= EXAMPLES
PORTEXAMPLES= *
NO_ARCH= yes
post-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
(cd ${WRKSRC}/examples && ${INSTALL_DATA} * ${STAGEDIR}${EXAMPLESDIR})
.include <bsd.port.mk>

3
science/py-sdf/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1668871567
SHA256 (fogleman-sdf-0.1-cee1dac_GH0.tar.gz) = 1a78bd4cc73aa126cad938eddabcd459768c2d71c853fc30c20af3f810695143
SIZE (fogleman-sdf-0.1-cee1dac_GH0.tar.gz) = 8269639

12
science/py-sdf/pkg-descr Normal file
View file

@ -0,0 +1,12 @@
Generate 3D meshes based on SDFs (signed distance functions) with a dirt simple
Python API.
sdf natively writes binary STL files. For other formats, meshio is used (based
on your output file extension). This adds support for over 20 different 3D file
formats, including OBJ, PLY, VTK, and many more.
You could use cad/meshlab or cad/gmsh to view the mesh.
Remark: there exists also another Python program named SDF (in uppercase),
Scientific Data Format, but this is a different one: see
<https://pypi.org/project/SDF/>.

30
science/py-sdf/pkg-plist Normal file
View file

@ -0,0 +1,30 @@
%%PYTHON_SITELIBDIR%%/sdf/__init__.py
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/d2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/d2.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/d3.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/d3.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/dn.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/dn.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/ease.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/ease.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/mesh.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/mesh.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/progress.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/progress.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/stl.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/stl.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/text.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/text.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/util.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/sdf/__pycache__/util.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/sdf/d2.py
%%PYTHON_SITELIBDIR%%/sdf/d3.py
%%PYTHON_SITELIBDIR%%/sdf/dn.py
%%PYTHON_SITELIBDIR%%/sdf/ease.py
%%PYTHON_SITELIBDIR%%/sdf/mesh.py
%%PYTHON_SITELIBDIR%%/sdf/progress.py
%%PYTHON_SITELIBDIR%%/sdf/stl.py
%%PYTHON_SITELIBDIR%%/sdf/text.py
%%PYTHON_SITELIBDIR%%/sdf/util.py