Added Bundle Adjustment options to OdometryF2M (OdomF2M/BundleAdjustment) and RegistrationVis (Vis/BundleAdjustment). Added logger thread filter. RegistrationVis: Copy back corresponding input word IDs to output words when available. Memory::computeTransform() added option to use already computed corespondences if possible (proximity detection by time uses this). Updated Optimizer::optimizeBA() interface.

This commit is contained in:
matlabbe
2016-11-14 19:54:31 -05:00
parent 9fbd02b06d
commit 9276607920
39 changed files with 2214 additions and 594 deletions

92
guilib/src/3rdParty/QMultiComboBox.h vendored Normal file
View File

@@ -0,0 +1,92 @@
/****************************************************************************
**
** Copyright (C) 2010 Richard Steffen and/or its subsidiary(-ies).
** All rights reserved.
** Contact: rsteffen@messbild.de, rsteffen@uni-bonn.de
**
** Observe the License Information
**
****************************************************************************/
#ifndef __MULTIBOXCOMBO_H__
#define __MULTIBOXCOMBO_H__
#include <iostream>
using namespace std;
#include <QComboBox>
#include <QListWidget>
#include <QVBoxLayout>
#include <QStylePainter>
class QMultiComboBox: public QComboBox
{
Q_OBJECT
public:
/// Constructor
QMultiComboBox(QWidget *widget = 0);
virtual ~QMultiComboBox();
/// the main display text
void SetDisplayText(QString text);
/// get the main display text
QString GetDisplayText() const;
/// add a item to the list
void addItem(const QString& text, const QVariant& userData = QVariant());
/// custom paint
virtual void paintEvent(QPaintEvent *e);
/// set the height of the popup
void setPopupHeight(int h);
/// replace standard QComboBox Popup
void showPopup();
void hidePopup();
/// replace neccessary data access
int count();
void setCurrentIndex(int index);
QString currentText();
QString itemText(int row);
QVariant itemData(int row);
void setItemChecked(int row, bool checked);
signals:
/// item changed
void itemChanged();
public slots:
/// react on changes of the item checkbox
void scanItemSelect(QListWidgetItem* item);
/// the init style
void initStyleOption(QStyleOptionComboBox *option) const;
void clear();
protected:
/// the height of the popup
int popheight_;
/// lower/upper screen bound
int screenbound_;
/// hold the main display text
QString m_DisplayText_;
/// popup frame
QFrame popframe_;
/// multi selection list in the popup frame
QListWidget vlist_;
};
#endif