summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 11:49:13 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 11:49:13 +0000
commit07a643b35b4ae7dc588b65a14f25dd338ec5f9db (patch)
tree9ebb2c896395e5d5e2be90be73add0e21d3c592b
parent42704736f704de24ba8234243649e41f56f372fb (diff)
automatic import of python-xatlasopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-xatlas.spec404
-rw-r--r--sources1
3 files changed, 406 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..cfc8905 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/xatlas-0.0.7.tar.gz
diff --git a/python-xatlas.spec b/python-xatlas.spec
new file mode 100644
index 0000000..73fc7fb
--- /dev/null
+++ b/python-xatlas.spec
@@ -0,0 +1,404 @@
+%global _empty_manifest_terminate_build 0
+Name: python-xatlas
+Version: 0.0.7
+Release: 1
+Summary: Python bindings for xatlas
+License: MIT
+URL: https://github.com/mworchel/xatlas-python
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/eb/73/1eeaa80a9a72c513fa8e4ac720095a6bf19c473e73036f6e9ef0ffefa634/xatlas-0.0.7.tar.gz
+
+
+%description
+# Python bindings for xatlas
+
+(Unofficial) Python bindings for [xatlas](https://github.com/jpcy/xatlas), a library that generates texture coordinates for triangle meshes.
+
+## Installation
+
+### From source
+
+```bash
+git clone --recursive https://github.com/mworchel/xatlas-python.git
+pip install ./xatlas-python
+```
+
+### Using Pip
+
+```bash
+pip install xatlas
+```
+
+## Usage
+
+### Parametrize a mesh and export it
+
+```python
+import trimesh
+import xatlas
+
+# We use trimesh (https://github.com/mikedh/trimesh) to load a mesh but you can use any library.
+mesh = trimesh.load_mesh("input.obj")
+
+# The parametrization potentially duplicates vertices.
+# `vmapping` contains the original vertex index for each new vertex (shape N, type uint32).
+# `indices` contains the vertex indices of the new triangles (shape Fx3, type uint32)
+# `uvs` contains texture coordinates of the new vertices (shape Nx2, type float32)
+vmapping, indices, uvs = xatlas.parametrize(mesh.vertices, mesh.faces)
+
+# Trimesh needs a material to export uv coordinates and always creates a *.mtl file.
+# Alternatively, we can use the `export` helper function to export the mesh as obj.
+xatlas.export("output.obj", mesh.vertices[vmapping], indices, uvs)
+
+# Both `xatlas.parametrize` and `xatlas.export` also accept vertex normals
+```
+
+### Parametrize multiple meshes using one atlas
+
+```python
+mesh1 = trimesh.load_mesh("input1.obj")
+mesh2 = trimesh.load_mesh("input2.obj")
+
+atlas = xatlas.Atlas()
+
+atlas.add_mesh(mesh1.vertices, mesh1.faces)
+atlas.add_mesh(mesh2.vertices, mesh2.faces)
+
+# Optionally parametrize the generation with
+# `xatlas.ChartOptions` and `xatlas.PackOptions`.
+atlas.generate()
+
+vmapping1, indices1, uvs1 = atlas[0]
+vmapping2, indices2, uvs2 = atlas[1]
+```
+
+### Repack multiple parametrized meshes into one atlas
+
+```python
+vertices1, indices1, uvs1 = load_mesh_with_uvs("input1.obj")
+vertices2, indices2, uvs2 = load_mesh_with_uvs("input2.obj")
+
+atlas = xatlas.Atlas()
+
+atlas.add_uv_mesh(uvs1, indices1)
+atlas.add_uv_mesh(uvs2, indices2)
+
+atlas.generate()
+
+vmapping1, indices1, uvs1 = atlas[0]
+vmapping2, indices2, uvs2 = atlas[1]
+```
+
+### Query the atlas
+
+```python
+atlas.mesh_count # Number of meshes
+len(atlas) # Convenience binding for `atlas.mesh_count`
+atlas.get_mesh(i) # Data for the i-th mesh
+atlas[i] # Convenience binding for `atlas.get_mesh`
+
+atlas.width # Width of the atlas
+atlas.height # Height of the atlas
+
+atlas.utilization # Utilization of the first atlas
+atlas.get_utilization(i) # Utilization of i-th atlas
+
+# The image requires passing custom PackOptions:
+# pack_options = xatlas.PackOptions()
+# pack_options.create_image = True
+# atlas.generate(pack_options=pack_options)
+atlas.chart_image # Debug image of the first atlas
+atlas.get_chart_image(i) # Debug image of the i-th atlas
+
+... # See xatlas documentation for all properties
+```
+
+## License
+
+The xatlas Python bindings are provided under a MIT license. By using, distributing, or contributing to this project, you agree to the terms and conditions of this license.
+
+## References
+
+Test model taken from the [ABC dataset](https://deep-geometry.github.io/abc-dataset/)
+
+
+%package -n python3-xatlas
+Summary: Python bindings for xatlas
+Provides: python-xatlas
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+BuildRequires: python3-cffi
+BuildRequires: gcc
+BuildRequires: gdb
+%description -n python3-xatlas
+# Python bindings for xatlas
+
+(Unofficial) Python bindings for [xatlas](https://github.com/jpcy/xatlas), a library that generates texture coordinates for triangle meshes.
+
+## Installation
+
+### From source
+
+```bash
+git clone --recursive https://github.com/mworchel/xatlas-python.git
+pip install ./xatlas-python
+```
+
+### Using Pip
+
+```bash
+pip install xatlas
+```
+
+## Usage
+
+### Parametrize a mesh and export it
+
+```python
+import trimesh
+import xatlas
+
+# We use trimesh (https://github.com/mikedh/trimesh) to load a mesh but you can use any library.
+mesh = trimesh.load_mesh("input.obj")
+
+# The parametrization potentially duplicates vertices.
+# `vmapping` contains the original vertex index for each new vertex (shape N, type uint32).
+# `indices` contains the vertex indices of the new triangles (shape Fx3, type uint32)
+# `uvs` contains texture coordinates of the new vertices (shape Nx2, type float32)
+vmapping, indices, uvs = xatlas.parametrize(mesh.vertices, mesh.faces)
+
+# Trimesh needs a material to export uv coordinates and always creates a *.mtl file.
+# Alternatively, we can use the `export` helper function to export the mesh as obj.
+xatlas.export("output.obj", mesh.vertices[vmapping], indices, uvs)
+
+# Both `xatlas.parametrize` and `xatlas.export` also accept vertex normals
+```
+
+### Parametrize multiple meshes using one atlas
+
+```python
+mesh1 = trimesh.load_mesh("input1.obj")
+mesh2 = trimesh.load_mesh("input2.obj")
+
+atlas = xatlas.Atlas()
+
+atlas.add_mesh(mesh1.vertices, mesh1.faces)
+atlas.add_mesh(mesh2.vertices, mesh2.faces)
+
+# Optionally parametrize the generation with
+# `xatlas.ChartOptions` and `xatlas.PackOptions`.
+atlas.generate()
+
+vmapping1, indices1, uvs1 = atlas[0]
+vmapping2, indices2, uvs2 = atlas[1]
+```
+
+### Repack multiple parametrized meshes into one atlas
+
+```python
+vertices1, indices1, uvs1 = load_mesh_with_uvs("input1.obj")
+vertices2, indices2, uvs2 = load_mesh_with_uvs("input2.obj")
+
+atlas = xatlas.Atlas()
+
+atlas.add_uv_mesh(uvs1, indices1)
+atlas.add_uv_mesh(uvs2, indices2)
+
+atlas.generate()
+
+vmapping1, indices1, uvs1 = atlas[0]
+vmapping2, indices2, uvs2 = atlas[1]
+```
+
+### Query the atlas
+
+```python
+atlas.mesh_count # Number of meshes
+len(atlas) # Convenience binding for `atlas.mesh_count`
+atlas.get_mesh(i) # Data for the i-th mesh
+atlas[i] # Convenience binding for `atlas.get_mesh`
+
+atlas.width # Width of the atlas
+atlas.height # Height of the atlas
+
+atlas.utilization # Utilization of the first atlas
+atlas.get_utilization(i) # Utilization of i-th atlas
+
+# The image requires passing custom PackOptions:
+# pack_options = xatlas.PackOptions()
+# pack_options.create_image = True
+# atlas.generate(pack_options=pack_options)
+atlas.chart_image # Debug image of the first atlas
+atlas.get_chart_image(i) # Debug image of the i-th atlas
+
+... # See xatlas documentation for all properties
+```
+
+## License
+
+The xatlas Python bindings are provided under a MIT license. By using, distributing, or contributing to this project, you agree to the terms and conditions of this license.
+
+## References
+
+Test model taken from the [ABC dataset](https://deep-geometry.github.io/abc-dataset/)
+
+
+%package help
+Summary: Development documents and examples for xatlas
+Provides: python3-xatlas-doc
+%description help
+# Python bindings for xatlas
+
+(Unofficial) Python bindings for [xatlas](https://github.com/jpcy/xatlas), a library that generates texture coordinates for triangle meshes.
+
+## Installation
+
+### From source
+
+```bash
+git clone --recursive https://github.com/mworchel/xatlas-python.git
+pip install ./xatlas-python
+```
+
+### Using Pip
+
+```bash
+pip install xatlas
+```
+
+## Usage
+
+### Parametrize a mesh and export it
+
+```python
+import trimesh
+import xatlas
+
+# We use trimesh (https://github.com/mikedh/trimesh) to load a mesh but you can use any library.
+mesh = trimesh.load_mesh("input.obj")
+
+# The parametrization potentially duplicates vertices.
+# `vmapping` contains the original vertex index for each new vertex (shape N, type uint32).
+# `indices` contains the vertex indices of the new triangles (shape Fx3, type uint32)
+# `uvs` contains texture coordinates of the new vertices (shape Nx2, type float32)
+vmapping, indices, uvs = xatlas.parametrize(mesh.vertices, mesh.faces)
+
+# Trimesh needs a material to export uv coordinates and always creates a *.mtl file.
+# Alternatively, we can use the `export` helper function to export the mesh as obj.
+xatlas.export("output.obj", mesh.vertices[vmapping], indices, uvs)
+
+# Both `xatlas.parametrize` and `xatlas.export` also accept vertex normals
+```
+
+### Parametrize multiple meshes using one atlas
+
+```python
+mesh1 = trimesh.load_mesh("input1.obj")
+mesh2 = trimesh.load_mesh("input2.obj")
+
+atlas = xatlas.Atlas()
+
+atlas.add_mesh(mesh1.vertices, mesh1.faces)
+atlas.add_mesh(mesh2.vertices, mesh2.faces)
+
+# Optionally parametrize the generation with
+# `xatlas.ChartOptions` and `xatlas.PackOptions`.
+atlas.generate()
+
+vmapping1, indices1, uvs1 = atlas[0]
+vmapping2, indices2, uvs2 = atlas[1]
+```
+
+### Repack multiple parametrized meshes into one atlas
+
+```python
+vertices1, indices1, uvs1 = load_mesh_with_uvs("input1.obj")
+vertices2, indices2, uvs2 = load_mesh_with_uvs("input2.obj")
+
+atlas = xatlas.Atlas()
+
+atlas.add_uv_mesh(uvs1, indices1)
+atlas.add_uv_mesh(uvs2, indices2)
+
+atlas.generate()
+
+vmapping1, indices1, uvs1 = atlas[0]
+vmapping2, indices2, uvs2 = atlas[1]
+```
+
+### Query the atlas
+
+```python
+atlas.mesh_count # Number of meshes
+len(atlas) # Convenience binding for `atlas.mesh_count`
+atlas.get_mesh(i) # Data for the i-th mesh
+atlas[i] # Convenience binding for `atlas.get_mesh`
+
+atlas.width # Width of the atlas
+atlas.height # Height of the atlas
+
+atlas.utilization # Utilization of the first atlas
+atlas.get_utilization(i) # Utilization of i-th atlas
+
+# The image requires passing custom PackOptions:
+# pack_options = xatlas.PackOptions()
+# pack_options.create_image = True
+# atlas.generate(pack_options=pack_options)
+atlas.chart_image # Debug image of the first atlas
+atlas.get_chart_image(i) # Debug image of the i-th atlas
+
+... # See xatlas documentation for all properties
+```
+
+## License
+
+The xatlas Python bindings are provided under a MIT license. By using, distributing, or contributing to this project, you agree to the terms and conditions of this license.
+
+## References
+
+Test model taken from the [ABC dataset](https://deep-geometry.github.io/abc-dataset/)
+
+
+%prep
+%autosetup -n xatlas-0.0.7
+
+%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-xatlas -f filelist.lst
+%dir %{python3_sitearch}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.7-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..4952ee4
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+bea5972218a1cc0932b318d286b2b475 xatlas-0.0.7.tar.gz