// Balises C++, évitant les doublons d'includes #ifndef TUFR_STEPTUTORIAL04_H #define TUFR_STEPTUTORIAL04_H // Inclusion de la classe parente des étapes #include "ct_step/abstract/ct_abstractstep.h" // Inclusion de la classe d'action correspondante à cette étape #include "actions/tufr_actionsteptutorial04.h" // Inclure ensuite les éventuelles classes de définitions nécessaires à votre étape #include "documentinterface.h" #include "ct_itemdrawable/ct_pointcluster.h" #include "ct_itemdrawable/ct_referencepoint.h" /*! * \class TUFR_StepTutorial04 * \ingroup Steps_TUFR * * \brief Cette classe créée un CT_ReferencePoint pour chaque CT_PointCluster * * Modèle IN : \n * - CT_ResultGroup \n * - CT_StandardItemGroup \n * - CT_PointCluster \n * * Modèle OUT : \n * - CT_ResultGroup \n * - CT_StandardItemGroup \n * - CT_PointCluster \n * - CT_ReferencePoint \n * */ // Une étape doit hériter de CT_AbstractStep (ou d'une classe en héritant) class TUFR_StepTutorial04 : public CT_AbstractStep { // 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_AbstractStep; public: // Constructeur/destructeur de l'étape TUFR_StepTutorial04(); ~TUFR_StepTutorial04(); // Description de l'étape (tooltip dans le menu contectuel) QString description() const; // Description détaillée de l'étape (dans le menu de description) QString detailledDescription() const; // Méthode de copie de l'étape, utilisée lors de l'ajout d'une étapes à partir du menu contextuel CT_VirtualAbstractStep* createNewInstance() const final; protected: // Spécifications des résultats d'entrée souhaités (IN) void declareInputModels(CT_StepInModelStructureManager& manager) final; // Boite de saisie des paramètres de l'étape void fillPostInputConfigurationDialog(CT_StepConfigurableDialog* postInputConfigDialog) final; // Spécification des résultats de sortie créés par l'étape (OUT) void declareOutputModels(CT_StepOutModelStructureManager& manager) final; // Etape de calcul, créant les données des résultats de sortie void compute() final; // Pour d'autres fonctions standard de 'CT_AbstractStep', consultez directement la classe // Fonctions pour initier la phase d'actions lors du traitement de l'étape void initManualMode(); void useManualMode(bool quit = false); private: // Dans la zone privée : les paramètres de l'étapes (initialisés dans le constructeur) // Dans cet exemple, on récupère les résultats d'entrée (en copie), // puis on y ajoute de nouveaux ?l?ments en sortie CT_HandleInResultGroupCopy<> _inResult; CT_HandleInStdZeroOrMoreGroup _inZeroOrMoreRootGroup; CT_HandleInStdGroup<> _inGroup; CT_HandleInSingularItem _inScene; CT_HandleOutStdGroup _outGroup; CT_HandleOutSingularItem _outPoint; // Paramètres utilisés pour la gestion de l'action TUFR_ActionStepTutorial04::TUFR_ActionStepTutorial04_dataContainer* _dataContainer; bool _manual; DocumentInterface* _m_doc; }; #endif // TUFR_STEPTUTORIAL04_H