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