diff --git a/ColorimetricSegmenter.cpp b/ColorimetricSegmenter.cpp index da66c6e..f80210f 100644 --- a/ColorimetricSegmenter.cpp +++ b/ColorimetricSegmenter.cpp @@ -206,12 +206,12 @@ void ColorimetricSegmenter::filterRgb() double marginError = static_cast(rgbDlg.margin->value()) / 100.0; - int redInf = rgbDlg.red_min->value() - (marginError * rgbDlg.red_min->value()); - int redSup = rgbDlg.red_max->value() + marginError * rgbDlg.red_max->value(); - int greenInf = rgbDlg.green_min->value() - marginError * rgbDlg.green_min->value(); - int greenSup = rgbDlg.green_max->value() + marginError * rgbDlg.green_max->value(); - int blueInf = rgbDlg.blue_min->value() - marginError * rgbDlg.blue_min->value(); - int blueSup = rgbDlg.blue_max->value() + marginError * rgbDlg.blue_max->value(); + int redInf = rgbDlg.area_red->value() - (marginError * rgbDlg.area_red->value()); + int redSup = rgbDlg.area_red->value() + marginError * rgbDlg.area_red->value(); + int greenInf = rgbDlg.area_green->value() - marginError * rgbDlg.area_green->value(); + int greenSup = rgbDlg.area_green->value() + marginError * rgbDlg.area_green->value(); + int blueInf = rgbDlg.area_blue->value() - marginError * rgbDlg.area_blue->value(); + int blueSup = rgbDlg.area_blue->value() + marginError * rgbDlg.area_blue->value(); std::vector clouds = getSelectedPointClouds(); @@ -233,17 +233,23 @@ void ColorimetricSegmenter::filterRgb() //not enough memory delete filteredCloud; filteredCloud = nullptr; + m_app->dispToConsole("[ColorimetricSegmenter] Error, filter canceled."); break; } } } ccPointCloud* newCloud = cloud->partialClone(filteredCloud); - cloud->getParent()->addChild(newCloud); + + cloud->setEnabled(false); + if (cloud->getParent()) { + cloud->getParent()->addChild(newCloud); + } + + m_app->addToDB(newCloud, false, true, false, false); m_app->dispToConsole("[ColorimetricSegmenter] Cloud successfully filtered ! ", ccMainAppInterface::STD_CONSOLE_MESSAGE); - emit newEntity(newCloud); - emit entityHasChanged(cloud); + } } diff --git a/RgbDialog.ui b/RgbDialog.ui index dd2d942..662eb5d 100644 --- a/RgbDialog.ui +++ b/RgbDialog.ui @@ -33,14 +33,7 @@ - - - 255 - - - - - + 255 @@ -61,25 +54,12 @@ - + 255 - - - - true - - - 255 - - - 0 - - - @@ -95,14 +75,7 @@ - - - 255 - - - - - + 255 @@ -110,6 +83,16 @@ + + + + ArrowCursor + + + Use PointPicking + + +