diff options
Diffstat (limited to 'examples/datavisualization/surface_numpy/surfacegraph.py')
-rw-r--r-- | examples/datavisualization/surface_numpy/surfacegraph.py | 56 |
1 files changed, 16 insertions, 40 deletions
diff --git a/examples/datavisualization/surface_numpy/surfacegraph.py b/examples/datavisualization/surface_numpy/surfacegraph.py index 259877d10..654c9d05c 100644 --- a/examples/datavisualization/surface_numpy/surfacegraph.py +++ b/examples/datavisualization/surface_numpy/surfacegraph.py @@ -1,42 +1,6 @@ -############################################################################# -## -## Copyright (C) 2022 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the Qt for Python examples of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:BSD$ -## You may use this file under the terms of the BSD license as follows: -## -## "Redistribution and use in source and binary forms, with or without -## modification, are permitted provided that the following conditions are -## met: -## * Redistributions of source code must retain the above copyright -## notice, this list of conditions and the following disclaimer. -## * Redistributions in binary form must reproduce the above copyright -## notice, this list of conditions and the following disclaimer in -## the documentation and/or other materials provided with the -## distribution. -## * Neither the name of The Qt Company Ltd nor the names of its -## contributors may be used to endorse or promote products derived -## from this software without specific prior written permission. -## -## -## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +from __future__ import annotations import numpy as np import math @@ -108,6 +72,7 @@ class SurfaceGraph(QObject): self.m_stepX = 0.0 self.m_stepZ = 0.0 + @Slot(bool) def enable_sqrt_sin_model(self, enable): if enable: self.m_sqrtSinSeries.setDrawMode(QSurface3DSeries.DrawSurfaceAndWireframe) @@ -139,6 +104,7 @@ class SurfaceGraph(QObject): self.m_axisMaxSliderZ.setMaximum(SAMPLE_COUNT_Z - 1) self.m_axisMaxSliderZ.setValue(SAMPLE_COUNT_Z - 1) + @Slot(bool) def enable_height_map_model(self, enable): if enable: self.m_heightMapSeries.setDrawMode(QSurface3DSeries.DrawSurface) @@ -173,6 +139,7 @@ class SurfaceGraph(QObject): self.m_axisMaxSliderZ.setMaximum(map_grid_count_z - 1) self.m_axisMaxSliderZ.setValue(map_grid_count_z - 1) + @Slot(int) def adjust_xmin(self, minimum): min_x = self.m_stepX * float(minimum) + self.m_rangeMinX @@ -184,6 +151,7 @@ class SurfaceGraph(QObject): self.set_axis_xrange(min_x, max_x) + @Slot(int) def adjust_xmax(self, maximum): max_x = self.m_stepX * float(maximum) + self.m_rangeMinX @@ -195,6 +163,7 @@ class SurfaceGraph(QObject): self.set_axis_xrange(min_x, max_x) + @Slot(int) def adjust_zmin(self, minimum): min_z = self.m_stepZ * float(minimum) + self.m_rangeMinZ @@ -206,6 +175,7 @@ class SurfaceGraph(QObject): self.set_axis_zrange(min_z, max_z) + @Slot(int) def adjust_zmax(self, maximum): max_x = self.m_stepZ * float(maximum) + self.m_rangeMinZ @@ -223,10 +193,11 @@ class SurfaceGraph(QObject): def set_axis_zrange(self, minimum, maximum): self.m_graph.axisZ().setRange(minimum, maximum) - @Slot() + @Slot(int) def change_theme(self, theme): self.m_graph.activeTheme().setType(Q3DTheme.Theme(theme)) + @Slot() def set_black_to_yellow_gradient(self): gr = QLinearGradient() gr.setColorAt(0.0, Qt.black) @@ -238,6 +209,7 @@ class SurfaceGraph(QObject): series.setBaseGradient(gr) series.setColorStyle(Q3DTheme.ColorStyleRangeGradient) + @Slot() def set_green_to_red_gradient(self): gr = QLinearGradient() gr.setColorAt(0.0, Qt.darkGreen) @@ -249,17 +221,21 @@ class SurfaceGraph(QObject): series.setBaseGradient(gr) series.setColorStyle(Q3DTheme.ColorStyleRangeGradient) + @Slot() def toggle_mode_none(self): self.m_graph.setSelectionMode(QAbstract3DGraph.SelectionNone) + @Slot() def toggle_mode_item(self): self.m_graph.setSelectionMode(QAbstract3DGraph.SelectionItem) + @Slot() def toggle_mode_slice_row(self): self.m_graph.setSelectionMode( QAbstract3DGraph.SelectionItemAndRow | QAbstract3DGraph.SelectionSlice ) + @Slot() def toggle_mode_slice_column(self): self.m_graph.setSelectionMode( QAbstract3DGraph.SelectionItemAndColumn | QAbstract3DGraph.SelectionSlice |