summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-pyscaffolder.spec353
-rw-r--r--sources1
3 files changed, 355 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..46f6c89 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/PyScaffolder-1.5.2.post1.tar.gz
diff --git a/python-pyscaffolder.spec b/python-pyscaffolder.spec
new file mode 100644
index 0000000..b474ddd
--- /dev/null
+++ b/python-pyscaffolder.spec
@@ -0,0 +1,353 @@
+%global _empty_manifest_terminate_build 0
+Name: python-PyScaffolder
+Version: 1.5.2.post1
+Release: 1
+Summary: Generate 3D mesh from implicit surface and an input mesh
+License: MIT License
+URL: https://github.com/nodtem66/Scaffolder
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9b/42/13febeb309d5476e02cfdd65b46e27463eb97b57f0a9acf82329caeafc1a/PyScaffolder-1.5.2.post1.tar.gz
+
+
+%description
+# Scaffolder
+![Build Status](https://github.com/nodtem66/Scaffolder/actions/workflows/binary.yml/badge.svg) [![Build Status](https://dev.azure.com/n66/PublicCI/_apis/build/status%2Fnodtem66.Scaffolder%20(Anaconda%20release)?branchName=master)](https://dev.azure.com/n66/PublicCI/_build/latest?definitionId=8&branchName=master)
+
+[![Anaconda](https://anaconda.org/nodtem66/scaffolder/badges/version.svg)](https://anaconda.org/nodtem66/scaffolder) ![Last update](https://anaconda.org/nodtem66/scaffolder/badges/latest_release_date.svg) ![Platform](https://anaconda.org/nodtem66/scaffolder/badges/platforms.svg)
+
+![Scaffolder Logo](https://github.com/nodtem66/Scaffolder/raw/master/docs/images/scaffolder_logo.jpg)
+
+Transform a 3D model from STL/PLY/OFF/OBJ to a porous model with implicit function (e.g., Schwarz P/ Gyroid).
+
+[Documentation](https://nodtem66.github.io/Scaffolder)
+
+## Binary installation
+* Download from [Github Releases page](https://github.com/nodtem66/Scaffolder/releases) or
+* Install from Anaconda
+```bash
+conda install -c nodtem66 scaffolder
+```
+
+## Python supports
+```bash
+pip install PyScaffolder
+```
+
+## Blender addon
+- Install the `Scaffolder-blender.zip` downloaded from [Release](https://github.com/nodtem66/Scaffolder/releases/tag/v1.5.1)
+- The plugin will appear at `View > Sidebar` or `Press N`
+
+## Screenshots
+
+- **Blender plugin with PyScaffolder**
+
+![Blender plugin](https://github.com/nodtem66/Scaffolder/raw/master/docs/images/blender-plugin.gif)
+
+- **The figure of patterns implemented in this program**
+
+![TPMS Patterns](https://github.com/nodtem66/Scaffolder/raw/master/docs/images/patterns.jpg)
+
+
+- **The examples of generated porous scaffold**
+
+![Examples porous scaffold](https://github.com/nodtem66/Scaffolder/raw/master/docs/images/examples.jpg)
+
+## Dependencies
+- [libigl](https://libigl.github.io/) - The computational geometry library
+- [vcglib](https://github.com/cnr-isti-vclab/vcglib) - The mesh utility library
+- [sol2](https://github.com/ThePhD/sol2) - Lua script integration
+- [tbb](https://github.com/oneapi-src/oneTBB) - Threading library
+
+## How it works
+- Read STL file and finding the boundary box
+- Generate the grid and calculate the winding number with STL mesh
+- Use winding number to determine the condition for [implicit isosurface function](https://wewanttolearn.wordpress.com/2019/02/03/triply-periodic-minimal-surfaces/)
+- Generate the isosurface field in the same-size grid
+- Perform [Dual marching cube](https://github.com/dominikwodniok/dualmc) to construct the manifold
+- Clean up the duplicated vertices or faces, and abandon the group of connected faces having the diameter below the setting
+- Export to the target 3D format
+
+## FAQ
+
+### How can I find the dataset from a study of coffient and isolevel?
+The raw dataset is available at [Mendeley Data](https://data.mendeley.com/datasets/sbxr7xxvnd/2).
+The program that used to generate that data was released at [Github repository](https://github.com/nodtem66/Scaffolder). You can also find the interactive visualization at [Google Colab](https://colab.research.google.com/github/nodtem66/Scaffolder/blob/master/data/data_visualization.ipynb)
+
+### Where is the implicit functions were defined in the C++ sourcecode?
+https://github.com/nodtem66/Scaffolder/blob/master/include/implicit_function.h
+
+### Can you suggest alternative softwares like this program?
+- Rhino (Grasshopper)
+- nTopology
+- Hyperganic
+
+## References
+- [Minimal surface Blog](https://minimalsurfaces.blog/)
+- Dual marching cube - [dualmc](https://github.com/dominikwodniok/dualmc)
+- Command line parser - [cxxopts](https://github.com/jarro2783/cxxopts)
+- Progress bar - [ProgressBar](https://github.com/prakhar1989/progress-cpp)
+
+## Citation
+[Computational method and program for generating a porous scaffold based on implicit surfaces](https://doi.org/10.1016/j.cmpb.2021.106088)
+```bibtex
+@article{IAMSAMANG2021106088,
+title = {Computational method and program for generating a porous scaffold based on implicit surfaces},
+journal = {Computer Methods and Programs in Biomedicine},
+volume = {205},
+pages = {106088},
+year = {2021},
+issn = {0169-2607},
+doi = {https://doi.org/10.1016/j.cmpb.2021.106088},
+url = {https://www.sciencedirect.com/science/article/pii/S0169260721001632},
+author = {Jirawat Iamsamang and Phornphop Naiyanetr},
+keywords = {Triply periodic minimal surface (TPMS), Implicit surface, Porous scaffold, Pore size, Porosity}
+}
+```
+
+
+%package -n python3-PyScaffolder
+Summary: Generate 3D mesh from implicit surface and an input mesh
+Provides: python-PyScaffolder
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+BuildRequires: python3-cffi
+BuildRequires: gcc
+BuildRequires: gdb
+%description -n python3-PyScaffolder
+# Scaffolder
+![Build Status](https://github.com/nodtem66/Scaffolder/actions/workflows/binary.yml/badge.svg) [![Build Status](https://dev.azure.com/n66/PublicCI/_apis/build/status%2Fnodtem66.Scaffolder%20(Anaconda%20release)?branchName=master)](https://dev.azure.com/n66/PublicCI/_build/latest?definitionId=8&branchName=master)
+
+[![Anaconda](https://anaconda.org/nodtem66/scaffolder/badges/version.svg)](https://anaconda.org/nodtem66/scaffolder) ![Last update](https://anaconda.org/nodtem66/scaffolder/badges/latest_release_date.svg) ![Platform](https://anaconda.org/nodtem66/scaffolder/badges/platforms.svg)
+
+![Scaffolder Logo](https://github.com/nodtem66/Scaffolder/raw/master/docs/images/scaffolder_logo.jpg)
+
+Transform a 3D model from STL/PLY/OFF/OBJ to a porous model with implicit function (e.g., Schwarz P/ Gyroid).
+
+[Documentation](https://nodtem66.github.io/Scaffolder)
+
+## Binary installation
+* Download from [Github Releases page](https://github.com/nodtem66/Scaffolder/releases) or
+* Install from Anaconda
+```bash
+conda install -c nodtem66 scaffolder
+```
+
+## Python supports
+```bash
+pip install PyScaffolder
+```
+
+## Blender addon
+- Install the `Scaffolder-blender.zip` downloaded from [Release](https://github.com/nodtem66/Scaffolder/releases/tag/v1.5.1)
+- The plugin will appear at `View > Sidebar` or `Press N`
+
+## Screenshots
+
+- **Blender plugin with PyScaffolder**
+
+![Blender plugin](https://github.com/nodtem66/Scaffolder/raw/master/docs/images/blender-plugin.gif)
+
+- **The figure of patterns implemented in this program**
+
+![TPMS Patterns](https://github.com/nodtem66/Scaffolder/raw/master/docs/images/patterns.jpg)
+
+
+- **The examples of generated porous scaffold**
+
+![Examples porous scaffold](https://github.com/nodtem66/Scaffolder/raw/master/docs/images/examples.jpg)
+
+## Dependencies
+- [libigl](https://libigl.github.io/) - The computational geometry library
+- [vcglib](https://github.com/cnr-isti-vclab/vcglib) - The mesh utility library
+- [sol2](https://github.com/ThePhD/sol2) - Lua script integration
+- [tbb](https://github.com/oneapi-src/oneTBB) - Threading library
+
+## How it works
+- Read STL file and finding the boundary box
+- Generate the grid and calculate the winding number with STL mesh
+- Use winding number to determine the condition for [implicit isosurface function](https://wewanttolearn.wordpress.com/2019/02/03/triply-periodic-minimal-surfaces/)
+- Generate the isosurface field in the same-size grid
+- Perform [Dual marching cube](https://github.com/dominikwodniok/dualmc) to construct the manifold
+- Clean up the duplicated vertices or faces, and abandon the group of connected faces having the diameter below the setting
+- Export to the target 3D format
+
+## FAQ
+
+### How can I find the dataset from a study of coffient and isolevel?
+The raw dataset is available at [Mendeley Data](https://data.mendeley.com/datasets/sbxr7xxvnd/2).
+The program that used to generate that data was released at [Github repository](https://github.com/nodtem66/Scaffolder). You can also find the interactive visualization at [Google Colab](https://colab.research.google.com/github/nodtem66/Scaffolder/blob/master/data/data_visualization.ipynb)
+
+### Where is the implicit functions were defined in the C++ sourcecode?
+https://github.com/nodtem66/Scaffolder/blob/master/include/implicit_function.h
+
+### Can you suggest alternative softwares like this program?
+- Rhino (Grasshopper)
+- nTopology
+- Hyperganic
+
+## References
+- [Minimal surface Blog](https://minimalsurfaces.blog/)
+- Dual marching cube - [dualmc](https://github.com/dominikwodniok/dualmc)
+- Command line parser - [cxxopts](https://github.com/jarro2783/cxxopts)
+- Progress bar - [ProgressBar](https://github.com/prakhar1989/progress-cpp)
+
+## Citation
+[Computational method and program for generating a porous scaffold based on implicit surfaces](https://doi.org/10.1016/j.cmpb.2021.106088)
+```bibtex
+@article{IAMSAMANG2021106088,
+title = {Computational method and program for generating a porous scaffold based on implicit surfaces},
+journal = {Computer Methods and Programs in Biomedicine},
+volume = {205},
+pages = {106088},
+year = {2021},
+issn = {0169-2607},
+doi = {https://doi.org/10.1016/j.cmpb.2021.106088},
+url = {https://www.sciencedirect.com/science/article/pii/S0169260721001632},
+author = {Jirawat Iamsamang and Phornphop Naiyanetr},
+keywords = {Triply periodic minimal surface (TPMS), Implicit surface, Porous scaffold, Pore size, Porosity}
+}
+```
+
+
+%package help
+Summary: Development documents and examples for PyScaffolder
+Provides: python3-PyScaffolder-doc
+%description help
+# Scaffolder
+![Build Status](https://github.com/nodtem66/Scaffolder/actions/workflows/binary.yml/badge.svg) [![Build Status](https://dev.azure.com/n66/PublicCI/_apis/build/status%2Fnodtem66.Scaffolder%20(Anaconda%20release)?branchName=master)](https://dev.azure.com/n66/PublicCI/_build/latest?definitionId=8&branchName=master)
+
+[![Anaconda](https://anaconda.org/nodtem66/scaffolder/badges/version.svg)](https://anaconda.org/nodtem66/scaffolder) ![Last update](https://anaconda.org/nodtem66/scaffolder/badges/latest_release_date.svg) ![Platform](https://anaconda.org/nodtem66/scaffolder/badges/platforms.svg)
+
+![Scaffolder Logo](https://github.com/nodtem66/Scaffolder/raw/master/docs/images/scaffolder_logo.jpg)
+
+Transform a 3D model from STL/PLY/OFF/OBJ to a porous model with implicit function (e.g., Schwarz P/ Gyroid).
+
+[Documentation](https://nodtem66.github.io/Scaffolder)
+
+## Binary installation
+* Download from [Github Releases page](https://github.com/nodtem66/Scaffolder/releases) or
+* Install from Anaconda
+```bash
+conda install -c nodtem66 scaffolder
+```
+
+## Python supports
+```bash
+pip install PyScaffolder
+```
+
+## Blender addon
+- Install the `Scaffolder-blender.zip` downloaded from [Release](https://github.com/nodtem66/Scaffolder/releases/tag/v1.5.1)
+- The plugin will appear at `View > Sidebar` or `Press N`
+
+## Screenshots
+
+- **Blender plugin with PyScaffolder**
+
+![Blender plugin](https://github.com/nodtem66/Scaffolder/raw/master/docs/images/blender-plugin.gif)
+
+- **The figure of patterns implemented in this program**
+
+![TPMS Patterns](https://github.com/nodtem66/Scaffolder/raw/master/docs/images/patterns.jpg)
+
+
+- **The examples of generated porous scaffold**
+
+![Examples porous scaffold](https://github.com/nodtem66/Scaffolder/raw/master/docs/images/examples.jpg)
+
+## Dependencies
+- [libigl](https://libigl.github.io/) - The computational geometry library
+- [vcglib](https://github.com/cnr-isti-vclab/vcglib) - The mesh utility library
+- [sol2](https://github.com/ThePhD/sol2) - Lua script integration
+- [tbb](https://github.com/oneapi-src/oneTBB) - Threading library
+
+## How it works
+- Read STL file and finding the boundary box
+- Generate the grid and calculate the winding number with STL mesh
+- Use winding number to determine the condition for [implicit isosurface function](https://wewanttolearn.wordpress.com/2019/02/03/triply-periodic-minimal-surfaces/)
+- Generate the isosurface field in the same-size grid
+- Perform [Dual marching cube](https://github.com/dominikwodniok/dualmc) to construct the manifold
+- Clean up the duplicated vertices or faces, and abandon the group of connected faces having the diameter below the setting
+- Export to the target 3D format
+
+## FAQ
+
+### How can I find the dataset from a study of coffient and isolevel?
+The raw dataset is available at [Mendeley Data](https://data.mendeley.com/datasets/sbxr7xxvnd/2).
+The program that used to generate that data was released at [Github repository](https://github.com/nodtem66/Scaffolder). You can also find the interactive visualization at [Google Colab](https://colab.research.google.com/github/nodtem66/Scaffolder/blob/master/data/data_visualization.ipynb)
+
+### Where is the implicit functions were defined in the C++ sourcecode?
+https://github.com/nodtem66/Scaffolder/blob/master/include/implicit_function.h
+
+### Can you suggest alternative softwares like this program?
+- Rhino (Grasshopper)
+- nTopology
+- Hyperganic
+
+## References
+- [Minimal surface Blog](https://minimalsurfaces.blog/)
+- Dual marching cube - [dualmc](https://github.com/dominikwodniok/dualmc)
+- Command line parser - [cxxopts](https://github.com/jarro2783/cxxopts)
+- Progress bar - [ProgressBar](https://github.com/prakhar1989/progress-cpp)
+
+## Citation
+[Computational method and program for generating a porous scaffold based on implicit surfaces](https://doi.org/10.1016/j.cmpb.2021.106088)
+```bibtex
+@article{IAMSAMANG2021106088,
+title = {Computational method and program for generating a porous scaffold based on implicit surfaces},
+journal = {Computer Methods and Programs in Biomedicine},
+volume = {205},
+pages = {106088},
+year = {2021},
+issn = {0169-2607},
+doi = {https://doi.org/10.1016/j.cmpb.2021.106088},
+url = {https://www.sciencedirect.com/science/article/pii/S0169260721001632},
+author = {Jirawat Iamsamang and Phornphop Naiyanetr},
+keywords = {Triply periodic minimal surface (TPMS), Implicit surface, Porous scaffold, Pore size, Porosity}
+}
+```
+
+
+%prep
+%autosetup -n PyScaffolder-1.5.2.post1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-PyScaffolder -f filelist.lst
+%dir %{python3_sitearch}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 1.5.2.post1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..85eaa29
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+a58886cd9555bc78551af4c3efc0f369 PyScaffolder-1.5.2.post1.tar.gz