From 6880277f23b47117f7788f08f855ed99b5120f9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Mon, 12 May 2014 10:06:27 +0300 Subject: CustomDataItem made into a public class MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTRD-3055 Change-Id: I1e449df7c1bcb48fc639dbae579e2e1499c9ef2b Reviewed-by: Tomi Korpipää --- .../customitems/customitemgraph.cpp | 38 ++++++++++++++-------- .../customitems/doc/src/customitems.qdoc | 11 ++++--- 2 files changed, 31 insertions(+), 18 deletions(-) (limited to 'examples/datavisualization/customitems') diff --git a/examples/datavisualization/customitems/customitemgraph.cpp b/examples/datavisualization/customitems/customitemgraph.cpp index 822ca24a..c2479a9a 100644 --- a/examples/datavisualization/customitems/customitemgraph.cpp +++ b/examples/datavisualization/customitems/customitemgraph.cpp @@ -19,6 +19,7 @@ #include "customitemgraph.h" #include +#include #include using namespace QtDataVisualization; @@ -104,15 +105,18 @@ void CustomItemGraph::toggleItemOne(bool show) color.fill(Qt::red); //! [0] //! [2] - m_graph->addCustomItem(":/items/oilrig.obj", positionOne, - QVector3D(0.025f, 0.025f, 0.025f), - QQuaternion::fromAxisAndAngle(0.0f, 1.0f, 0.0f, 45.0f), - color); + QCustom3DItem *item = new QCustom3DItem(":/items/oilrig.obj", positionOne, + QVector3D(0.025f, 0.025f, 0.025f), + QQuaternion::fromAxisAndAngle(0.0f, 1.0f, 0.0f, 45.0f), + color); //! [2] - } else { //! [3] - m_graph->removeCustomItemAt(positionOne); + m_graph->addCustomItem(item); //! [3] + } else { + //! [4] + m_graph->removeCustomItemAt(positionOne); + //! [4] } } @@ -122,10 +126,13 @@ void CustomItemGraph::toggleItemTwo(bool show) if (show) { QImage color = QImage(2, 2, QImage::Format_ARGB32); color.fill(Qt::red); - m_graph->addCustomItem(":/items/oilrig.obj", positionTwo, - QVector3D(0.025f, 0.025f, 0.025f), - QQuaternion::fromAxisAndAngle(0.0f, 1.0f, 0.0f, 25.0f), - color); + QCustom3DItem *item = new QCustom3DItem(); + item->setMeshFile(":/items/oilrig.obj"); + item->setPosition(positionTwo); + item->setScaling(QVector3D(0.025f, 0.025f, 0.025f)); + item->setRotation(QQuaternion::fromAxisAndAngle(0.0f, 1.0f, 0.0f, 25.0f)); + item->setTextureImage(color); + m_graph->addCustomItem(item); } else { m_graph->removeCustomItemAt(positionTwo); } @@ -137,10 +144,13 @@ void CustomItemGraph::toggleItemThree(bool show) if (show) { QImage color = QImage(2, 2, QImage::Format_ARGB32); color.fill(Qt::darkMagenta); - m_graph->addCustomItem(":/items/refinery.obj", positionThree, - QVector3D(0.04f, 0.04f, 0.04f), - QQuaternion::fromAxisAndAngle(0.0f, 1.0f, 0.0f, 75.0f), - color); + QCustom3DItem *item = new QCustom3DItem(); + item->setMeshFile(":/items/refinery.obj"); + item->setPosition(positionThree); + item->setScaling(QVector3D(0.04f, 0.04f, 0.04f)); + item->setRotation(QQuaternion::fromAxisAndAngle(0.0f, 1.0f, 0.0f, 75.0f)); + item->setTextureImage(color); + m_graph->addCustomItem(item); } else { m_graph->removeCustomItemAt(positionThree); } diff --git a/examples/datavisualization/customitems/doc/src/customitems.qdoc b/examples/datavisualization/customitems/doc/src/customitems.qdoc index 1878609b..d034019a 100644 --- a/examples/datavisualization/customitems/doc/src/customitems.qdoc +++ b/examples/datavisualization/customitems/doc/src/customitems.qdoc @@ -53,16 +53,19 @@ \snippet customitems/customitemgraph.cpp 1 - And finally we'll just add the item to the wanted position with the scale and rotation we want: + Then we'll create a new QCustom3DItem with all the parameters: \snippet customitems/customitemgraph.cpp 2 + And finally we'll just add the item: + + \snippet customitems/customitemgraph.cpp 3 + \section1 Removing custom item from a graph - We'll just call \c removeCustomItemAt() with the position - of the item: + We'll just call \c removeCustomItemAt() with the position of the item: - \snippet customitems/customitemgraph.cpp 3 + \snippet customitems/customitemgraph.cpp 4 \section1 Example Contents */ -- cgit v1.2.3