%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. ![blastsight](https://users.dcc.uchile.cl/~gsanhuez/blastsight_app.png) ## 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. ![blastsight](https://users.dcc.uchile.cl/~gsanhuez/blastsight_app.png) ## 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. ![blastsight](https://users.dcc.uchile.cl/~gsanhuez/blastsight_app.png) ## 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 - 0.10.3-1 - Package Spec generated