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. More...
 
void updateCurrentActorSelection (vtkObject *caller)
 Defines behavior when we pick an actor in the visualization. More...
 
void updateMeshesActors (bool)
 

Public Member Functions

std::list< std::list< unsigned
int > > 
GetListOfTracksToBeCreated ()
 Returns the list of tracks to be created. More...
 
std::list< unsigned int > GetListOfTracksToBeDeleted ()
 Returns the list of tracks to be deleted. More...
 
std::map< unsigned int,
std::list< unsigned int > > 
GetListOfTracksToBeUpdated ()
 Returns the list of tracks to be updated. More...
 
void init ()
 Initialize the renderer, the rendering window, the interactor style and add the meshes, polylines and labels to the visualization. More...
 
 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 height () const
 
int heightMM () const
 
int logicalDpiX () const
 
int logicalDpiY () const
 
int numColors () const
 
virtual QPaintEnginepaintEngine () const =0
 
bool paintingActive () const
 
int physicalDpiX () const
 
int physicalDpiY () const
 
int width () 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. More...
 
void computeLineActors ()
 Create the polyLines actors according to the current MeshContainer. More...
 
void computeMeshActors ()
 Get and display the meshes actors. More...
 
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. More...
 
void cutTrack (vtkActor *iActor)
 Cut a track at the current actor. The actor represents a polyline between 2 meshes. More...
 
void getClosestPoints ()
 
std::list< unsigned int > getMeshIDsInTrack (unsigned int iCollection)
 Get the list of the mesh IDs which belong to the given track. More...
 
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. More...
 
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. More...
 
void initializeVisualization ()
 Reassigns track IDs and add the meshes, polylines and labels actors to the visualization. More...
 
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. More...
 
void modifyMeshCollectionID (unsigned int iMeshID, unsigned int iCollectionID)
 Modify the mesh collection to the chosen track ID. More...
 
 Q_DISABLE_COPY (QGoTrackEditingWidget)
 
void reassignTrackIDs ()
 Reassing real track IDs to temporary ones for convenience. More...
 
void removeLineActors ()
 Remove the polyLines actors. Usefull after a merge or a cut. An "Update" method would be more efficient than remove then compute. More...
 
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. More...
 

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 ()
 
- Static Public Member Functions inherited from QObject
bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Static Public Member Functions inherited from QPaintDevice
int x11AppCells (int screen)
 
Qt::HANDLE x11AppColormap (int screen)
 
bool x11AppDefaultColormap (int screen)
 
bool x11AppDefaultVisual (int screen)
 
int x11AppDepth (int screen)
 
Display * x11AppDisplay ()
 
int x11AppDpiX (int screen)
 
int x11AppDpiY (int screen)
 
Qt::HANDLE x11AppRootWindow (int screen)
 
int x11AppScreen ()
 
void * x11AppVisual (int screen)
 
void x11SetAppDpiX (int dpi, int screen)
 
void x11SetAppDpiY (int dpi, int screen)
 
- 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)
 
- Protected Member Functions inherited from QWidget
virtual void actionEvent (QActionEvent *event)
 
virtual void changeEvent (QEvent *event)
 
void create (WId window, bool initializeWindow, bool destroyOldWindow)
 
void destroy (bool destroyWindow, bool destroySubWindows)
 
virtual void dragEnterEvent (QDragEnterEvent *event)
 
virtual void dragLeaveEvent (QDragLeaveEvent *event)
 
virtual void dragMoveEvent (QDragMoveEvent *event)
 
virtual void dropEvent (QDropEvent *event)
 
virtual void enterEvent (QEvent *event)
 
virtual void focusInEvent (QFocusEvent *event)
 
bool focusNextChild ()
 
virtual bool focusNextPrevChild (bool next)
 
virtual void focusOutEvent (QFocusEvent *event)
 
bool focusPreviousChild ()
 
virtual void hideEvent (QHideEvent *event)
 
virtual void inputMethodEvent (QInputMethodEvent *event)
 
virtual void keyReleaseEvent (QKeyEvent *event)
 
virtual void languageChange ()
 
virtual void leaveEvent (QEvent *event)
 
virtual bool macEvent (EventHandlerCallRef caller, EventRef event)
 
virtual int metric (PaintDeviceMetric m) const
 
virtual void mouseDoubleClickEvent (QMouseEvent *event)
 
virtual void mouseMoveEvent (QMouseEvent *event)
 
virtual void mousePressEvent (QMouseEvent *event)
 
virtual void mouseReleaseEvent (QMouseEvent *event)
 
virtual void moveEvent (QMoveEvent *event)
 
virtual void paintEvent (QPaintEvent *event)
 
virtual bool qwsEvent (QWSEvent *event)
 
void resetInputContext ()
 
virtual void tabletEvent (QTabletEvent *event)
 
void updateMicroFocus ()
 
virtual void wheelEvent (QWheelEvent *event)
 
virtual bool winEvent (MSG *message, long *result)
 
virtual bool x11Event (XEvent *event)
 
- Protected Member Functions inherited from QObject
bool checkConnectArgs (const char *signal, const QObject *object, const char *method)
 
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const char *signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const char *signal)
 
int receivers (const char *signal) const
 
QObjectsender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 
- Protected Member Functions inherited from QPaintDevice
 QPaintDevice ()
 
- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from QDialog
 modal
 
 sizeGripEnabled
 
- Properties inherited from QWidget
 acceptDrops
 
 accessibleDescription
 
 accessibleName
 
 autoFillBackground
 
 baseSize
 
 childrenRect
 
 childrenRegion
 
 contextMenuPolicy
 
 cursor
 
 enabled
 
 focus
 
 focusPolicy
 
 font
 
 frameGeometry
 
 frameSize
 
 fullScreen
 
 geometry
 
 height
 
 inputMethodHints
 
 isActiveWindow
 
 layoutDirection
 
 locale
 
 maximized
 
 maximumHeight
 
 maximumSize
 
 maximumWidth
 
 minimized
 
 minimumHeight
 
 minimumSize
 
 minimumSizeHint
 
 minimumWidth
 
 modal
 
 mouseTracking
 
 normalGeometry
 
 palette
 
 pos
 
 rect
 
 size
 
 sizeHint
 
 sizeIncrement
 
 sizePolicy
 
 statusTip
 
 styleSheet
 
 toolTip
 
 updatesEnabled
 
 visible
 
 whatsThis
 
 width
 
 windowFilePath
 
 windowFlags
 
 windowIcon
 
 windowIconText
 
 windowModality
 
 windowModified
 
 windowOpacity
 
 windowTitle
 
 x
 
 y
 
- Properties inherited from QObject
 objectName
 

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: