mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 01:20:25 +08:00
Merge branch 'master' of github.com:introlab/rtabmap
This commit is contained in:
@@ -166,7 +166,8 @@ IF((APPLE AND BUILD_AS_BUNDLE) OR WIN32)
|
|||||||
# over.
|
# over.
|
||||||
# To find dependencies, cmake use "otool" on Apple and "dumpbin" on Windows (make sure you have one of them).
|
# To find dependencies, cmake use "otool" on Apple and "dumpbin" on Windows (make sure you have one of them).
|
||||||
install(CODE "
|
install(CODE "
|
||||||
file(GLOB_RECURSE QTPLUGINS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${plugin_dest_dir}/plugins/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
|
file(GLOB_RECURSE QTPLUGINS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${plugin_dest_dir}/plugins/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
|
||||||
|
set(BU_CHMOD_BUNDLE_ITEMS ON)
|
||||||
include(\"BundleUtilities\")
|
include(\"BundleUtilities\")
|
||||||
fixup_bundle(\"${APPS}\" \"\${QTPLUGINS}\" \"${DIRS}\")
|
fixup_bundle(\"${APPS}\" \"\${QTPLUGINS}\" \"${DIRS}\")
|
||||||
" COMPONENT runtime)
|
" COMPONENT runtime)
|
||||||
|
|||||||
@@ -30,10 +30,12 @@ ENDIF()
|
|||||||
|
|
||||||
IF(APPLE)
|
IF(APPLE)
|
||||||
FIND_LIBRARY(CoreWLAN_LIBRARY CoreWLAN)
|
FIND_LIBRARY(CoreWLAN_LIBRARY CoreWLAN)
|
||||||
MARK_AS_ADVANCED(CoreWLAN_LIBRARY)
|
FIND_LIBRARY(Foundation_LIBRARY Foundation)
|
||||||
|
MARK_AS_ADVANCED(CoreWLAN_LIBRARY Foundation_LIBRARY)
|
||||||
SET(LIBRARIES
|
SET(LIBRARIES
|
||||||
${LIBRARIES}
|
${LIBRARIES}
|
||||||
${CoreWLAN_LIBRARY}
|
${CoreWLAN_LIBRARY}
|
||||||
|
${Foundation_LIBRARY}
|
||||||
)
|
)
|
||||||
SET(srcs
|
SET(srcs
|
||||||
${srcs}
|
${srcs}
|
||||||
|
|||||||
@@ -1899,51 +1899,35 @@ void DatabaseViewer::updateConstraintView(
|
|||||||
|
|
||||||
if(updateImageSliders)
|
if(updateImageSliders)
|
||||||
{
|
{
|
||||||
bool updateA = false;
|
|
||||||
bool updateB = false;
|
|
||||||
ui_->horizontalSlider_A->blockSignals(true);
|
ui_->horizontalSlider_A->blockSignals(true);
|
||||||
ui_->horizontalSlider_B->blockSignals(true);
|
ui_->horizontalSlider_B->blockSignals(true);
|
||||||
// set from on left and to on right
|
// set from on left and to on right {
|
||||||
if(ui_->horizontalSlider_A->value() != idToIndex_.value(link.from()))
|
ui_->horizontalSlider_A->setValue(idToIndex_.value(link.from()));
|
||||||
{
|
ui_->horizontalSlider_B->setValue(idToIndex_.value(link.to()));
|
||||||
ui_->horizontalSlider_A->setValue(idToIndex_.value(link.from()));
|
|
||||||
updateA=true;
|
|
||||||
}
|
|
||||||
if(ui_->horizontalSlider_B->value() != idToIndex_.value(link.to()))
|
|
||||||
{
|
|
||||||
ui_->horizontalSlider_B->setValue(idToIndex_.value(link.to()));
|
|
||||||
updateB=true;
|
|
||||||
}
|
|
||||||
ui_->horizontalSlider_A->blockSignals(false);
|
ui_->horizontalSlider_A->blockSignals(false);
|
||||||
ui_->horizontalSlider_B->blockSignals(false);
|
ui_->horizontalSlider_B->blockSignals(false);
|
||||||
if(updateA)
|
this->update(idToIndex_.value(link.from()),
|
||||||
{
|
ui_->label_indexA,
|
||||||
this->update(idToIndex_.value(link.from()),
|
ui_->label_parentsA,
|
||||||
ui_->label_indexA,
|
ui_->label_childrenA,
|
||||||
ui_->label_parentsA,
|
ui_->label_weightA,
|
||||||
ui_->label_childrenA,
|
ui_->label_labelA,
|
||||||
ui_->label_weightA,
|
ui_->label_stampA,
|
||||||
ui_->label_labelA,
|
ui_->graphicsView_A,
|
||||||
ui_->label_stampA,
|
ui_->widget_cloudA,
|
||||||
ui_->graphicsView_A,
|
ui_->label_idA,
|
||||||
ui_->widget_cloudA,
|
false); // don't update constraints view!
|
||||||
ui_->label_idA,
|
this->update(idToIndex_.value(link.to()),
|
||||||
false); // don't update constraints view!
|
ui_->label_indexB,
|
||||||
}
|
ui_->label_parentsB,
|
||||||
if(updateB)
|
ui_->label_childrenB,
|
||||||
{
|
ui_->label_weightB,
|
||||||
this->update(idToIndex_.value(link.to()),
|
ui_->label_labelB,
|
||||||
ui_->label_indexB,
|
ui_->label_stampB,
|
||||||
ui_->label_parentsB,
|
ui_->graphicsView_B,
|
||||||
ui_->label_childrenB,
|
ui_->widget_cloudB,
|
||||||
ui_->label_weightB,
|
ui_->label_idB,
|
||||||
ui_->label_labelB,
|
false); // don't update constraints view!
|
||||||
ui_->label_stampB,
|
|
||||||
ui_->graphicsView_B,
|
|
||||||
ui_->widget_cloudB,
|
|
||||||
ui_->label_idB,
|
|
||||||
false); // don't update constraints view!
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ui_->constraintsViewer->isVisible())
|
if(ui_->constraintsViewer->isVisible())
|
||||||
@@ -2786,13 +2770,6 @@ void DatabaseViewer::addConstraint()
|
|||||||
|
|
||||||
bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGraph)
|
bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGraph)
|
||||||
{
|
{
|
||||||
if(from < to)
|
|
||||||
{
|
|
||||||
int tmp = to;
|
|
||||||
to = from;
|
|
||||||
from = tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(from == to)
|
if(from == to)
|
||||||
{
|
{
|
||||||
UWARN("Cannot add link to same node");
|
UWARN("Cannot add link to same node");
|
||||||
@@ -2846,8 +2823,8 @@ bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGra
|
|||||||
|
|
||||||
if(!silent)
|
if(!silent)
|
||||||
{
|
{
|
||||||
ui_->graphicsView_A->setFeatures(tmpMemory.getSignature(to)->getWords());
|
ui_->graphicsView_A->setFeatures(tmpMemory.getSignature(from)->getWords());
|
||||||
ui_->graphicsView_B->setFeatures(tmpMemory.getSignature(from)->getWords());
|
ui_->graphicsView_B->setFeatures(tmpMemory.getSignature(to)->getWords());
|
||||||
updateWordsMatching();
|
updateWordsMatching();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2882,7 +2859,14 @@ bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGra
|
|||||||
}
|
}
|
||||||
|
|
||||||
// transform is valid, make a link
|
// transform is valid, make a link
|
||||||
linksAdded_.insert(std::make_pair(from, Link(from, to, Link::kUserClosure, t, variance, variance)));
|
if(from>to)
|
||||||
|
{
|
||||||
|
linksAdded_.insert(std::make_pair(from, Link(from, to, Link::kUserClosure, t, variance, variance)));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
linksAdded_.insert(std::make_pair(to, Link(to, from, Link::kUserClosure, t.inverse(), variance, variance)));
|
||||||
|
}
|
||||||
updateSlider = true;
|
updateSlider = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2256,7 +2256,8 @@ void MainWindow::drawKeypoints(const std::multimap<int, cv::KeyPoint> & refWords
|
|||||||
|
|
||||||
void MainWindow::showEvent(QShowEvent* anEvent)
|
void MainWindow::showEvent(QShowEvent* anEvent)
|
||||||
{
|
{
|
||||||
this->setWindowModified(false);
|
//if the config file doesn't exist, make the GUI obsolete
|
||||||
|
this->setWindowModified(!QFile::exists(_preferencesDialog->getIniFilePath()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::moveEvent(QMoveEvent* anEvent)
|
void MainWindow::moveEvent(QMoveEvent* anEvent)
|
||||||
|
|||||||
@@ -166,6 +166,10 @@ PreferencesDialog::PreferencesDialog(QWidget * parent) :
|
|||||||
_ui->openni2_exposure->setEnabled(CameraOpenNI2::exposureGainAvailable());
|
_ui->openni2_exposure->setEnabled(CameraOpenNI2::exposureGainAvailable());
|
||||||
_ui->openni2_gain->setEnabled(CameraOpenNI2::exposureGainAvailable());
|
_ui->openni2_gain->setEnabled(CameraOpenNI2::exposureGainAvailable());
|
||||||
|
|
||||||
|
// Default Driver
|
||||||
|
connect(_ui->comboBox_cameraRGBD, SIGNAL(currentIndexChanged(int)), this, SLOT(updateOpenNI2GroupBoxVisibility()));
|
||||||
|
this->resetSettings(_ui->groupBox_source0);
|
||||||
|
|
||||||
_ui->predictionPlot->showLegend(false);
|
_ui->predictionPlot->showLegend(false);
|
||||||
|
|
||||||
QButtonGroup * buttonGroup = new QButtonGroup(this);
|
QButtonGroup * buttonGroup = new QButtonGroup(this);
|
||||||
@@ -298,7 +302,6 @@ PreferencesDialog::PreferencesDialog(QWidget * parent) :
|
|||||||
//openni group
|
//openni group
|
||||||
connect(_ui->groupBox_sourceOpenni, SIGNAL(toggled(bool)), this, SLOT(makeObsoleteSourcePanel()));
|
connect(_ui->groupBox_sourceOpenni, SIGNAL(toggled(bool)), this, SLOT(makeObsoleteSourcePanel()));
|
||||||
connect(_ui->comboBox_cameraRGBD, SIGNAL(currentIndexChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
connect(_ui->comboBox_cameraRGBD, SIGNAL(currentIndexChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
||||||
connect(_ui->comboBox_cameraRGBD, SIGNAL(currentIndexChanged(int)), this, SLOT(updateOpenNI2GroupBoxVisibility()));
|
|
||||||
connect(_ui->openni2_autoWhiteBalance, SIGNAL(stateChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
connect(_ui->openni2_autoWhiteBalance, SIGNAL(stateChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
||||||
connect(_ui->openni2_autoExposure, SIGNAL(stateChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
connect(_ui->openni2_autoExposure, SIGNAL(stateChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
||||||
connect(_ui->openni2_exposure, SIGNAL(valueChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
connect(_ui->openni2_exposure, SIGNAL(valueChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1182</width>
|
<width>1183</width>
|
||||||
<height>821</height>
|
<height>834</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@@ -41,8 +41,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>153</width>
|
<width>154</width>
|
||||||
<height>127</height>
|
<height>136</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout" columnstretch="0,1">
|
<layout class="QGridLayout" name="gridLayout" columnstretch="0,1">
|
||||||
@@ -197,7 +197,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>152</width>
|
<width>152</width>
|
||||||
<height>127</height>
|
<height>136</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1">
|
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1">
|
||||||
@@ -339,8 +339,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1182</width>
|
<width>1183</width>
|
||||||
<height>25</height>
|
<height>22</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QMenu" name="menuFile">
|
<widget class="QMenu" name="menuFile">
|
||||||
@@ -955,7 +955,7 @@
|
|||||||
<double>0.100000000000000</double>
|
<double>0.100000000000000</double>
|
||||||
</property>
|
</property>
|
||||||
<property name="value">
|
<property name="value">
|
||||||
<double>0.900000000000000</double>
|
<double>0.600000000000000</double>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -1014,7 +1014,7 @@
|
|||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QComboBox" name="comboBox_featureType">
|
<widget class="QComboBox" name="comboBox_featureType">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>4</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
|||||||
Reference in New Issue
Block a user