Qt list model providing access to points in a mitk::PointSet.
More...
#include <QmitkPointListModel.h>
Qt list model providing access to points in a mitk::PointSet.
Wraps a mitk::PointSet (referenced via a mitk::DataNode) as a QAbstractListModel. Each row represents a point with its ID and coordinates. Observes the point set for modifications and deletions, resetting the model accordingly. Provides methods to move and remove the currently selected point.
- Note
- The mitk::PointSet uses a map container where point IDs are not necessarily contiguous. This model translates between row indices and point IDs.
- See also
- QmitkPointListView, QmitkPointListWidget
Definition at line 37 of file QmitkPointListModel.h.
◆ QmitkPointListModel()
| QmitkPointListModel::QmitkPointListModel |
( |
mitk::DataNode * |
pointSetNode = nullptr, |
|
|
int |
t = 0, |
|
|
QObject * |
parent = nullptr |
|
) |
| |
Construct the model.
- Parameters
-
| [in] | pointSetNode | Data node containing the mitk::PointSet. May be nullptr. |
| [in] | t | The time step to use. |
| [in] | parent | The parent QObject. |
◆ ~QmitkPointListModel()
| QmitkPointListModel::~QmitkPointListModel |
( |
| ) |
|
|
override |
Destructor. Removes observers from the point set.
◆ CheckForPointSetInNode()
◆ data()
| QVariant QmitkPointListModel::data |
( |
const QModelIndex & |
index, |
|
|
int |
role |
|
) |
| const |
|
override |
Return the display data for a point (ID and coordinates).
- Parameters
-
| [in] | index | The model index. |
| [in] | role | The data role (only Qt::DisplayRole is supported). |
- Returns
- The point string in format "ID: (x, y, z)".
◆ flags()
| Qt::ItemFlags QmitkPointListModel::flags |
( |
const QModelIndex & |
index | ) |
const |
|
override |
Return item flags (selectable and enabled).
- Parameters
-
| [in] | index | The model index (unused). |
- Returns
- Qt::ItemIsSelectable | Qt::ItemIsEnabled.
◆ GetModelIndexForPointID()
returns a QModelIndex for a given point ID
Documentation
The mitk::PointSet uses a map to store points in an ID<-->Point relation. The IDs are not necessarily continuously numbered, therefore, we can not directly use the point ID as a QModelIndex. This method returns a QModelIndex for a given point ID in the outgoing parameter index.
- Parameters
-
| [in] | id | The point ID for which the QModelIndex will be created |
| [out] | index | if a point with the ID id was found, index will contain a corresponding QModelIndex for that point |
- Returns
- returns true, if a valid QModelIndex was created, false otherwise
◆ GetPointForModelIndex()
get point and point ID that correspond to a given QModelIndex
The mitk::PointSet uses a map to store points in an ID<-->Point relation. The IDs are not necessarily continuously numbered, therefore, we can not directly use the QModelIndex as point ID. This method returns the point and the corresponding point id for a given QModelIndex. The point and the point ID are returned in the outgoing parameters p and id. If a valid point and ID were found, the method returns true, otherwise it returns false
- Parameters
-
| [in] | index | the index for which a point is requested. The row() part of the index is used to find a corresponding point |
| [out] | p | If a valid point is found, it will be stored in the p parameter |
| [out] | id | If a valid point is found, the corresponding ID will be stored in id |
- Returns
- Returns true, if a valid point was found, false otherwise
◆ GetPointSet()
Get the modeled point set.
- Returns
- Pointer to the mitk::PointSet, or nullptr.
◆ GetPointSetNode()
Get the data node containing the point set.
- Returns
- Pointer to the mitk::DataNode, or nullptr.
◆ GetTimeStep()
| int QmitkPointListModel::GetTimeStep |
( |
| ) |
const |
Get the current time step.
- Returns
- The time step index.
◆ headerData()
| QVariant QmitkPointListModel::headerData |
( |
int |
section, |
|
|
Qt::Orientation |
orientation, |
|
|
int |
role = Qt::DisplayRole |
|
) |
| const |
|
override |
Return header data.
- Parameters
-
| [in] | section | The section index. |
| [in] | orientation | The header orientation. |
| [in] | role | The data role. |
- Returns
- The header label.
◆ MoveSelectedPointDown
| void QmitkPointListModel::MoveSelectedPointDown |
( |
| ) |
|
|
slot |
◆ MoveSelectedPointUp
| void QmitkPointListModel::MoveSelectedPointUp |
( |
| ) |
|
|
slot |
◆ ObserveNewPointSet()
| void QmitkPointListModel::ObserveNewPointSet |
( |
mitk::DataNode * |
pointSetNode | ) |
|
|
protected |
internally observe different point set
◆ OnPointSetChanged()
| void QmitkPointListModel::OnPointSetChanged |
( |
const itk::EventObject & |
e | ) |
|
ITK observer callback for point set modification events.
- Parameters
-
| [in] | e | The ITK event object. |
◆ OnPointSetDeleted()
| void QmitkPointListModel::OnPointSetDeleted |
( |
const itk::EventObject & |
e | ) |
|
ITK observer callback for point set deletion events.
- Parameters
-
| [in] | e | The ITK event object. |
◆ RemoveSelectedPoint
| void QmitkPointListModel::RemoveSelectedPoint |
( |
| ) |
|
|
slot |
◆ rowCount()
| int QmitkPointListModel::rowCount |
( |
const QModelIndex & |
parent = QModelIndex() | ) |
const |
|
override |
Return the number of points in the current time step.
- Parameters
-
| [in] | parent | The parent index (unused for list models). |
- Returns
- The number of points.
◆ SetPointSetNode()
| void QmitkPointListModel::SetPointSetNode |
( |
mitk::DataNode * |
pointSetNode | ) |
|
Set the data node containing the point set to model.
- Parameters
-
| [in] | pointSetNode | The data node. May be nullptr to clear. |
◆ SetTimeStep()
| void QmitkPointListModel::SetTimeStep |
( |
int |
t | ) |
|
Set the time step to display.
- Parameters
-
| [in] | t | The time step index. |
◆ SignalUpdateSelection
| void QmitkPointListModel::SignalUpdateSelection |
( |
| ) |
|
|
signal |
emitted, when views should update their selection status (because mouse interactions in render windows can change the selection status of points)
◆ m_PointSetDeletedObserverTag
| unsigned int QmitkPointListModel::m_PointSetDeletedObserverTag |
|
protected |
◆ m_PointSetModifiedObserverTag
| unsigned int QmitkPointListModel::m_PointSetModifiedObserverTag |
|
protected |
◆ m_PointSetNode
◆ m_TimeStep
| int QmitkPointListModel::m_TimeStep |
|
protected |
The documentation for this class was generated from the following file: