GOFIGURE2  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Public Slots | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
QGoTrackEditingWidget Class Reference

This dialog allows the user to split/merge the tracks using a GUI. More...

#include <Code/GUI/lib/QGoTrackEditingWidget.h>

Inheritance diagram for QGoTrackEditingWidget:
[legend]
Collaboration diagram for QGoTrackEditingWidget:
[legend]

Classes

struct  TrackInformation

Public Slots

void restoreTrackIDs ()
 Restore the track IDs to theirs original values (ie before entering the widget). Creates a TracksToBeCreated list, a TracksToBeUpdated list and a TracksToBeDeleted list.
void updateCurrentActorSelection (vtkObject *caller)
 Defines behavior when we pick an actor in the visualization.
void updateMeshesActors (bool)

Public Member Functions

std::list< std::list< unsigned
int > > 
GetListOfTracksToBeCreated ()
 Returns the list of tracks to be created.
std::list< unsigned int > GetListOfTracksToBeDeleted ()
 Returns the list of tracks to be deleted.
std::map< unsigned int,
std::list< unsigned int > > 
GetListOfTracksToBeUpdated ()
 Returns the list of tracks to be updated.
void init ()
 Initialize the renderer, the rendering window, the interactor style and add the meshes, polylines and labels to the visualization.
 QGoTrackEditingWidget (MeshContainer *imeshContainer=NULL, QWidget *parent=0)
 ~QGoTrackEditingWidget ()
- Public Member Functions inherited from QDialog
virtual void accept ()
void accepted ()
virtual void done (int r)
int exec ()
QWidgetextension () const
void finished (int result)
bool isSizeGripEnabled () const
virtual QSize minimumSizeHint () const
void open ()
Qt::Orientation orientation () const
 QDialog (QWidget *parent, const char *name, bool modal, QFlags< Qt::WindowType > f)
 QDialog (QWidget *parent, QFlags< Qt::WindowType > f)
virtual void reject ()
void rejected ()
int result () const
void setExtension (QWidget *extension)
void setModal (bool modal)
void setOrientation (Qt::Orientation orientation)
void setResult (int i)
void setSizeGripEnabled (bool)
virtual void setVisible (bool visible)
void showExtension (bool showIt)
virtual QSize sizeHint () const
 ~QDialog ()
- Public Member Functions inherited from QWidget
bool acceptDrops () const
QString accessibleDescription () const
QString accessibleName () const
QList< QAction * > actions () const
void activateWindow ()
void addAction (QAction *action)
void addActions (QList< QAction * > actions)
void adjustSize ()
bool autoFillBackground () const
Qt::BackgroundMode backgroundMode () const
QPoint backgroundOffset () const
BackgroundOrigin backgroundOrigin () const
QPalette::ColorRole backgroundRole () const
QSize baseSize () const
QString caption () const
QWidgetchildAt (int x, int y, bool includeThis) const
QWidgetchildAt (const QPoint &p, bool includeThis) const
QWidgetchildAt (int x, int y) const
QWidgetchildAt (const QPoint &p) const
QRect childrenRect () const
QRegion childrenRegion () const
void clearFocus ()
void clearMask ()
bool close (bool alsoDelete)
bool close ()
QColorGroup colorGroup () const
void constPolish () const
QMargins contentsMargins () const
QRect contentsRect () const
Qt::ContextMenuPolicy contextMenuPolicy () const
QCursor cursor () const
void customContextMenuRequested (const QPoint &pos)
void drawText (const QPoint &p, const QString &s)
void drawText (int x, int y, const QString &s)
WId effectiveWinId () const
void ensurePolished () const
void erase ()
void erase (const QRegion &rgn)
void erase (const QRect &rect)
void erase (int x, int y, int w, int h)
Qt::FocusPolicy focusPolicy () const
QWidgetfocusProxy () const
QWidgetfocusWidget () const
const QFontfont () const
QFontInfo fontInfo () const
QFontMetrics fontMetrics () const
QPalette::ColorRole foregroundRole () const
QRect frameGeometry () const
QSize frameSize () const
const QRectgeometry () const
void getContentsMargins (int *left, int *top, int *right, int *bottom) const
virtual HDC getDC () const
void grabGesture (Qt::GestureType gesture, QFlags< Qt::GestureFlag > flags)
void grabKeyboard ()
void grabMouse ()
void grabMouse (const QCursor &cursor)
int grabShortcut (const QKeySequence &key, Qt::ShortcutContext context)
QGraphicsEffectgraphicsEffect () const
QGraphicsProxyWidgetgraphicsProxyWidget () const
bool hasEditFocus () const
bool hasFocus () const
bool hasMouse () const
bool hasMouseTracking () const
int height () const
virtual int heightForWidth (int w) const
void hide ()
const QPixmapicon () const
void iconify ()
QString iconText () const
QInputContextinputContext ()
Qt::InputMethodHints inputMethodHints () const
virtual QVariant inputMethodQuery (Qt::InputMethodQuery query) const
void insertAction (QAction *before, QAction *action)
void insertActions (QAction *before, QList< QAction * > actions)
bool isActiveWindow () const
bool isAncestorOf (const QWidget *child) const
bool isDesktop () const
bool isDialog () const
bool isEnabled () const
bool isEnabledTo (QWidget *ancestor) const
bool isEnabledToTLW () const
bool isFullScreen () const
bool isHidden () const
bool isInputMethodEnabled () const
bool isMaximized () const
bool isMinimized () const
bool isModal () const
bool isPopup () const
bool isShown () const
bool isTopLevel () const
bool isUpdatesEnabled () const
bool isVisible () const
bool isVisibleTo (QWidget *ancestor) const
bool isVisibleToTLW () const
bool isWindow () const
bool isWindowModified () const
QLayoutlayout () const
Qt::LayoutDirection layoutDirection () const
QLocale locale () const
void lower ()
Qt::HANDLE macCGHandle () const
Qt::HANDLE macQDHandle () const
QPoint mapFrom (QWidget *parent, const QPoint &pos) const
QPoint mapFromGlobal (const QPoint &pos) const
QPoint mapFromParent (const QPoint &pos) const
QPoint mapTo (QWidget *parent, const QPoint &pos) const
QPoint mapToGlobal (const QPoint &pos) const
QPoint mapToParent (const QPoint &pos) const
QRegion mask () const
int maximumHeight () const
QSize maximumSize () const
int maximumWidth () const
int minimumHeight () const
QSize minimumSize () const
int minimumWidth () const
void move (int x, int y)
void move (const QPoint &)
QWidgetnativeParentWidget () const
QWidgetnextInFocusChain () const
QRect normalGeometry () const
void overrideWindowFlags (QFlags< Qt::WindowType > flags)
bool ownCursor () const
bool ownFont () const
bool ownPalette () const
virtual QPaintEnginepaintEngine () const
const QPalettepalette () const
QWidgetparentWidget (bool sameWindow) const
QWidgetparentWidget () const
QPlatformWindow * platformWindow () const
QPlatformWindowFormat platformWindowFormat () const
void polish ()
QPoint pos () const
QWidgetpreviousInFocusChain () const
 QWidget (QWidget *parent, const char *name, QFlags< Qt::WindowType > f)
 QWidget (QWidget *parent, QFlags< Qt::WindowType > f)
void raise ()
void recreate (QWidget *parent, QFlags< Qt::WindowType > f, const QPoint &p, bool showIt)
QRect rect () const
virtual void releaseDC (HDC hdc) const
void releaseKeyboard ()
void releaseMouse ()
void releaseShortcut (int id)
void removeAction (QAction *action)
void render (QPaintDevice *target, const QPoint &targetOffset, const QRegion &sourceRegion, QFlags< QWidget::RenderFlag > renderFlags)
void render (QPainter *painter, const QPoint &targetOffset, const QRegion &sourceRegion, QFlags< QWidget::RenderFlag > renderFlags)
void repaint (const QRect &r, bool b)
void repaint (int x, int y, int w, int h, bool b)
void repaint (const QRegion &rgn, bool b)
void repaint ()
void repaint (int x, int y, int w, int h)
void repaint (const QRegion &rgn)
void repaint (const QRect &rect)
void repaint (bool b)
void reparent (QWidget *parent, QFlags< Qt::WindowType > f, const QPoint &p, bool showIt)
void reparent (QWidget *parent, const QPoint &p, bool showIt)
void resize (int w, int h)
void resize (const QSize &)
bool restoreGeometry (const QByteArray &geometry)
QByteArray saveGeometry () const
void scroll (int dx, int dy)
void scroll (int dx, int dy, const QRect &r)
void setAcceptDrops (bool on)
void setAccessibleDescription (const QString &description)
void setAccessibleName (const QString &name)
void setActiveWindow ()
void setAttribute (Qt::WidgetAttribute attribute, bool on)
void setAutoFillBackground (bool enabled)
void setBackgroundColor (const QColor &color)
void setBackgroundMode (Qt::BackgroundMode widgetBackground, Qt::BackgroundMode paletteBackground)
void setBackgroundOrigin (BackgroundOrigin background)
void setBackgroundPixmap (const QPixmap &pixmap)
void setBackgroundRole (QPalette::ColorRole role)
void setBaseSize (const QSize &)
void setBaseSize (int basew, int baseh)
void setCaption (const QString &c)
void setContentsMargins (int left, int top, int right, int bottom)
void setContentsMargins (const QMargins &margins)
void setContextMenuPolicy (Qt::ContextMenuPolicy policy)
void setCursor (const QCursor &)
void setDisabled (bool disable)
void setEditFocus (bool enable)
void setEnabled (bool)
void setEraseColor (const QColor &color)
void setErasePixmap (const QPixmap &pixmap)
void setFixedHeight (int h)
void setFixedSize (const QSize &s)
void setFixedSize (int w, int h)
void setFixedWidth (int w)
void setFocus ()
void setFocus (Qt::FocusReason reason)
void setFocusPolicy (Qt::FocusPolicy policy)
void setFocusProxy (QWidget *w)
void setFont (const QFont &)
void setFont (const QFont &f, bool b)
void setForegroundRole (QPalette::ColorRole role)
void setGeometry (const QRect &)
void setGeometry (int x, int y, int w, int h)
void setGraphicsEffect (QGraphicsEffect *effect)
void setHidden (bool hidden)
void setIcon (const QPixmap &i)
void setIconText (const QString &it)
void setInputContext (QInputContext *context)
void setInputMethodEnabled (bool enabled)
void setInputMethodHints (QFlags< Qt::InputMethodHint > hints)
void setKeyCompression (bool b)
void setLayout (QLayout *layout)
void setLayoutDirection (Qt::LayoutDirection direction)
void setLocale (const QLocale &locale)
void setMask (const QBitmap &bitmap)
void setMask (const QRegion &region)
void setMaximumHeight (int maxh)
void setMaximumSize (const QSize &)
void setMaximumSize (int maxw, int maxh)
void setMaximumWidth (int maxw)
void setMinimumHeight (int minh)
void setMinimumSize (int minw, int minh)
void setMinimumSize (const QSize &)
void setMinimumWidth (int minw)
void setMouseTracking (bool enable)
void setPalette (const QPalette &p, bool b)
void setPalette (const QPalette &)
void setPaletteBackgroundColor (const QColor &color)
void setPaletteBackgroundPixmap (const QPixmap &pixmap)
void setPaletteForegroundColor (const QColor &color)
void setParent (QWidget *parent, QFlags< Qt::WindowType > f)
void setParent (QWidget *parent)
void setPlatformWindow (QPlatformWindow *window)
void setPlatformWindowFormat (const QPlatformWindowFormat &format)
void setShortcutAutoRepeat (int id, bool enable)
void setShortcutEnabled (int id, bool enable)
void setShown (bool shown)
void setSizeIncrement (const QSize &)
void setSizeIncrement (int w, int h)
void setSizePolicy (QSizePolicy::Policy hor, QSizePolicy::Policy ver, bool hfw)
void setSizePolicy (QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical)
void setSizePolicy (QSizePolicy)
void setStatusTip (const QString &)
void setStyle (QStyle *style)
QStylesetStyle (const QString &style)
void setStyleSheet (const QString &styleSheet)
void setToolTip (const QString &)
void setUpdatesEnabled (bool enable)
void setupUi (QWidget *widget)
void setWhatsThis (const QString &)
void setWindowFilePath (const QString &filePath)
void setWindowFlags (QFlags< Qt::WindowType > type)
void setWindowIcon (const QIcon &icon)
void setWindowIconText (const QString &)
void setWindowModality (Qt::WindowModality windowModality)
void setWindowModified (bool)
void setWindowOpacity (qreal level)
void setWindowRole (const QString &role)
void setWindowState (QFlags< Qt::WindowState > windowState)
void setWindowSurface (QWindowSurface *surface)
void setWindowTitle (const QString &)
void show ()
void showFullScreen ()
void showMaximized ()
void showMinimized ()
void showNormal ()
QSize size () const
QSize sizeIncrement () const
QSizePolicy sizePolicy () const
void stackUnder (QWidget *w)
QString statusTip () const
QStylestyle () const
QString styleSheet () const
bool testAttribute (Qt::WidgetAttribute attribute) const
QString toolTip () const
QWidgettopLevelWidget () const
bool underMouse () const
void ungrabGesture (Qt::GestureType gesture)
void unsetCursor ()
void unsetFont ()
void unsetLayoutDirection ()
void unsetLocale ()
void unsetPalette ()
void update (int x, int y, int w, int h)
void update (const QRect &rect)
void update ()
void update (const QRegion &rgn)
void updateGeometry ()
bool updatesEnabled () const
QRect visibleRect () const
QRegion visibleRegion () const
QString whatsThis () const
int width () const
QWidgetwindow () const
QString windowFilePath () const
Qt::WindowFlags windowFlags () const
QIcon windowIcon () const
QString windowIconText () const
Qt::WindowModality windowModality () const
qreal windowOpacity () const
QString windowRole () const
Qt::WindowStates windowState () const
QWindowSurface * windowSurface () const
QString windowTitle () const
Qt::WindowType windowType () const
WId winId () const
int x () const
const QX11Infox11Info () const
Qt::HANDLE x11PictureHandle () const
int y () const
 ~QWidget ()
- Public Member Functions inherited from QObject
bool blockSignals (bool block)
QObjectchild (const char *objName, const char *inheritsClass, bool recursiveSearch) const
const QObjectList & children () const
const char * className () const
bool connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
void deleteLater ()
void destroyed (QObject *obj)
bool disconnect (const QObject *receiver, const char *method)
bool disconnect (const char *signal, const QObject *receiver, const char *method)
void dumpObjectInfo ()
void dumpObjectTree ()
QList< QByteArraydynamicPropertyNames () const
findChild (const QString &name) const
QList< T > findChildren (const QRegExp &regExp) const
QList< T > findChildren (const QString &name) const
bool inherits (const char *className) const
void insertChild (QObject *object)
void installEventFilter (QObject *filterObj)
bool isA (const char *className) const
bool isWidgetType () const
void killTimer (int id)
virtual const QMetaObjectmetaObject () const
void moveToThread (QThread *targetThread)
const char * name () const
const char * name (const char *defaultName) const
QString objectName () const
QObjectparent () const
QVariant property (const char *name) const
 QObject (QObject *parent)
 QObject (QObject *parent, const char *name)
void removeChild (QObject *object)
void removeEventFilter (QObject *obj)
void setName (const char *name)
void setObjectName (const QString &name)
void setParent (QObject *parent)
bool setProperty (const char *name, const QVariant &value)
bool signalsBlocked () const
int startTimer (int interval)
QThreadthread () const
virtual  ~QObject ()
- Public Member Functions inherited from QPaintDevice
int colorCount () const
int depth () const
int heightMM () const
int logicalDpiX () const
int logicalDpiY () const
int numColors () const
bool paintingActive () const
int physicalDpiX () const
int physicalDpiY () const
int widthMM () const
int x11Cells () const
Qt::HANDLE x11Colormap () const
bool x11DefaultColormap () const
bool x11DefaultVisual () const
int x11Depth () const
Display * x11Display () const
int x11Screen () const
void * x11Visual () const
virtual  ~QPaintDevice ()

Private Types

typedef std::map< vtkActor
*, unsigned int >::iterator 
LineActor2MeshIDIterator
typedef std::map< unsigned int,
TrackInformation
TrackMapping
enum  TrackStatusType { NEW_TRACK = 0, UPDATED_TRACK, DELETED_TRACK }

Private Member Functions

void computeLabelActor ()
 Create label actors to see the temporal information of each mesh. It is very useful for the merge. Note that the 2 input parameters have to ordered in the same way.
void computeLineActors ()
 Create the polyLines actors according to the current MeshContainer.
void computeMeshActors ()
 Get and display the meshes actors.
vtkActor * computeSphere (unsigned int iTraceID, double *iCenter, double radius)
vtkActor * createPolylineActor (double *iCenter1, double *iCenter2, const double *iColor1=NULL, const double *iColor2=NULL)
 Create a line between 2 points.
void cutTrack (vtkActor *iActor)
 Cut a track at the current actor. The actor represents a polyline between 2 meshes.
void getClosestPoints ()
std::list< unsigned int > getMeshIDsInTrack (unsigned int iCollection)
 Get the list of the mesh IDs which belong to the given track.
std::pair< std::pair< unsigned
int, unsigned int >, std::pair
< unsigned int, unsigned int > > 
getTrackBorders (const unsigned int &iCollectionID)
 Get the borders of the given track.
void highlightFirstActor (bool iHighlight)
 Change the apperance of the mesh depending on if we want to highlight it or not. First click on one actor will highlight it. Second click will restore its original apperance.
void initializeVisualization ()
 Reassigns track IDs and add the meshes, polylines and labels actors to the visualization.
void merge (MeshContainer::MultiIndexContainerTraceIDIterator iBegin)
bool mergeTrack (const unsigned int &iFirstMesh, const unsigned int &iSecondMesh)
 Merge 2 tracks, given 2 mesh IDs. Requierements for a successful merge: -Each mesh must belong to different tracks. -The tracks can't overlap. -The mesh has to be a border of its own track.
void modifyMeshCollectionID (unsigned int iMeshID, unsigned int iCollectionID)
 Modify the mesh collection to the chosen track ID.
 Q_DISABLE_COPY (QGoTrackEditingWidget)
void reassignTrackIDs ()
 Reassing real track IDs to temporary ones for convenience.
void removeLineActors ()
 Remove the polyLines actors. Usefull after a merge or a cut. An "Update" method would be more efficient than remove then compute.
void updateTracksIDs (const unsigned int &iIDToDelete, const unsigned int &iIDToUpdate)
 Update track IDs after a merge -The mesh has to be a border of its own track.

Private Attributes

vtkActor * m_CurrentActor
vtkActor * m_FirstMeshActor
unsigned int m_FirstMeshID
vtkInteractorStyleImage3Dm_InteractorStyle3D
std::map< vtkActor *, unsigned
int > 
m_Line2MeshID
std::list< unsigned int > m_ListOfDeletedTracks
std::list< std::list< unsigned
int > > 
m_ListOfNewTrack
std::map< unsigned int,
std::list< unsigned int > > 
m_ListOfUpdatedTracks
unsigned int m_MaxTrackID
MeshContainerm_MeshContainer
double m_MinimalDistance
unsigned int m_NumberOfTracks
bool m_SecondClick
QStatusBarm_StatusBar
TrackMapping m_TrackMapping
vtkSmartPointer
< vtkEventQtSlotConnect > 
m_VtkEventQtConnector
vtkSmartPointer< vtkRenderer > renderer

Additional Inherited Members

- Static Public Member Functions inherited from QWidget
QWidgetfind (WId id)
QWidgetkeyboardGrabber ()
QWidgetmouseGrabber ()
void setTabOrder (QWidget *first, QWidget *second)
QWidgetMapper * wmapper ()
- Public Attributes inherited from QWidget
typedef RenderFlags
- Protected Member Functions inherited from QDialog
virtual void closeEvent (QCloseEvent *e)
virtual void contextMenuEvent (QContextMenuEvent *e)
virtual bool event (QEvent *e)
virtual bool eventFilter (QObject *o, QEvent *e)
virtual void keyPressEvent (QKeyEvent *e)
virtual void resizeEvent (QResizeEvent *)
virtual void showEvent (QShowEvent *event)
- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
- Properties inherited from QDialog
 modal
 sizeGripEnabled

Detailed Description

This dialog allows the user to split/merge the tracks using a GUI.

Definition at line 61 of file QGoTrackEditingWidget.h.

Member Typedef Documentation

typedef std::map< vtkActor*, unsigned int >::iterator QGoTrackEditingWidget::LineActor2MeshIDIterator
private

Definition at line 265 of file QGoTrackEditingWidget.h.

typedef std::map< unsigned int, TrackInformation > QGoTrackEditingWidget::TrackMapping
private

Definition at line 262 of file QGoTrackEditingWidget.h.

Member Enumeration Documentation

Enumerator:
NEW_TRACK 
UPDATED_TRACK 
DELETED_TRACK 

Definition at line 246 of file QGoTrackEditingWidget.h.

Constructor & Destructor Documentation

QGoTrackEditingWidget::QGoTrackEditingWidget ( MeshContainer imeshContainer = NULL,
QWidget parent = 0 
)
explicit

Definition at line 67 of file QGoTrackEditingWidget.cxx.

QGoTrackEditingWidget::~QGoTrackEditingWidget ( )

Definition at line 101 of file QGoTrackEditingWidget.cxx.

Member Function Documentation

void QGoTrackEditingWidget::computeLabelActor ( )
private

Create label actors to see the temporal information of each mesh. It is very useful for the merge. Note that the 2 input parameters have to ordered in the same way.

Definition at line 339 of file QGoTrackEditingWidget.cxx.

void QGoTrackEditingWidget::computeLineActors ( )
private

Create the polyLines actors according to the current MeshContainer.

Todo:
should color be hard coded? hoew to define it? - Nicolas

Definition at line 457 of file QGoTrackEditingWidget.cxx.

void QGoTrackEditingWidget::computeMeshActors ( )
private

Get and display the meshes actors.

Definition at line 281 of file QGoTrackEditingWidget.cxx.

vtkActor * QGoTrackEditingWidget::computeSphere ( unsigned int  iTraceID,
double *  iCenter,
double  radius 
)
private

Definition at line 817 of file QGoTrackEditingWidget.cxx.

vtkActor * QGoTrackEditingWidget::createPolylineActor ( double *  iCenter1,
double *  iCenter2,
const double *  iColor1 = NULL,
const double *  iColor2 = NULL 
)
private

Create a line between 2 points.

Parameters
[in]iCenter1Center of the first mesh
[in]iCenter2Center of the second mesh
[in]iColor1Color of the first mesh
[in]iColor2Color of the second mesh
Returns
a pointer to the new actor. It has to be deleted somewhere.

Definition at line 118 of file QGoTrackEditingWidget.cxx.

void QGoTrackEditingWidget::cutTrack ( vtkActor *  iActor)
private

Cut a track at the current actor. The actor represents a polyline between 2 meshes.

Parameters
[in]iActorposition where we want to split the track

Definition at line 392 of file QGoTrackEditingWidget.cxx.

void QGoTrackEditingWidget::getClosestPoints ( )
private

Definition at line 850 of file QGoTrackEditingWidget.cxx.

std::list< std::list< unsigned int > > QGoTrackEditingWidget::GetListOfTracksToBeCreated ( )

Returns the list of tracks to be created.

Returns
The list of tracks to be created

Definition at line 582 of file QGoTrackEditingWidget.cxx.

std::list< unsigned int > QGoTrackEditingWidget::GetListOfTracksToBeDeleted ( )

Returns the list of tracks to be deleted.

Returns
The list of tracks to be deleted

Definition at line 600 of file QGoTrackEditingWidget.cxx.

std::map< unsigned int, std::list< unsigned int > > QGoTrackEditingWidget::GetListOfTracksToBeUpdated ( )

Returns the list of tracks to be updated.

Returns
The list of tracks to be updated

Definition at line 591 of file QGoTrackEditingWidget.cxx.

std::list< unsigned int > QGoTrackEditingWidget::getMeshIDsInTrack ( unsigned int  iCollection)
private

Get the list of the mesh IDs which belong to the given track.

Parameters
[in]iCollectiontrack from which we want to extract the mesh id
Returns
list of the meshes IDs

Definition at line 561 of file QGoTrackEditingWidget.cxx.

std::pair< std::pair< unsigned int, unsigned int >, std::pair< unsigned int, unsigned int > > QGoTrackEditingWidget::getTrackBorders ( const unsigned int &  iCollectionID)
private

Get the borders of the given track.

Parameters
[in]iCollectionIDtrack IDs we are interested in
Returns
time point and mesh id of the first and last mesh of the track

Definition at line 692 of file QGoTrackEditingWidget.cxx.

void QGoTrackEditingWidget::highlightFirstActor ( bool  iHighlight)
private

Change the apperance of the mesh depending on if we want to highlight it or not. First click on one actor will highlight it. Second click will restore its original apperance.

Parameters
[in]iHighlighttrue if we want to highlight the actor (i.e. first click)

Definition at line 783 of file QGoTrackEditingWidget.cxx.

void QGoTrackEditingWidget::init ( )

Initialize the renderer, the rendering window, the interactor style and add the meshes, polylines and labels to the visualization.

Definition at line 752 of file QGoTrackEditingWidget.cxx.

void QGoTrackEditingWidget::initializeVisualization ( )
private

Reassigns track IDs and add the meshes, polylines and labels actors to the visualization.

Definition at line 262 of file QGoTrackEditingWidget.cxx.

void QGoTrackEditingWidget::merge ( MeshContainer::MultiIndexContainerTraceIDIterator  iBegin)
private

Definition at line 203 of file QGoTrackEditingWidget.cxx.

bool QGoTrackEditingWidget::mergeTrack ( const unsigned int &  iFirstMesh,
const unsigned int &  iSecondMesh 
)
private

Merge 2 tracks, given 2 mesh IDs. Requierements for a successful merge: -Each mesh must belong to different tracks. -The tracks can't overlap. -The mesh has to be a border of its own track.

Parameters
[in]iFirstMeshID of a mesh belonging to the first track
[in]iSecondMeshID of a mesh belonging to the second track
Returns
true is the merge was successful

Definition at line 609 of file QGoTrackEditingWidget.cxx.

void QGoTrackEditingWidget::modifyMeshCollectionID ( unsigned int  iMeshID,
unsigned int  iCollectionID 
)
private

Modify the mesh collection to the chosen track ID.

Parameters
[in]iMeshIDmesh to be modified
[in]iCollectionIDnew track ID of the mesh

Definition at line 769 of file QGoTrackEditingWidget.cxx.

QGoTrackEditingWidget::Q_DISABLE_COPY ( QGoTrackEditingWidget  )
private
void QGoTrackEditingWidget::reassignTrackIDs ( )
private

Reassing real track IDs to temporary ones for convenience.

Definition at line 222 of file QGoTrackEditingWidget.cxx.

void QGoTrackEditingWidget::removeLineActors ( )
private

Remove the polyLines actors. Usefull after a merge or a cut. An "Update" method would be more efficient than remove then compute.

Definition at line 440 of file QGoTrackEditingWidget.cxx.

void QGoTrackEditingWidget::restoreTrackIDs ( )
slot

Restore the track IDs to theirs original values (ie before entering the widget). Creates a TracksToBeCreated list, a TracksToBeUpdated list and a TracksToBeDeleted list.

Definition at line 513 of file QGoTrackEditingWidget.cxx.

void QGoTrackEditingWidget::updateCurrentActorSelection ( vtkObject *  caller)
slot

Defines behavior when we pick an actor in the visualization.

Definition at line 162 of file QGoTrackEditingWidget.cxx.

void QGoTrackEditingWidget::updateMeshesActors ( bool  iRealMeshes)
slot

Definition at line 794 of file QGoTrackEditingWidget.cxx.

void QGoTrackEditingWidget::updateTracksIDs ( const unsigned int &  iIDToDelete,
const unsigned int &  iIDToUpdate 
)
private

Update track IDs after a merge -The mesh has to be a border of its own track.

Parameters
[in]iIDToDeleteID of the track to be deleted
[in]iIDToUpdateID of the track to be updated

Definition at line 732 of file QGoTrackEditingWidget.cxx.

Member Data Documentation

vtkActor* QGoTrackEditingWidget::m_CurrentActor
private

Definition at line 236 of file QGoTrackEditingWidget.h.

vtkActor* QGoTrackEditingWidget::m_FirstMeshActor
private

Definition at line 237 of file QGoTrackEditingWidget.h.

unsigned int QGoTrackEditingWidget::m_FirstMeshID
private

Definition at line 238 of file QGoTrackEditingWidget.h.

vtkInteractorStyleImage3D* QGoTrackEditingWidget::m_InteractorStyle3D
private

Definition at line 242 of file QGoTrackEditingWidget.h.

std::map< vtkActor*, unsigned int > QGoTrackEditingWidget::m_Line2MeshID
private

Definition at line 266 of file QGoTrackEditingWidget.h.

std::list< unsigned int > QGoTrackEditingWidget::m_ListOfDeletedTracks
private

Definition at line 227 of file QGoTrackEditingWidget.h.

std::list< std::list< unsigned int > > QGoTrackEditingWidget::m_ListOfNewTrack
private

Definition at line 225 of file QGoTrackEditingWidget.h.

std::map< unsigned int, std::list< unsigned int > > QGoTrackEditingWidget::m_ListOfUpdatedTracks
private

Definition at line 226 of file QGoTrackEditingWidget.h.

unsigned int QGoTrackEditingWidget::m_MaxTrackID
private

Definition at line 231 of file QGoTrackEditingWidget.h.

MeshContainer* QGoTrackEditingWidget::m_MeshContainer
private

Definition at line 223 of file QGoTrackEditingWidget.h.

double QGoTrackEditingWidget::m_MinimalDistance
private

Definition at line 240 of file QGoTrackEditingWidget.h.

unsigned int QGoTrackEditingWidget::m_NumberOfTracks
private

Definition at line 232 of file QGoTrackEditingWidget.h.

bool QGoTrackEditingWidget::m_SecondClick
private

Definition at line 234 of file QGoTrackEditingWidget.h.

QStatusBar* QGoTrackEditingWidget::m_StatusBar
private

Definition at line 229 of file QGoTrackEditingWidget.h.

TrackMapping QGoTrackEditingWidget::m_TrackMapping
private

Definition at line 263 of file QGoTrackEditingWidget.h.

vtkSmartPointer<vtkEventQtSlotConnect> QGoTrackEditingWidget::m_VtkEventQtConnector
private

Definition at line 243 of file QGoTrackEditingWidget.h.

vtkSmartPointer<vtkRenderer> QGoTrackEditingWidget::renderer
private

Definition at line 244 of file QGoTrackEditingWidget.h.


The documentation for this class was generated from the following files: