diff options
Diffstat (limited to 'src/datavisualization/engine/abstract3dcontroller.cpp')
-rw-r--r-- | src/datavisualization/engine/abstract3dcontroller.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index e10069ff..4c66ad76 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -841,10 +841,28 @@ int Abstract3DController::addCustomItem(const QString &meshFile, const QVector3D void Abstract3DController::deleteCustomItem(int index) { - delete m_customItems[index]; - m_customItems.removeAt(index); - m_isCustomDataDirty = true; - emitNeedRender(); + if (m_customItems.size() > index) { + delete m_customItems[index]; + m_customItems.removeAt(index); + m_isCustomDataDirty = true; + emitNeedRender(); + } +} + +void Abstract3DController::deleteCustomItem(const QVector3D &position) +{ + int index = -1; + int counter = 0; + // Get the index for the item at position + foreach (CustomDataItem *item, m_customItems) { + if (item->position() == position) { + index = counter; + break; + } + counter++; + } + if (index >= 0) + deleteCustomItem(index); } void Abstract3DController::handleAxisTitleChanged(const QString &title) |