// Balises C++, évitant les doublons d'includes #ifndef TUFR_METRICTUTORIAL06_H #define TUFR_METRICTUTORIAL06_H // Inclusion de la classe parente des métriques #include "ctlibmetrics/ct_metric/abstract/ct_abstractmetric_xyz.h" // Inclure ensuite les éventuelles classes de définitions nécessaires à votre étape /*! * \class TUFR_MetricTutorial06 * \ingroup Steps_TUFR * * \brief Cette classe créée une métrique sur des CT_PointCluster * */ // Une étape doit hériter de CT_AbstractMetric_XYZ (ou d'une classe en héritant) class TUFR_MetricTutorial06 : public CT_AbstractMetric_XYZ { // Macro Qt, donnant accès à certaines fonctionnalités // En l'occurence, permet de récupérer le nom de l'étape Q_OBJECT // Simple alias pour réutiliser le type de la classe mère avec 'SuperClass' using SuperClass = CT_AbstractMetric_XYZ; public: // Constructeurs de l'étape TUFR_MetricTutorial06(); // Constructeurs de copie de l'étape TUFR_MetricTutorial06(const TUFR_MetricTutorial06 &other); // Nom qui s'affiche de le menu QString getDetailledDisplayableName() const override; // Description (tooltip dans le menu contectuel) QString getShortDescription() const override; // Description détaillée (dans le menu de description) QString getDetailledDescription() const override; // Boite de saisie des paramètres du filtre CT_AbstractConfigurableWidget* createConfigurationWidget() override; // Import/export des paramètres choisis void saveSettings(SettingsWriterInterface& writer) const override; bool restoreSettings(SettingsReaderInterface& reader) override; // Méthodes génériques à surcharger par défaut virtual void finalizeConfiguration() override {} CT_AbstractConfigurableElement* copy() const override; protected: // Etape de calcul des métriques à partir des nuages de points void computeMetric() override; // Initialisation des valeurs nécessaires aux calculs void initValues(); // Déclaration des attributs servant de métrique void declareAttributes(); private: // Dans la zone privée : les paramètres de l'étapes (initialisés dans le constructeur) VaB _minimum; VaB _maximum; VaB _mean; }; #endif // TUFR_METRICTUTORIAL06_H