EX> // Balises C++, évitant les doublons d'includes EX> #ifndef {{CODE_UPPER}}_STEP{{NAME_UPPER}}_H EX> #define {{CODE_UPPER}}_STEP{{NAME_UPPER}}_H EX> EX> // Inclusion de la classe parente des étapes EX> #include "ct_step/abstract/ct_abstractstep.h" EX> EX> // Inclure ensuite les éventuelles classes de définitions nécessaires à votre étape EX> #include "ct_itemdrawable/ct_scene.h" EX> #include "ct_itemdrawable/ct_pointcluster.h" EX> EX> /*! EX> * \class {{CODE_UPPER}}_Step{{NAME}} EX> * \ingroup Steps_{{CODE_UPPER}} EX> * EX> * \brief Cette classe génère une scène de points de positions aléatoires EX> * EX> * Ici, l'étape ne prend pas de données en entrée, mais on peut quand même EX> * hériter de CT_AbstractStep, car les modèles prévoient ce type de fonctionnement EX> * EX> * \param _n Nombre de points aléatoires à générer EX> * \param _xmin X maximum de la scène à générer EX> * \param _xmax X minimum de la scène à générer EX> * \param _ymin Y maximum de la scène à générer EX> * \param _ymax Y minimum de la scène à générer EX> * \param _zmin Z minimum de la scène à générer EX> * \param _zmax Z maximum de la scène à générer EX> * EX> * Modèle IN : Aucun EX> * EX> * Modèle OUT : \n EX> * - CT_ResultGroup \n EX> * - CT_StandardItemGroup \n EX> * - CT_Scene \n EX> * EX> */ EX> EX> // Une étape doit hériter de CT_AbstractStep (ou d'une classe en héritant) EX> class {{CODE_UPPER}}_Step{{NAME}} : public CT_AbstractStep EX> { EX> // Macro Qt, donnant accès à certaines fonctionnalités EX> // En l'occurence, permet de récupérer le nom de l'étape EX> Q_OBJECT EX> EX> // Simple alias pour réutiliser le type de la classe mère avec 'SuperClass' EX> using SuperClass = CT_AbstractStep; EX> EX> public: EX> // Constructeur/destructeur de l'étape EX> {{CODE_UPPER}}_Step{{NAME}}(); EX> ~{{CODE_UPPER}}_Step{{NAME}}(); EX> EX> // Description de l'étape (tooltip dans le menu contectuel) EX> QString description() const; EX> EX> // Description détaillée de l'étape (dans le menu de description) EX> QString detailledDescription() const; EX> EX> // Méthode de copie de l'étape, utilisée lors de l'ajout d'une étapes à partir du menu contextuel EX> CT_VirtualAbstractStep* createNewInstance() const final; EX> EX> protected: EX> // Spécifications des résultats d'entrée souhaités (IN) EX> void declareInputModels(CT_StepInModelStructureManager& manager) final; EX> EX> // Boite de saisie des paramètres de l'étape EX> void fillPostInputConfigurationDialog(CT_StepConfigurableDialog* postInputConfigDialog) final; EX> EX> // Spécification des résultats de sortie créés par l'étape (OUT) EX> void declareOutputModels(CT_StepOutModelStructureManager& manager) final; EX> EX> // Etape de calcul, créant les données des résultats de sortie EX> void compute() final; EX> EX> // Pour d'autres fonctions standard de 'CT_AbstractStep', consultez directement la classe EX> EX> private: EX> // Dans la zone privée : les paramètres de l'étapes (initialisés dans le constructeur) EX> int _n; /*!< Nombre de points aléatoires à générer */ EX> double _xmin; /*!< X maximum de la scène à générer */ EX> double _xmax; /*!< X minimum de la scène à générer */ EX> double _ymin; /*!< Y maximum de la scène à générer */ EX> double _ymax; /*!< Y minimum de la scène à générer */ EX> double _zmin; /*!< Z minimum de la scène à générer */ EX> double _zmax; /*!< Z maximum de la scène à générer */ EX> EX> // Dans cet exemple, on peut récupérer n'importe quel résultat, EX> // puis on génère des points aléatoire EX> CT_HandleOutResultGroup _outResult; EX> CT_HandleOutStdGroup _outGroup; EX> CT_HandleOutSingularItem _outScene; EX> }; EX> EX> #endif // {{CODE_UPPER}}_STEP{{NAME_UPPER}}_H