summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/barchart/main.cpp2
-rw-r--r--examples/qmlbarchart/qml/qmlbarchart/main.qml2
-rw-r--r--examples/qmlscatter/qml/qmlscatter/main.qml2
-rw-r--r--examples/rainfall/rainfallchart.cpp2
-rw-r--r--examples/scatterchart/scatterchart.cpp10
-rw-r--r--examples/widget/chart.cpp2
-rw-r--r--src/datavis3d/engine/abstract3dcontroller.cpp4
-rw-r--r--src/datavis3d/engine/abstract3dcontroller_p.h4
-rw-r--r--src/datavis3d/engine/bars3dcontroller.cpp4
-rw-r--r--src/datavis3d/engine/bars3dcontroller_p.h2
-rw-r--r--src/datavis3d/engine/bars3drenderer.cpp28
-rw-r--r--src/datavis3d/engine/drawer_p.h13
-rw-r--r--src/datavis3d/engine/maps3dcontroller.cpp8
-rw-r--r--src/datavis3d/engine/maps3dcontroller_p.h2
-rw-r--r--src/datavis3d/engine/q3dbars.cpp6
-rw-r--r--src/datavis3d/engine/q3dbars.h2
-rw-r--r--src/datavis3d/engine/q3dmaps.cpp2
-rw-r--r--src/datavis3d/engine/q3dmaps.h2
-rw-r--r--src/datavis3d/engine/q3dscatter.cpp44
-rw-r--r--src/datavis3d/engine/q3dscatter.h29
-rw-r--r--src/datavis3d/engine/scatter3dcontroller.cpp8
-rw-r--r--src/datavis3d/engine/scatter3dcontroller_p.h7
-rw-r--r--src/datavis3d/engine/scatter3drenderer.cpp10
-rw-r--r--src/datavis3d/global/qdatavis3dnamespace.h24
-rw-r--r--src/datavis3dqml2/declarativebars.cpp4
-rw-r--r--src/datavis3dqml2/declarativebars_p.h10
-rw-r--r--src/datavis3dqml2/declarativemaps.cpp2
-rw-r--r--src/datavis3dqml2/declarativemaps_p.h10
-rw-r--r--src/datavis3dqml2/declarativescatter.cpp8
-rw-r--r--src/datavis3dqml2/declarativescatter_p.h21
30 files changed, 129 insertions, 145 deletions
diff --git a/examples/barchart/main.cpp b/examples/barchart/main.cpp
index 1529530c..9cad6c2f 100644
--- a/examples/barchart/main.cpp
+++ b/examples/barchart/main.cpp
@@ -87,7 +87,7 @@ ChartDataGenerator::ChartDataGenerator(Q3DBars *barchart, QTableWidget *tableWid
#ifndef USE_STATIC_DATA
// Set selection mode to full
- m_chart->setSelectionMode(ModeBarRowAndColumn);
+ m_chart->setSelectionMode(ModeItemRowAndColumn);
#else
// Set selection mode to zoom row
m_chart->setSelectionMode(ModeZoomRow);
diff --git a/examples/qmlbarchart/qml/qmlbarchart/main.qml b/examples/qmlbarchart/qml/qmlbarchart/main.qml
index db67a09e..241d0049 100644
--- a/examples/qmlbarchart/qml/qmlbarchart/main.qml
+++ b/examples/qmlbarchart/qml/qmlbarchart/main.qml
@@ -98,7 +98,7 @@ Item {
height: dataView.height
gridVisible: true
shadowQuality: Bars3D.ShadowNone
- selectionMode: Bars3D.ModeBar
+ selectionMode: Bars3D.ModeItem
labelTransparency: Bars3D.TransparencyNone
rows: 5
columns: 12
diff --git a/examples/qmlscatter/qml/qmlscatter/main.qml b/examples/qmlscatter/qml/qmlscatter/main.qml
index 64438f0d..7decbb10 100644
--- a/examples/qmlscatter/qml/qmlscatter/main.qml
+++ b/examples/qmlscatter/qml/qmlscatter/main.qml
@@ -68,7 +68,7 @@ Item {
Component.onCompleted: {
console.log("testscatter complete");
shadowQuality = Scatter3D.ShadowNone
- selectionMode = Scatter3D.ModeBar
+ selectionMode = Scatter3D.ModeItem
labelTransparency = Scatter3D.TransparencyNoBackground
data = dataModel
}
diff --git a/examples/rainfall/rainfallchart.cpp b/examples/rainfall/rainfallchart.cpp
index a5d97921..a7d3a46b 100644
--- a/examples/rainfall/rainfallchart.cpp
+++ b/examples/rainfall/rainfallchart.cpp
@@ -68,7 +68,7 @@ RainfallChart::RainfallChart(Q3DBars *rainfall)
m_chart->setFont(QFont("Century Gothic", 40));
// Set selection mode to bar and column
- //m_chart->setSelectionMode(ModeBarAndColumn);
+ //m_chart->setSelectionMode(ModeItemAndColumn);
m_chart->setSelectionMode(ModeZoomColumn);
// Set theme
diff --git a/examples/scatterchart/scatterchart.cpp b/examples/scatterchart/scatterchart.cpp
index 7aef253b..d8aa23b1 100644
--- a/examples/scatterchart/scatterchart.cpp
+++ b/examples/scatterchart/scatterchart.cpp
@@ -31,7 +31,7 @@ ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter)
m_fontSize(30.0f)
{
m_chart->setFontSize(m_fontSize);
- m_chart->setBarType(Spheres, true);
+ m_chart->setObjectType(Spheres, true);
m_chart->setTheme(ThemeBrownSand);
m_chart->setShadowQuality(ShadowHigh);
@@ -86,16 +86,16 @@ void ScatterDataModifier::changeStyle()
static int model = 0;
switch (model) {
case 0:
- m_chart->setBarType(Dots, false);
+ m_chart->setObjectType(Dots, false);
break;
case 1:
- m_chart->setBarType(Dots, true);
+ m_chart->setObjectType(Dots, true);
break;
case 2:
- m_chart->setBarType(Spheres, false);
+ m_chart->setObjectType(Spheres, false);
break;
case 3:
- m_chart->setBarType(Spheres, true);
+ m_chart->setObjectType(Spheres, true);
break;
}
model++;
diff --git a/examples/widget/chart.cpp b/examples/widget/chart.cpp
index 91c87578..31c076f2 100644
--- a/examples/widget/chart.cpp
+++ b/examples/widget/chart.cpp
@@ -84,7 +84,7 @@ void ChartModifier::restart(bool dynamicData)
// Set up sample space
m_chart->setupSampleSpace(m_rowCount, m_columnCount);
// Set selection mode to full
- m_chart->setSelectionMode(ModeBarRowAndColumn);
+ m_chart->setSelectionMode(ModeItemRowAndColumn);
m_chart->valueAxis()->setSegmentCount(m_segments * 2);
m_chart->valueAxis()->setSubSegmentCount(0);
m_chart->valueAxis()->setAutoAdjustRange(true);
diff --git a/src/datavis3d/engine/abstract3dcontroller.cpp b/src/datavis3d/engine/abstract3dcontroller.cpp
index 133d1ffd..619f39b6 100644
--- a/src/datavis3d/engine/abstract3dcontroller.cpp
+++ b/src/datavis3d/engine/abstract3dcontroller.cpp
@@ -176,8 +176,8 @@ void Abstract3DController::setCameraPosition(GLfloat horizontal, GLfloat vertica
//qDebug() << "camera rotation set to" << m_horizontalRotation << m_verticalRotation;
}
-void Abstract3DController::setBarColor(QColor baseColor, QColor heightColor, QColor depthColor,
- bool uniform)
+void Abstract3DController::setObjectColor(QColor baseColor, QColor heightColor, QColor depthColor,
+ bool uniform)
{
m_theme.m_baseColor = baseColor;
m_theme.m_heightColor = heightColor;
diff --git a/src/datavis3d/engine/abstract3dcontroller_p.h b/src/datavis3d/engine/abstract3dcontroller_p.h
index 9b70987b..c89d7f60 100644
--- a/src/datavis3d/engine/abstract3dcontroller_p.h
+++ b/src/datavis3d/engine/abstract3dcontroller_p.h
@@ -112,8 +112,8 @@ public:
// Set color if you don't want to use themes. Set uniform to false if you want the (height)
// color to change from bottom to top
- virtual void setBarColor(QColor baseColor, QColor heightColor, QColor depthColor,
- bool uniform = true);
+ virtual void setObjectColor(QColor baseColor, QColor heightColor, QColor depthColor,
+ bool uniform = true);
// Set theme (bar colors, shaders, window color, background colors, light intensity and text
// colors are affected)
diff --git a/src/datavis3d/engine/bars3dcontroller.cpp b/src/datavis3d/engine/bars3dcontroller.cpp
index 7192d627..d12becb4 100644
--- a/src/datavis3d/engine/bars3dcontroller.cpp
+++ b/src/datavis3d/engine/bars3dcontroller.cpp
@@ -40,7 +40,7 @@ Bars3dController::Bars3dController(QRect boundRect)
m_columnCount(0),
m_mouseState(MouseNone),
m_mousePos(QPoint(0, 0)),
- m_selectionMode(ModeBar),
+ m_selectionMode(ModeItem),
m_isSlicingActivated(false),
m_isBarSpecRelative(true),
m_barThickness(QSizeF(0.75f, 0.75f)),
@@ -353,7 +353,7 @@ QString Bars3dController::objFile()
return m_objFile;
}
-void Bars3dController::setBarType(BarStyle style, bool smooth)
+void Bars3dController::setBarType(MeshStyle style, bool smooth)
{
if (style == Bars) {
if (smooth)
diff --git a/src/datavis3d/engine/bars3dcontroller_p.h b/src/datavis3d/engine/bars3dcontroller_p.h
index 4386fb63..5a533fc5 100644
--- a/src/datavis3d/engine/bars3dcontroller_p.h
+++ b/src/datavis3d/engine/bars3dcontroller_p.h
@@ -114,7 +114,7 @@ public:
bool isBarSpecRelative();
// bar type; bars (=cubes), pyramids, cones, cylinders, etc.
- void setBarType(BarStyle style, bool smooth = false);
+ void setBarType(MeshStyle style, bool smooth = false);
QString objFile();
// override bar type with own mesh
diff --git a/src/datavis3d/engine/bars3drenderer.cpp b/src/datavis3d/engine/bars3drenderer.cpp
index dfc84e33..33874050 100644
--- a/src/datavis3d/engine/bars3drenderer.cpp
+++ b/src/datavis3d/engine/bars3drenderer.cpp
@@ -423,32 +423,32 @@ void Bars3dRenderer::drawSlicedScene(CameraHelper *camera,
QVector3D(0.0f, m_yAdjustment, zComp),
QVector3D(0.0f, 0.0f, 0.0f), 0,
m_cachedSelectionMode, m_labelShader,
- m_labelObj, camera, false, false, LabelTop);
+ m_labelObj, camera, false, false, Drawer::LabelTop);
}
m_drawer->drawLabel(*dummyItem, zLabel, viewMatrix, projectionMatrix,
QVector3D(0.0f, m_yAdjustment, zComp),
QVector3D(0.0f, 0.0f, 0.0f), 0,
m_cachedSelectionMode, m_labelShader,
- m_labelObj, camera, false, false, LabelBottom);
+ m_labelObj, camera, false, false, Drawer::LabelBottom);
} else {
m_drawer->drawLabel(*dummyItem, xLabel, viewMatrix, projectionMatrix,
QVector3D(0.0f, m_yAdjustment, zComp),
QVector3D(0.0f, 0.0f, 0.0f), 0,
m_cachedSelectionMode, m_labelShader,
- m_labelObj, camera, false, false, LabelBottom);
+ m_labelObj, camera, false, false, Drawer::LabelBottom);
if (m_sliceTitleItem) {
m_drawer->drawLabel(*dummyItem, sliceSelectionLabel, viewMatrix, projectionMatrix,
QVector3D(0.0f, m_yAdjustment, zComp),
QVector3D(0.0f, 0.0f, 0.0f), 0,
m_cachedSelectionMode, m_labelShader,
- m_labelObj, camera, false, false, LabelTop);
+ m_labelObj, camera, false, false, Drawer::LabelTop);
}
}
m_drawer->drawLabel(*dummyItem, yLabel, viewMatrix, projectionMatrix,
QVector3D(0.0f, m_yAdjustment, zComp),
QVector3D(0.0f, 0.0f, 90.0f), 0,
m_cachedSelectionMode, m_labelShader,
- m_labelObj, camera, false, false, LabelLeft);
+ m_labelObj, camera, false, false, Drawer::LabelLeft);
// Draw labels for bars
for (int col = 0; col < m_sliceSelection->size(); col++) {
@@ -474,7 +474,7 @@ void Bars3dRenderer::drawSlicedScene(CameraHelper *camera,
QVector3D(0.0f, m_yAdjustment, zComp),
QVector3D(0.0f, 0.0f, -45.0f), item->height(),
m_cachedSelectionMode, m_labelShader,
- m_labelObj, camera, false, false, LabelBelow);
+ m_labelObj, camera, false, false, Drawer::LabelBelow);
}
}
@@ -1376,7 +1376,7 @@ void Bars3dRenderer::drawScene(CameraHelper *camera,
QVector3D(0.0f, m_yAdjustment, zComp),
QVector3D(rotLabelX, rotLabelY, rotLabelZ),
0, m_cachedSelectionMode,
- m_labelShader, m_labelObj, camera, true, true, LabelMid,
+ m_labelShader, m_labelObj, camera, true, true, Drawer::LabelMid,
alignment);
}
@@ -1418,7 +1418,7 @@ void Bars3dRenderer::drawScene(CameraHelper *camera,
QVector3D(0.0f, m_yAdjustment, zComp),
QVector3D(rotLabelX, rotLabelY, rotLabelZ),
0, m_cachedSelectionMode,
- m_labelShader, m_labelObj, camera, true, true, LabelMid,
+ m_labelShader, m_labelObj, camera, true, true, Drawer::LabelMid,
alignment);
}
}
@@ -1462,7 +1462,7 @@ void Bars3dRenderer::drawScene(CameraHelper *camera,
QVector3D(0.0f, m_yAdjustment, zComp),
QVector3D(rotLabelX, rotLabelY, rotLabelZ),
0, m_cachedSelectionMode,
- m_labelShader, m_labelObj, camera, true, true, LabelMid,
+ m_labelShader, m_labelObj, camera, true, true, Drawer::LabelMid,
alignment);
// Side wall
@@ -1482,7 +1482,7 @@ void Bars3dRenderer::drawScene(CameraHelper *camera,
QVector3D(0.0f, m_yAdjustment, zComp),
QVector3D(rotLabelX, rotLabelY, rotLabelZ),
0, m_cachedSelectionMode,
- m_labelShader, m_labelObj, camera, true, true, LabelMid,
+ m_labelShader, m_labelObj, camera, true, true, Drawer::LabelMid,
alignment);
}
labelNbr++;
@@ -1782,13 +1782,13 @@ Bars3dController::SelectionType Bars3dRenderer::isSelected(GLint row, GLint bar)
if (current == m_selection) {
isSelectedType = Bars3dController::SelectionBar;
}
- else if (current.y() == m_selection.y() && (m_cachedSelectionMode == ModeBarAndColumn
- || m_cachedSelectionMode == ModeBarRowAndColumn
+ else if (current.y() == m_selection.y() && (m_cachedSelectionMode == ModeItemAndColumn
+ || m_cachedSelectionMode == ModeItemRowAndColumn
|| m_cachedSelectionMode == ModeZoomColumn)) {
isSelectedType = Bars3dController::SelectionColumn;
}
- else if (current.x() == m_selection.x() && (m_cachedSelectionMode == ModeBarAndRow
- || m_cachedSelectionMode == ModeBarRowAndColumn
+ else if (current.x() == m_selection.x() && (m_cachedSelectionMode == ModeItemAndRow
+ || m_cachedSelectionMode == ModeItemRowAndColumn
|| m_cachedSelectionMode == ModeZoomRow)) {
isSelectedType = Bars3dController::SelectionRow;
}
diff --git a/src/datavis3d/engine/drawer_p.h b/src/datavis3d/engine/drawer_p.h
index aa5ea5f6..4b79c7dd 100644
--- a/src/datavis3d/engine/drawer_p.h
+++ b/src/datavis3d/engine/drawer_p.h
@@ -50,6 +50,19 @@ class Drawer : public QObject, public QOpenGLFunctions
Q_OBJECT
public:
+ enum LabelPosition {
+ LabelBelow = 0,
+ LabelLow,
+ LabelMid,
+ LabelHigh,
+ LabelOver,
+ LabelBottom, // Absolute positions from here onward, used for axes (QDataItem is ignored)
+ LabelTop,
+ LabelLeft,
+ LabelRight
+ };
+
+public:
explicit Drawer(const Theme &theme, const QFont &font, LabelTransparency transparency);
~Drawer();
diff --git a/src/datavis3d/engine/maps3dcontroller.cpp b/src/datavis3d/engine/maps3dcontroller.cpp
index abe823dd..0088c0b1 100644
--- a/src/datavis3d/engine/maps3dcontroller.cpp
+++ b/src/datavis3d/engine/maps3dcontroller.cpp
@@ -81,7 +81,7 @@ Maps3DController::Maps3DController(const QRect &rect)
m_scaleFactor(1.0f),
m_theme(new Theme()),
m_isInitialized(false),
- m_selectionMode(ModeBar),
+ m_selectionMode(ModeItem),
m_selectedBar(0),
m_previouslySelectedBar(0),
m_axisLabelX(QStringLiteral("X")),
@@ -914,7 +914,7 @@ void Maps3DController::drawScene(const GLuint defaultFboHandle)
QVector3D(0.0f, m_yAdjustment, zComp),
QVector3D(rotLabelX, rotLabelY, 0.0f), m_heightNormalizer,
m_selectionMode, m_labelShader,
- m_labelObj, true, true, LabelMid, alignment);
+ m_labelObj, true, true, Drawer::LabelMid, alignment);
delete label;
}
@@ -952,7 +952,7 @@ void Maps3DController::drawScene(const GLuint defaultFboHandle)
QVector3D(0.0f, m_yAdjustment, zComp),
QVector3D(rotLabelX, rotLabelY, 0.0f), m_heightNormalizer,
m_selectionMode, m_labelShader,
- m_labelObj, true, true, LabelMid, alignment);
+ m_labelObj, true, true, Drawer::LabelMid, alignment);
delete label;
}
@@ -1151,7 +1151,7 @@ void Maps3DController::setBarSpecs(const QVector3D &thickness,
m_adjustDirection = direction;
}
-void Maps3DController::setBarType(BarStyle style, bool smooth)
+void Maps3DController::setBarType(MeshStyle style, bool smooth)
{
if (style == Bars) {
if (smooth)
diff --git a/src/datavis3d/engine/maps3dcontroller_p.h b/src/datavis3d/engine/maps3dcontroller_p.h
index 96f594a7..5dc7ee59 100644
--- a/src/datavis3d/engine/maps3dcontroller_p.h
+++ b/src/datavis3d/engine/maps3dcontroller_p.h
@@ -86,7 +86,7 @@ public:
Q3DMaps::AdjustmentDirection direction = Q3DMaps::AdjustHeight);
// bar type; bars (=cubes), pyramids, cones, cylinders, balls, etc.
- void setBarType(BarStyle style, bool smooth = false);
+ void setBarType(MeshStyle style, bool smooth = false);
// override bar type with own mesh
void setMeshFileName(const QString &objFileName);
diff --git a/src/datavis3d/engine/q3dbars.cpp b/src/datavis3d/engine/q3dbars.cpp
index 337695f2..14195d68 100644
--- a/src/datavis3d/engine/q3dbars.cpp
+++ b/src/datavis3d/engine/q3dbars.cpp
@@ -207,7 +207,7 @@ void Q3DBars::setBarSpecs(QSizeF thickness, QSizeF spacing, bool relative)
*
* \sa setMeshFileName()
*/
-void Q3DBars::setBarType(BarStyle style, bool smooth)
+void Q3DBars::setBarType(MeshStyle style, bool smooth)
{
d_ptr->m_shared->setBarType(style, smooth);
}
@@ -287,13 +287,13 @@ void Q3DBars::setTheme(ColorTheme theme)
*/
void Q3DBars::setBarColor(QColor baseColor, QColor heightColor, QColor depthColor, bool uniform)
{
- d_ptr->m_shared->setBarColor(baseColor, heightColor, depthColor, uniform);
+ d_ptr->m_shared->setObjectColor(baseColor, heightColor, depthColor, uniform);
}
/*!
* \property Q3DBars::selectionMode
*
- * \a mode Set bar selection mode from \c SelectionMode. \c ModeBar by default.
+ * \a mode Set bar selection mode from \c SelectionMode. \c ModeItem by default.
*
* Sets bar selection mode to be used.
*/
diff --git a/src/datavis3d/engine/q3dbars.h b/src/datavis3d/engine/q3dbars.h
index 16dd067a..49e2ebce 100644
--- a/src/datavis3d/engine/q3dbars.h
+++ b/src/datavis3d/engine/q3dbars.h
@@ -57,7 +57,7 @@ public:
bool relative = true);
// bar type; bars (=cubes), pyramids, cones, cylinders, etc.
- void setBarType(BarStyle style, bool smooth = false);
+ void setBarType(MeshStyle style, bool smooth = false);
// how many samples per row and column, and names for axes
// TODO: This defines the data window, needs additional parameters startRow, startColumn
diff --git a/src/datavis3d/engine/q3dmaps.cpp b/src/datavis3d/engine/q3dmaps.cpp
index 7f21fe2f..9fd2ea69 100644
--- a/src/datavis3d/engine/q3dmaps.cpp
+++ b/src/datavis3d/engine/q3dmaps.cpp
@@ -145,7 +145,7 @@ void Q3DMaps::setBarSpecs(const QVector3D &thickness, AdjustmentDirection direct
d_ptr->m_shared->setBarSpecs(thickness, direction);
}
-void Q3DMaps::setBarType(BarStyle style, bool smooth)
+void Q3DMaps::setBarType(MeshStyle style, bool smooth)
{
d_ptr->m_shared->setBarType(style, smooth);
}
diff --git a/src/datavis3d/engine/q3dmaps.h b/src/datavis3d/engine/q3dmaps.h
index 18051d2f..e32977e2 100644
--- a/src/datavis3d/engine/q3dmaps.h
+++ b/src/datavis3d/engine/q3dmaps.h
@@ -66,7 +66,7 @@ public:
AdjustmentDirection direction = AdjustHeight);
// bar type; bars (=cubes), pyramids, cones, cylinders, balls, etc.
- void setBarType(BarStyle style, bool smooth = false);
+ void setBarType(MeshStyle style, bool smooth = false);
// override bar type with own mesh
void setMeshFileName(const QString &objFileName);
diff --git a/src/datavis3d/engine/q3dscatter.cpp b/src/datavis3d/engine/q3dscatter.cpp
index fcaf4c40..d9e03306 100644
--- a/src/datavis3d/engine/q3dscatter.cpp
+++ b/src/datavis3d/engine/q3dscatter.cpp
@@ -77,7 +77,7 @@ QT_DATAVIS3D_BEGIN_NAMESPACE
*/
/*!
- * Constructs a new 3D bar window.
+ * Constructs a new 3D scatter window.
*/
Q3DScatter::Q3DScatter()
: d_ptr(new Q3DScatterPrivate(this, geometry()))
@@ -88,7 +88,7 @@ Q3DScatter::Q3DScatter()
}
/*!
- * Destroys the 3d bar window.
+ * Destroys the 3D scatter window.
*/
Q3DScatter::~Q3DScatter()
{
@@ -181,17 +181,17 @@ void Q3DScatter::setHeight(const int height)
}
/*!
- * \a style One of the values in \c BarStyle. \c Bars by default.
+ * \a style One of the values in \c MeshStyle. \c Spheres by default.
*
* \a smooth A flag to set shading to smooth. \c false by default.
*
- * Sets the bar type to one of the supplied ones.
+ * Sets the object type to one of the supplied ones.
*
* \sa setMeshFileName()
*/
-void Q3DScatter::setBarType(BarStyle style, bool smooth)
+void Q3DScatter::setObjectType(MeshStyle style, bool smooth)
{
- d_ptr->m_shared->setBarType(style, smooth);
+ d_ptr->m_shared->setObjectType(style, smooth);
}
/*!
@@ -212,8 +212,7 @@ void Q3DScatter::setCameraPreset(CameraPreset preset)
* \a distance Distance from the center. \c 100 by default.
*
* Move camera to a wanted position based on horizontal and veritcal angles. Angles are limited
- * to -180...180 in horizontal direction and either -90...90 or 0...90 in vertical, depending
- * on data values. Negative vertical angles are allowed only if there are negative bar values.
+ * to -180...180 in horizontal direction and -90...90 in vertical.
* Distance is adjustable between 10 and 500.
*/
void Q3DScatter::setCameraPosition(qreal horizontal, qreal vertical, int distance)
@@ -224,7 +223,7 @@ void Q3DScatter::setCameraPosition(qreal horizontal, qreal vertical, int distanc
/*!
* \a theme Apply a predefined theme from \c ColorTheme.
*
- * Sets a predefined theme. Theme affects bar colors, label colors, text color, background color,
+ * Sets a predefined theme. Theme affects object colors, label colors, text color, background color,
* window color and grid color. Lighting is also adjusted by themes.
*/
void Q3DScatter::setTheme(ColorTheme theme)
@@ -233,31 +232,32 @@ void Q3DScatter::setTheme(ColorTheme theme)
}
/*!
- * \a baseColor The base color of a bar. If all other colors are black, this sets the final color of
- * the bar.
+ * \a baseColor The base color of an object. If all other colors are black, this sets the final
+ * color of the object.
*
- * \a heightColor This color is added to the bar based on its height. The higher the bar, the more
- * prominent this color becomes. Setting this black keeps the color unchanged regardless of height.
+ * \a heightColor This color is added to the object based on its y-position. The higher the object,
+ * the more prominent this color becomes. Setting this black keeps the color unchanged regardless
+ * of y-position.
*
- * \a depthColor This color becomes more prominent the further away from the first row the bar is.
- * Setting this black keeps bars the same color regardless of "depth" in the set.
+ * \a depthColor This color becomes more prominent the further back in z-position the object is.
+ * Setting this black keeps objects the same color regardless of "depth" in the set.
*
- * \a uniform A flag to define if color needs to be uniform throughout bar's length, or will the
+ * \a uniform A flag to define if color needs to be uniform throughout object's length, or will the
* colors be applied by height. \c true by default.
*
- * Set bar color using your own colors. This overrides colors from theme.
+ * Set object color using your own colors. This overrides colors from theme.
*/
-void Q3DScatter::setBarColor(QColor baseColor, QColor heightColor, QColor depthColor, bool uniform)
+void Q3DScatter::setObjectColor(QColor baseColor, QColor heightColor, QColor depthColor, bool uniform)
{
- d_ptr->m_shared->setBarColor(baseColor, heightColor, depthColor, uniform);
+ d_ptr->m_shared->setObjectColor(baseColor, heightColor, depthColor, uniform);
}
/*!
* \property Q3DScatter::selectionMode
*
- * \a mode Set bar selection mode from \c SelectionMode. \c ModeBar by default.
+ * \a mode Set object selection mode from \c SelectionMode. \c ModeItem by default.
*
- * Sets bar selection mode to be used.
+ * Sets object selection mode to be used.
*/
void Q3DScatter::setSelectionMode(SelectionMode mode)
{
@@ -290,7 +290,7 @@ QString Q3DScatter::windowTitle() const
* \a objFileName File name of a mesh object. Object needs to be in Wavefront obj format
* and include vertices, normals and UVs. It also needs to be in triangles.
*
- * Override bar type with an object mesh. \sa setBarType()
+ * Override object type with an object mesh. \sa setObjectType()
*/
void Q3DScatter::setMeshFileName(const QString &objFileName)
{
diff --git a/src/datavis3d/engine/q3dscatter.h b/src/datavis3d/engine/q3dscatter.h
index 5dd0f221..cd0ec072 100644
--- a/src/datavis3d/engine/q3dscatter.h
+++ b/src/datavis3d/engine/q3dscatter.h
@@ -50,42 +50,29 @@ public:
explicit Q3DScatter();
~Q3DScatter();
- // bar thickness, spacing between bars, and is spacing relative to thickness or absolute
- // y -component sets the thickness/spacing of z -direction
- // With relative 0.0f means side-to-side, 1.0f = one thickness in between
- void setBarSpecs(QSizeF thickness = QSizeF(1.0f, 1.0f),
- QSizeF spacing = QSizeF(1.0f, 1.0f),
- bool relative = true);
-
- // bar type; bars (=cubes), pyramids, cones, cylinders, etc.
- void setBarType(BarStyle style, bool smooth = false);
-
- // how many samples per row and column, and names for axes
- // TODO: This defines the data window, needs additional parameters startRow, startColumn
- void setupSampleSpace(int samplesRow, int samplesColumn);
+ // object type; spheres, dots
+ void setObjectType(MeshStyle style, bool smooth = false);
// Select preset camera placement
void setCameraPreset(CameraPreset preset);
// Set camera rotation if you don't want to use the presets (in horizontal (-180...180) and
- // vertical (0...90) (or (-90...90) if there are negative values) angles and distance in
- // percentage (10...500))
+ // vertical (-90...90) angles and distance in percentage (10...500))
void setCameraPosition(qreal horizontal, qreal vertical, int distance = 100);
- // Set theme (bar colors, shaders, window color, background colors, light intensity and text
+ // Set theme (object colors, shaders, window color, background colors, light intensity and text
// colors are affected)
void setTheme(ColorTheme theme);
// Set color if you don't want to use themes. Set uniform to false if you want the (height)
// color to change from bottom to top
- void setBarColor(QColor baseColor, QColor heightColor, QColor depthColor,
- bool uniform = true);
+ void setObjectColor(QColor baseColor, QColor heightColor, QColor depthColor,
+ bool uniform = true);
- // override bar type with own mesh
+ // override object type with own mesh
void setMeshFileName(const QString &objFileName);
- // TODO: light placement API
- // Change selection mode; single bar, bar and row, bar and column, or all
+ // Change selection mode
void setSelectionMode(SelectionMode mode);
SelectionMode selectionMode() const;
diff --git a/src/datavis3d/engine/scatter3dcontroller.cpp b/src/datavis3d/engine/scatter3dcontroller.cpp
index d9b54494..4660f4ad 100644
--- a/src/datavis3d/engine/scatter3dcontroller.cpp
+++ b/src/datavis3d/engine/scatter3dcontroller.cpp
@@ -37,7 +37,7 @@ Scatter3DController::Scatter3DController(QRect boundRect)
m_isInitialized(false),
m_mouseState(MouseNone),
m_mousePos(QPoint(0, 0)),
- m_selectionMode(ModeBar),
+ m_selectionMode(ModeItem),
m_isSlicingActivated(false),
m_objFile(QStringLiteral(":/defaultMeshes/sphere")),
m_font(QFont(QStringLiteral("Arial"))),
@@ -305,7 +305,7 @@ QString Scatter3DController::objFile()
return m_objFile;
}
-void Scatter3DController::setBarType(BarStyle style, bool smooth)
+void Scatter3DController::setObjectType(MeshStyle style, bool smooth)
{
if (style == Spheres) {
if (smooth)
@@ -331,6 +331,10 @@ void Scatter3DController::setMeshFileName(const QString &objFileName)
void Scatter3DController::setSelectionMode(SelectionMode mode)
{
+ if (mode > ModeItem) {
+ qWarning("Unsupported selection mode.");
+ return;
+ }
m_selectionMode = mode;
// Disable zoom if selection mode changes
setSlicingActive(false);
diff --git a/src/datavis3d/engine/scatter3dcontroller_p.h b/src/datavis3d/engine/scatter3dcontroller_p.h
index 38122bb5..b9d3e44b 100644
--- a/src/datavis3d/engine/scatter3dcontroller_p.h
+++ b/src/datavis3d/engine/scatter3dcontroller_p.h
@@ -96,14 +96,12 @@ public:
bool showUnder = false);
// bar type; bars (=cubes), pyramids, cones, cylinders, etc.
- void setBarType(BarStyle style, bool smooth = false);
+ void setObjectType(MeshStyle style, bool smooth = false);
QString objFile();
// override bar type with own mesh
void setMeshFileName(const QString &objFileName);
- // TODO: light placement API
-
// Change selection mode; single bar, bar and row, bar and column, or all
void setSelectionMode(SelectionMode mode);
SelectionMode selectionMode();
@@ -158,9 +156,6 @@ private:
void adjustValueAxisRange();
Q_DISABLE_COPY(Scatter3DController)
-
- friend class DeclarativeBars;
- friend class DeclarativeBarsRenderer;
};
diff --git a/src/datavis3d/engine/scatter3drenderer.cpp b/src/datavis3d/engine/scatter3drenderer.cpp
index b64ee8ec..d21a168b 100644
--- a/src/datavis3d/engine/scatter3drenderer.cpp
+++ b/src/datavis3d/engine/scatter3drenderer.cpp
@@ -1151,7 +1151,7 @@ void Scatter3DRenderer::drawScene(CameraHelper *camera,
QVector3D(0.0f, 0.0f, zComp),
QVector3D(0.0f, 0.0f, 0.0f), m_selectedItem->height(),
m_cachedSelectionMode, m_labelShader,
- m_labelObj, camera, true, false, LabelMid);
+ m_labelObj, camera, true, false, Drawer::LabelMid);
#endif
glDisable(GL_TEXTURE_2D);
if (m_cachedLabelTransparency > TransparencyNone)
@@ -1231,7 +1231,7 @@ void Scatter3DRenderer::drawScene(CameraHelper *camera,
QVector3D(0.0f, 0.0f, zComp),
QVector3D(rotLabelX, rotLabelY, rotLabelZ),
0, m_cachedSelectionMode,
- m_labelShader, m_labelObj, camera, true, true, LabelMid,
+ m_labelShader, m_labelObj, camera, true, true, Drawer::LabelMid,
alignment);
}
labelNbr++;
@@ -1291,7 +1291,7 @@ void Scatter3DRenderer::drawScene(CameraHelper *camera,
QVector3D(0.0f, 0.0f, zComp),
QVector3D(rotLabelX, rotLabelY, rotLabelZ),
0, m_cachedSelectionMode,
- m_labelShader, m_labelObj, camera, true, true, LabelMid,
+ m_labelShader, m_labelObj, camera, true, true, Drawer::LabelMid,
alignment);
}
labelNbr++;
@@ -1339,7 +1339,7 @@ void Scatter3DRenderer::drawScene(CameraHelper *camera,
QVector3D(0.0f, 0.0f, zComp),
QVector3D(rotLabelX, rotLabelY, rotLabelZ),
0, m_cachedSelectionMode,
- m_labelShader, m_labelObj, camera, true, true, LabelMid,
+ m_labelShader, m_labelObj, camera, true, true, Drawer::LabelMid,
alignment);
// Side wall
@@ -1360,7 +1360,7 @@ void Scatter3DRenderer::drawScene(CameraHelper *camera,
QVector3D(0.0f, 0.0f, zComp),
QVector3D(rotLabelX, rotLabelY, rotLabelZ),
0, m_cachedSelectionMode,
- m_labelShader, m_labelObj, camera, true, true, LabelMid,
+ m_labelShader, m_labelObj, camera, true, true, Drawer::LabelMid,
alignment);
}
labelNbr++;
diff --git a/src/datavis3d/global/qdatavis3dnamespace.h b/src/datavis3d/global/qdatavis3dnamespace.h
index 086625f4..812f3809 100644
--- a/src/datavis3d/global/qdatavis3dnamespace.h
+++ b/src/datavis3d/global/qdatavis3dnamespace.h
@@ -24,7 +24,7 @@
namespace QtDataVis3D {
// Enums used in several files
-enum BarStyle {
+enum MeshStyle {
Bars = 0,
Pyramids,
Cones,
@@ -72,26 +72,12 @@ enum ColorTheme {
ThemeLight
};
-// TODO: Should this be moved to Q3DBarsPrivate? Not for use via API directly?
-enum LabelPosition {
- LabelBelow = 0,
- LabelLow,
- LabelMid,
- LabelHigh,
- LabelOver,
- LabelBottom, // Absolute positions from here onward, used for axes (QDataItem is ignored)
- LabelTop,
- LabelLeft,
- LabelRight
-};
-
-// TODO: Will these be used from other vis types than Q3DBars?
enum SelectionMode {
ModeNone = 0,
- ModeBar,
- ModeBarAndRow,
- ModeBarAndColumn,
- ModeBarRowAndColumn,
+ ModeItem,
+ ModeItemAndRow, // From here onwards used for Q3DBars only
+ ModeItemAndColumn,
+ ModeItemRowAndColumn,
ModeZoomRow,
ModeZoomColumn
};
diff --git a/src/datavis3dqml2/declarativebars.cpp b/src/datavis3dqml2/declarativebars.cpp
index a203e00d..04bb0adf 100644
--- a/src/datavis3dqml2/declarativebars.cpp
+++ b/src/datavis3dqml2/declarativebars.cpp
@@ -94,7 +94,7 @@ void DeclarativeBars::setBarSpecs(QSizeF thickness, QSizeF spacing, bool relativ
m_shared->setBarSpecs(thickness, spacing, relative);
}
-void DeclarativeBars::setBarType(BarStyle style, bool smooth)
+void DeclarativeBars::setBarType(MeshStyle style, bool smooth)
{
m_shared->setBarType(style, smooth);
}
@@ -122,7 +122,7 @@ void DeclarativeBars::setTheme(ColorTheme theme)
void DeclarativeBars::setBarColor(QColor baseColor, QColor heightColor, QColor depthColor,
bool uniform)
{
- m_shared->setBarColor(baseColor, heightColor, depthColor, uniform);
+ m_shared->setObjectColor(baseColor, heightColor, depthColor, uniform);
}
void DeclarativeBars::setFontSize(float fontsize)
diff --git a/src/datavis3dqml2/declarativebars_p.h b/src/datavis3dqml2/declarativebars_p.h
index 381f6593..0abd8398 100644
--- a/src/datavis3dqml2/declarativebars_p.h
+++ b/src/datavis3dqml2/declarativebars_p.h
@@ -62,10 +62,10 @@ public:
// Duplicated here to be able to use the same enums
enum SelectionMode {
ModeNone = 0,
- ModeBar,
- ModeBarAndRow,
- ModeBarAndColumn,
- ModeBarRowAndColumn,
+ ModeItem,
+ ModeItemAndRow,
+ ModeItemAndColumn,
+ ModeItemRowAndColumn,
ModeZoomRow,
ModeZoomColumn
};
@@ -102,7 +102,7 @@ public:
bool relative = true);
// bar type; bars (=cubes), pyramids, cones, cylinders, etc.
- Q_INVOKABLE void setBarType(BarStyle style, bool smooth = false);
+ Q_INVOKABLE void setBarType(MeshStyle style, bool smooth = false);
// override bar type with own mesh
Q_INVOKABLE void setMeshFileName(const QString &objFileName);
diff --git a/src/datavis3dqml2/declarativemaps.cpp b/src/datavis3dqml2/declarativemaps.cpp
index 3927841e..d20fabb1 100644
--- a/src/datavis3dqml2/declarativemaps.cpp
+++ b/src/datavis3dqml2/declarativemaps.cpp
@@ -95,7 +95,7 @@ void DeclarativeMaps::setBarSpecs(const QVector3D &thickness,
m_shared->setBarSpecs(thickness, direction);
}
-void DeclarativeMaps::setBarType(BarStyle style, bool smooth)
+void DeclarativeMaps::setBarType(MeshStyle style, bool smooth)
{
m_shared->setBarType(style, smooth);
}
diff --git a/src/datavis3dqml2/declarativemaps_p.h b/src/datavis3dqml2/declarativemaps_p.h
index 69b9d6c9..18c9b95b 100644
--- a/src/datavis3dqml2/declarativemaps_p.h
+++ b/src/datavis3dqml2/declarativemaps_p.h
@@ -58,10 +58,10 @@ public:
// Duplicated here to be able to use the same enums
enum SelectionMode {
ModeNone = 0,
- ModeBar,
- ModeBarAndRow,
- ModeBarAndColumn,
- ModeBarRowAndColumn,
+ ModeItem,
+ ModeItemAndRow,
+ ModeItemAndColumn,
+ ModeItemRowAndColumn,
ModeZoomRow,
ModeZoomColumn
};
@@ -97,7 +97,7 @@ public:
Q3DMaps::AdjustmentDirection direction = Q3DMaps::AdjustHeight);
// bar type; bars (=cubes), pyramids, cones, cylinders, balls, etc.
- Q_INVOKABLE void setBarType(BarStyle style, bool smooth = false);
+ Q_INVOKABLE void setBarType(MeshStyle style, bool smooth = false);
// override bar type with own mesh
Q_INVOKABLE void setMeshFileName(const QString &objFileName);
diff --git a/src/datavis3dqml2/declarativescatter.cpp b/src/datavis3dqml2/declarativescatter.cpp
index 9f9b6eda..17015a2b 100644
--- a/src/datavis3dqml2/declarativescatter.cpp
+++ b/src/datavis3dqml2/declarativescatter.cpp
@@ -88,9 +88,9 @@ QSGNode *DeclarativeScatter::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDa
return node;
}
-void DeclarativeScatter::setBarType(BarStyle style, bool smooth)
+void DeclarativeScatter::setObjectType(MeshStyle style, bool smooth)
{
- m_shared->setBarType(style, smooth);
+ m_shared->setObjectType(style, smooth);
}
void DeclarativeScatter::setCameraPreset(CameraPreset preset)
@@ -108,10 +108,10 @@ void DeclarativeScatter::setTheme(ColorTheme theme)
m_shared->setColorTheme(theme);
}
-void DeclarativeScatter::setBarColor(QColor baseColor, QColor heightColor, QColor depthColor,
+void DeclarativeScatter::setObjectColor(QColor baseColor, QColor heightColor, QColor depthColor,
bool uniform)
{
- m_shared->setBarColor(baseColor, heightColor, depthColor, uniform);
+ m_shared->setObjectColor(baseColor, heightColor, depthColor, uniform);
}
void DeclarativeScatter::setFontSize(float fontsize)
diff --git a/src/datavis3dqml2/declarativescatter_p.h b/src/datavis3dqml2/declarativescatter_p.h
index a1e59d18..d64c6811 100644
--- a/src/datavis3dqml2/declarativescatter_p.h
+++ b/src/datavis3dqml2/declarativescatter_p.h
@@ -60,10 +60,10 @@ public:
// Duplicated here to be able to use the same enums
enum SelectionMode {
ModeNone = 0,
- ModeBar,
- ModeBarAndRow,
- ModeBarAndColumn,
- ModeBarRowAndColumn,
+ ModeItem,
+ ModeItemAndRow,
+ ModeItemAndColumn,
+ ModeItemRowAndColumn,
ModeZoomRow,
ModeZoomColumn
};
@@ -93,10 +93,9 @@ public:
QAbstractItemModel *data();
// dot type
- // TODO: Rename setBarType -> setItemType / setObjectType / setXXXType
- Q_INVOKABLE void setBarType(BarStyle style, bool smooth = false);
+ Q_INVOKABLE void setObjectType(MeshStyle style, bool smooth = false);
- // override bar type with own mesh
+ // override object type with own mesh
Q_INVOKABLE void setMeshFileName(const QString &objFileName);
// Select preset camera placement
@@ -107,16 +106,16 @@ public:
// percentage (10...500))
Q_INVOKABLE void setCameraPosition(qreal horizontal, qreal vertical, int distance);
- // Set theme (bar colors, shaders, window color, background colors, light intensity and text
+ // Set theme (object colors, shaders, window color, background colors, light intensity and text
// colors are affected)
Q_INVOKABLE void setTheme(ColorTheme theme);
// Set color if you don't want to use themes. Set uniform to false if you want the (height)
// color to change from bottom to top
- Q_INVOKABLE void setBarColor(QColor baseColor, QColor heightColor, QColor depthColor,
- bool uniform = true);
+ Q_INVOKABLE void setObjectColor(QColor baseColor, QColor heightColor, QColor depthColor,
+ bool uniform = true);
- // Change selection mode; single bar, bar and row, bar and column, or all
+ // Change selection mode
void setSelectionMode(SelectionMode mode);
SelectionMode selectionMode();