/**************************************************************************** Copyright (C) 2010-2012 the Office National des Forêts (ONF), France and the Laboratoire des Sciences de l'Information et des Systèmes (LSIS), Marseille, France. All rights reserved. Contact : alexandre.piboule@onf.fr alexandra.bac@esil.univmed.fr Developers : Joris Ravaglia (ONF/LSIS) With adaptations by : Alexandre PIBOULE (ONF) This file is part of PluginONFLSIS library 2.0. PluginONFLSIS is free library: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PluginShared is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with PluginShared. If not, see . *****************************************************************************/ #ifndef OL_STEPFILTERARCPOLYLINES02_H #define OL_STEPFILTERARCPOLYLINES02_H #include "ct_step/abstract/ct_abstractstep.h" class CT_AbstractItemGroup; class OL_StepFilterArcPolylines02 : public CT_AbstractStep { // IMPORTANT pour avoir le nom de l'étape Q_OBJECT public: OL_StepFilterArcPolylines02(); QString description() const override; CT_VirtualAbstractStep* createNewInstance() const final; protected: void declareInputModels(CT_StepInModelStructureManager& manager) final; void fillPostInputConfigurationDialog(CT_StepConfigurableDialog* postInputConfigDialog) final; void declareOutputModels(CT_StepOutModelStructureManager& manager) final; void compute() final; private: bool _filterRMSE; /*!< Filtrage sur la RMSE o/n */ double _RMSEMax; /*!< RMSE maximale pour que la polylines soit acceptée comme arc */ bool _filterErrorMax; /*!< Filtrage sur l'erreur maximale o/n */ double _ErrorMax; /*!< Erreur maximale pour que la polylines soit acceptée comme arc */ bool _filterR2; /*!< Filtrage sur le R2 o/n */ double _R2Min; /*!< R2 minimal pour que la polylines soit acceptée comme arc */ bool _filterByArcradius; /*!< Filtrage sur le rayonn estimé de l'arc o/n */ double _maxArcRadius; /*!< Rayon maximal pour l'arc */ void recursiveRemoveGroupLaterIfEmpty(CT_AbstractItemGroup *parent, CT_AbstractItemGroup *group) const; }; #endif // OL_STEPFILTERARCPOLYLINES02_H