diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-15 08:59:27 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 08:59:27 +0000 |
commit | 537851b0a3b49273ed2b34abcf907a529c6a9502 (patch) | |
tree | 50bbf1cb70784eb0579e2deb658201246f9500a6 | |
parent | aee31355a6ce2d1ceafac1469b5c39ea475b63c1 (diff) |
automatic import of python-blastsight
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-blastsight.spec | 445 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 447 insertions, 0 deletions
@@ -0,0 +1 @@ +/blastsight-0.10.3.tar.gz diff --git a/python-blastsight.spec b/python-blastsight.spec new file mode 100644 index 0000000..7ae26d2 --- /dev/null +++ b/python-blastsight.spec @@ -0,0 +1,445 @@ +%global _empty_manifest_terminate_build 0 +Name: python-blastsight +Version: 0.10.3 +Release: 1 +Summary: A 3D visualization library oriented to mining applications +License: MIT License +URL: https://github.com/gsanhueza/BlastSight +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d5/7c/75715fa69106ae4637c743916c8d80c5385529da994a52157f195ac7dd3f/blastsight-0.10.3.tar.gz +BuildArch: noarch + +Requires: python3-numpy +Requires: python3-dxfgrabber +Requires: python3-PyOpenGL +Requires: python3-pandas +Requires: python3-qtpy +Requires: python3-h5py +Requires: python3-tables +Requires: python3-meshcut +Requires: python3-freetype-py +Requires: python3-pyside2 + +%description +# BlastSight + +BlastSight is a 3D visualization software designed to aid in Mining research. + + + +## Installation + +You can install BlastSight with the following command: + +`pip install blastsight` + +BlastSight requires the Python implementation of Qt5, and uses +`qtpy` to abstract backends. + +This means that you need to install a backend yourself, using either of these commands: + +- `pip install pyqt5` +- `pip install pyside2` + +Both backends should work, but if you find errors using one backend, try with the other! +You can read the documentation from [qtpy](https://github.com/spyder-ide/qtpy) +for more information. + +## Usage + +Implemented in Python 3.7 and qtpy, it's useful as a library and as an application, +so you can use it as a viewer, or integrate it to an application you're developing. + +### Application Mode + +Start the application with `python -m blastsight`. + +From there you can load elements with File > Load [element]. + +More information in Help > Help. + +### Integrable Mode + +You can embed BlastSight's viewer within your application. + +Check the following code and adapt it to your needs. + +```python +from qtpy.QtWidgets import QApplication +from qtpy.QtWidgets import QWidget +from qtpy.QtWidgets import QGridLayout +from blastsight.view.integrableviewer import IntegrableViewer + + +class EmbeddedViewer(QWidget): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('EmbeddedViewer') + self.resize(800, 600) + self.viewer = IntegrableViewer(self) + self.layout = QGridLayout(self) + self.layout.addWidget(self.viewer, 0, 0, 1, 1) + + +if __name__ == '__main__': + app = QApplication([]) + embedded = EmbeddedViewer() + embedded.show() + app.exec_() +``` + +### Viewer Mode + +You can also use BlastSight as a simple viewer when you write your own script. + +Insert the following lines in your script: + +```python +from blastsight.view.viewer import Viewer +viewer = Viewer() + +# Your code + +viewer.show() +``` + +## Basic API + +The following methods can be used to render your elements directly. +Keep in mind that these methods receive their arguments as *kwargs*, they're not positional. + +```python +# Mesh +viewer.mesh(x: list, y: list, z: list, indices: list, color: list, alpha: float, wireframe: bool, highlight: bool) + +# Blocks +viewer.blocks(x: list, y: list, z: list, block_size: list, values: list, vmin: float, vmax: float, colormap: str) + +# Points +viewer.points(x: list, y: list, z: list, point_size: float, values: list, vmin: float, vmax: float, colormap: str) + +# Lines +viewer.lines(x: list, y: list, z: list, color: list, loop: bool) + +# Tubes +viewer.tubes(x: list, y: list, z: list, color: list, loop: bool, radius: float, resolution: int) +``` + +Notes: + +* An additional 'name' *kwargs* can be used to give each element a name. +* For **every** element, you can replace (x, y, z) with *vertices*, which is a list +of positions, where each position is a list of (x, y, z). +* For **meshes**, the *indices* argument is a list of index, where index is a list of +(i1, i2, i3). +* For **blocks** and **points** you can replace (values, vmin, vmax) with *color*, +which is a list of colors for each position, where each color is a list of (r, g, b), +between 0.0 and 1.0. + +## Examples + +BlastSight comes with a folder of examples that show what you can do with it. + +It's recommended to check `examples/demo.py` in https://github.com/gsanhueza/BlastSight/ +to develop an idea of how to use this software. + + +%package -n python3-blastsight +Summary: A 3D visualization library oriented to mining applications +Provides: python-blastsight +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-blastsight +# BlastSight + +BlastSight is a 3D visualization software designed to aid in Mining research. + + + +## Installation + +You can install BlastSight with the following command: + +`pip install blastsight` + +BlastSight requires the Python implementation of Qt5, and uses +`qtpy` to abstract backends. + +This means that you need to install a backend yourself, using either of these commands: + +- `pip install pyqt5` +- `pip install pyside2` + +Both backends should work, but if you find errors using one backend, try with the other! +You can read the documentation from [qtpy](https://github.com/spyder-ide/qtpy) +for more information. + +## Usage + +Implemented in Python 3.7 and qtpy, it's useful as a library and as an application, +so you can use it as a viewer, or integrate it to an application you're developing. + +### Application Mode + +Start the application with `python -m blastsight`. + +From there you can load elements with File > Load [element]. + +More information in Help > Help. + +### Integrable Mode + +You can embed BlastSight's viewer within your application. + +Check the following code and adapt it to your needs. + +```python +from qtpy.QtWidgets import QApplication +from qtpy.QtWidgets import QWidget +from qtpy.QtWidgets import QGridLayout +from blastsight.view.integrableviewer import IntegrableViewer + + +class EmbeddedViewer(QWidget): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('EmbeddedViewer') + self.resize(800, 600) + self.viewer = IntegrableViewer(self) + self.layout = QGridLayout(self) + self.layout.addWidget(self.viewer, 0, 0, 1, 1) + + +if __name__ == '__main__': + app = QApplication([]) + embedded = EmbeddedViewer() + embedded.show() + app.exec_() +``` + +### Viewer Mode + +You can also use BlastSight as a simple viewer when you write your own script. + +Insert the following lines in your script: + +```python +from blastsight.view.viewer import Viewer +viewer = Viewer() + +# Your code + +viewer.show() +``` + +## Basic API + +The following methods can be used to render your elements directly. +Keep in mind that these methods receive their arguments as *kwargs*, they're not positional. + +```python +# Mesh +viewer.mesh(x: list, y: list, z: list, indices: list, color: list, alpha: float, wireframe: bool, highlight: bool) + +# Blocks +viewer.blocks(x: list, y: list, z: list, block_size: list, values: list, vmin: float, vmax: float, colormap: str) + +# Points +viewer.points(x: list, y: list, z: list, point_size: float, values: list, vmin: float, vmax: float, colormap: str) + +# Lines +viewer.lines(x: list, y: list, z: list, color: list, loop: bool) + +# Tubes +viewer.tubes(x: list, y: list, z: list, color: list, loop: bool, radius: float, resolution: int) +``` + +Notes: + +* An additional 'name' *kwargs* can be used to give each element a name. +* For **every** element, you can replace (x, y, z) with *vertices*, which is a list +of positions, where each position is a list of (x, y, z). +* For **meshes**, the *indices* argument is a list of index, where index is a list of +(i1, i2, i3). +* For **blocks** and **points** you can replace (values, vmin, vmax) with *color*, +which is a list of colors for each position, where each color is a list of (r, g, b), +between 0.0 and 1.0. + +## Examples + +BlastSight comes with a folder of examples that show what you can do with it. + +It's recommended to check `examples/demo.py` in https://github.com/gsanhueza/BlastSight/ +to develop an idea of how to use this software. + + +%package help +Summary: Development documents and examples for blastsight +Provides: python3-blastsight-doc +%description help +# BlastSight + +BlastSight is a 3D visualization software designed to aid in Mining research. + + + +## Installation + +You can install BlastSight with the following command: + +`pip install blastsight` + +BlastSight requires the Python implementation of Qt5, and uses +`qtpy` to abstract backends. + +This means that you need to install a backend yourself, using either of these commands: + +- `pip install pyqt5` +- `pip install pyside2` + +Both backends should work, but if you find errors using one backend, try with the other! +You can read the documentation from [qtpy](https://github.com/spyder-ide/qtpy) +for more information. + +## Usage + +Implemented in Python 3.7 and qtpy, it's useful as a library and as an application, +so you can use it as a viewer, or integrate it to an application you're developing. + +### Application Mode + +Start the application with `python -m blastsight`. + +From there you can load elements with File > Load [element]. + +More information in Help > Help. + +### Integrable Mode + +You can embed BlastSight's viewer within your application. + +Check the following code and adapt it to your needs. + +```python +from qtpy.QtWidgets import QApplication +from qtpy.QtWidgets import QWidget +from qtpy.QtWidgets import QGridLayout +from blastsight.view.integrableviewer import IntegrableViewer + + +class EmbeddedViewer(QWidget): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('EmbeddedViewer') + self.resize(800, 600) + self.viewer = IntegrableViewer(self) + self.layout = QGridLayout(self) + self.layout.addWidget(self.viewer, 0, 0, 1, 1) + + +if __name__ == '__main__': + app = QApplication([]) + embedded = EmbeddedViewer() + embedded.show() + app.exec_() +``` + +### Viewer Mode + +You can also use BlastSight as a simple viewer when you write your own script. + +Insert the following lines in your script: + +```python +from blastsight.view.viewer import Viewer +viewer = Viewer() + +# Your code + +viewer.show() +``` + +## Basic API + +The following methods can be used to render your elements directly. +Keep in mind that these methods receive their arguments as *kwargs*, they're not positional. + +```python +# Mesh +viewer.mesh(x: list, y: list, z: list, indices: list, color: list, alpha: float, wireframe: bool, highlight: bool) + +# Blocks +viewer.blocks(x: list, y: list, z: list, block_size: list, values: list, vmin: float, vmax: float, colormap: str) + +# Points +viewer.points(x: list, y: list, z: list, point_size: float, values: list, vmin: float, vmax: float, colormap: str) + +# Lines +viewer.lines(x: list, y: list, z: list, color: list, loop: bool) + +# Tubes +viewer.tubes(x: list, y: list, z: list, color: list, loop: bool, radius: float, resolution: int) +``` + +Notes: + +* An additional 'name' *kwargs* can be used to give each element a name. +* For **every** element, you can replace (x, y, z) with *vertices*, which is a list +of positions, where each position is a list of (x, y, z). +* For **meshes**, the *indices* argument is a list of index, where index is a list of +(i1, i2, i3). +* For **blocks** and **points** you can replace (values, vmin, vmax) with *color*, +which is a list of colors for each position, where each color is a list of (r, g, b), +between 0.0 and 1.0. + +## Examples + +BlastSight comes with a folder of examples that show what you can do with it. + +It's recommended to check `examples/demo.py` in https://github.com/gsanhueza/BlastSight/ +to develop an idea of how to use this software. + + +%prep +%autosetup -n blastsight-0.10.3 + +%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-blastsight -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.10.3-1 +- Package Spec generated @@ -0,0 +1 @@ +95e6a75e9c80e7b1721bcc47fa026230 blastsight-0.10.3.tar.gz |