Ajout d'un couple (ou pas) à une projection en cours de construction. More...
#include "cogitant/opeprojection.h"
Public Member Functions | |
Error | check () |
Vérification des paramètres. More... | |
void | run () |
Lancement de l'opération. More... | |
void | setInjective (bool i) |
Filtre des projections injectives. More... | |
Constructeurs - destructeur. | |
OpeProjAcceptableCouple (Environment *env) | |
Constructeur. More... | |
~OpeProjAcceptableCouple () | |
Destructeur. More... | |
virtual OpeProjAcceptableCouple * | clone () const |
Copie. More... | |
Entrée des paramètres. | |
void | setParamG (Graph const *g) |
void | setParamH (Graph const *h) |
void | setParamO1 (iSet o1) |
void | setParamO2 (iSet o2) |
void | setParamProj (Projection const *proj) |
void | setParamNoImage (GraphSubset const *noimg) |
Accès aux résultats. | |
bool | getResult () const |
Méthodes de mise à jour. | |
Ces méthodes sont appelées automatiquement par l'opération de calcul des projections, et peuvent être utilisées pour mettre à jour des structures de données internes à la classe et permettre ainsi une exécution plus rapide de l'opération. | |
virtual void | begin () |
Début du calcul des projections. | |
virtual void | end () |
Fin du calcul des projections. | |
virtual void | addCouple (iSet o1, iSet o2) |
Ajout d'un couple à la projection en cours de calcul. More... | |
virtual void | removeCouple (iSet o1, iSet o2) |
Retrait d'un couple à la projection en cours de calcul. More... | |
Public Member Functions inherited from cogitant::Operation | |
Environment * | environment () const |
Environnement. More... | |
void | setEnvironment (Environment *env) |
Modification de l'environnement sur lequel est défini l'opération. More... | |
Operation (Environment *env) | |
Constructeur. More... | |
Operation (Operation const &o) | |
Constructeur par recopie. More... | |
~Operation () | |
Destructeur. More... | |
Public Member Functions inherited from cogitant::OperationBase | |
void | stop () |
Stopper l'opération dès que possible. More... | |
bool | isStopped () const |
Est-ce que l'opération a été stoppée. More... | |
OperationBase () | |
Constructeur. More... | |
OperationBase (OperationBase const &o) | |
Constructeur par recopie. More... | |
~OperationBase () | |
Destructeur. More... | |
Public Member Functions inherited from cogitant::ObservableObject | |
ObservableObject () | |
Constructeur. More... | |
ObservableObject (ObservableObject const &o) | |
Constructeur par recopie. More... | |
~ObservableObject () | |
Destructeur. More... | |
ObserverSet const & | observers () const |
Accès à l'ensemble des observateurs. More... | |
bool | hasObservers () const |
Existence d'observateurs. More... | |
bool | hasObservers (ObserverMessage::Type mt) const |
Existence d'observateurs qui écoutent le type de message passé. More... | |
void | attachObserver (Observer *obs) |
Ajoute un nouvel observateur à l'objet. More... | |
void | detachObserver (Observer *obs) |
Supprime le lien entre l'observateur et l'objet. More... | |
void | notifyObservers (ObserverMessage const *msg) |
Envoie le message de modification à tous les observateurs. More... | |
Public Member Functions inherited from cogitant::CogitantObject | |
CogitantObject () | |
Constructeur. More... | |
CogitantObject (CogitantObject const &o) | |
Constructeur par recopie. More... | |
virtual | ~CogitantObject () |
Destructeur. More... | |
PropertySet * | properties () |
Accès à l'ensemble des propriétés. More... | |
virtual std::string | toString () const |
Transformation en chaîne de caractères. More... | |
std::string | className () const |
Nom de la classe. More... | |
PropertySet const * | properties () const |
Accès en lecture seule à l'ensemble des propriétés. More... | |
bool | hasProperties () const |
Existence de propriétés. More... | |
CogitantObject & | operator= (CogitantObject const &ob) |
Affectation. More... | |
Protected Attributes | |
Graph const * | i_g |
Le premier graphe. | |
Graph const * | i_h |
Le second graphe. | |
iSet | i_o1 |
Le premier élément du couple. | |
iSet | i_o2 |
Le second élément du couple. | |
Projection const * | i_proj |
La projection en cours de construction. | |
GraphSubset const * | i_noimage |
Ensemble des sommets dont l'image n'a pas encore été calculée. More... | |
bool | o_result |
Résultat: le couple est acceptable ou pas. | |
bool | i_injective |
Calcul des projections injectives uniquement. | |
GraphSubset * | m_injectiveh |
Sommets de i_h ayant un antécédant par la projection en cours. | |
Protected Attributes inherited from cogitant::OperationBase | |
bool | m_stop |
Arrêt de l'exécution de l'opération demandé. More... | |
Additional Inherited Members | |
Public Types inherited from cogitant::OperationBase | |
typedef unsigned int | Error |
Résultat de la vérification des arguments d'une opération. More... | |
Static Public Attributes inherited from cogitant::Operation | |
static const Error | PROJBACKTRACKCHOICE_EMPTYLIST |
Impossible d'enlever un élément à une liste vide. More... | |
static const Error | OBJECTTYPE |
Un (identifiant d') objet parmi les paramètres n'est pas du bon type. More... | |
static const Error | WRONGEDGES |
Un graphe parmi les paramètres de l'opération possède des arêtes pendantes. More... | |
Static Public Attributes inherited from cogitant::OperationBase | |
static const Error | CHECKOK |
Pas d'erreur. More... | |
static const Error | ARGUMENTS |
Certains paramètres de l'opération n'ont pas été fixés. More... | |
static const Error | UNUSED |
Symbole d'erreur inutilisé. More... | |
Protected Member Functions inherited from cogitant::Operation | |
void | setProgress (unsigned int current, unsigned int max) |
Progression actuelle de l'opération. More... | |
Protected Member Functions inherited from cogitant::ObservableObject | |
virtual ObserverSet * | allocObservers () const |
Fonction créant l'instance d'une sous classe de ObserverSet pour la représentation de l'ensemble des observateurs de l'objet. More... | |
ObserverSet & | observers () |
Accès à l'ensemble des observateurs. More... | |
Protected Member Functions inherited from cogitant::CogitantObject | |
virtual PropertySet * | allocProperties () const |
Fonction créant l'instance d'une sous classe de PropertySet pour la représentation des propriétés de l'objet. More... | |
Ajout d'un couple (ou pas) à une projection en cours de construction.
Lors du calcul des projections d'un graphe i_g dans i_h, lors de la construction de la projection i_proj, alors que le couple i_o1, i_o2 (identifiants respectivement dans i_g et i_h) peut être ajouté à i_proj, ce couple doit-il être ajouté ou pas ?. Cette opération ne doit pas prendre en compte les étiquettes de i_o1 et i_o2 ni le voisinage de ces sommets (pris en compte par ailleurs) mais uniquement d'autres propriétés telles que l'injectivité de la projection.
cogitant::OpeProjAcceptableCouple::OpeProjAcceptableCouple | ( | Environment * | env | ) |
Constructeur.
cogitant::OpeProjAcceptableCouple::~OpeProjAcceptableCouple | ( | ) |
Destructeur.
Ajout d'un couple à la projection en cours de calcul.
o1 | identificateur de l'objet dans le graphe projeté. |
o2 | identificateur de l'objet dans le graphe sur lequel les projections sont cherchées. |
|
virtual |
Vérification des paramètres.
Retourne Operation::CHECKOK si l'opération peut être exécutée (méthode run()) ou un code d'erreur dans le cas contraire.
Implements cogitant::OperationBase.
|
virtual |
Copie.
Retrait d'un couple à la projection en cours de calcul.
|
virtual |
Lancement de l'opération.
Cette méthode ne retourne rien mais le résultat de l'opération peut être récupéré avec les méthodes getResultxxx() (différentes selon les sous classes de Operation).
Implements cogitant::OperationBase.
|
inline |
Filtre des projections injectives.
i | si true , la projection en cours est prise en compte pour ne PAS accepter de couples qui conduisent à une projection non injective. Cette méthode doit être appelée avant begin(), mais après setParamH(). |
|
protected |
Ensemble des sommets dont l'image n'a pas encore été calculée.
Cet attribut n'est pas utilisé par cette implémentation, mais peut-être utilisé par des sous-classes.