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> // Inclusion de la classe d'action correspondante à cette étape EX> #include "actions/{{CODE_LOWER}}_actionstep{{NAME_LOWER}}.h" EX> EX> // Inclure ensuite les éventuelles classes de définitions nécessaires à votre étape EX> #include "documentinterface.h" EX> #include "ct_itemdrawable/ct_pointcluster.h" EX> #include "ct_itemdrawable/ct_referencepoint.h" EX> EX> /*! EX> * \class {{CODE_UPPER}}_Step{{NAME}} EX> * \ingroup Steps_{{CODE_UPPER}} EX> * EX> * \brief Cette classe créée un CT_ReferencePoint pour chaque CT_PointCluster EX> * EX> * Modèle IN : \n EX> * - CT_ResultGroup \n EX> * - CT_StandardItemGroup \n EX> * - CT_PointCluster \n EX> * EX> * Modèle OUT : \n EX> * - CT_ResultGroup \n EX> * - CT_StandardItemGroup \n EX> * - CT_PointCluster \n EX> * - CT_ReferencePoint \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> // Fonctions pour initier la phase d'actions lors du traitement de l'étape EX> void initManualMode(); EX> void useManualMode(bool quit = false); EX> EX> private: EX> // Dans la zone privée : les paramètres de l'étapes (initialisés dans le constructeur) EX> EX> // Dans cet exemple, on récupère les résultats d'entrée (en copie), EX> // puis on y ajoute de nouveaux ?l?ments en sortie EX> CT_HandleInResultGroupCopy<> _inResult; EX> CT_HandleInStdZeroOrMoreGroup _inZeroOrMoreRootGroup; EX> CT_HandleInStdGroup<> _inGroup; EX> CT_HandleInSingularItem _inScene; EX> EX> CT_HandleOutStdGroup _outGroup; EX> CT_HandleOutSingularItem _outPoint; EX> EX> // Paramètres utilisés pour la gestion de l'action EX> {{CODE_UPPER}}_ActionStep{{NAME}}::{{CODE_UPPER}}_ActionStep{{NAME}}_dataContainer* _dataContainer; EX> EX> bool _manual; EX> DocumentInterface* _m_doc; EX> }; EX> EX> #endif // {{CODE_UPPER}}_STEP{{NAME_UPPER}}_H