Quick links: Tutorial - Examples - Files - Symbols.
Classes: Hierarchy - Index - List - Members.
Namespaces: Index - base - cs - display.

Public Member Functions | Protected Attributes | List of all members
cogitant::OpeConstraintSatisfaction Class Reference

Opération de vérification de la validité d'un graphe par rapport à une contrainte. More...

#include "cogitant/coloredgraph.h"

Inheritance diagram for cogitant::OpeConstraintSatisfaction:
cogitant::Operation cogitant::OperationBase cogitant::ObservableObject cogitant::CogitantObject

Public Member Functions

Error check ()
 Vérification des paramètres. More...
 
void run ()
 Lancement de l'opération. More...
 
Constructeurs - destructeur.
 OpeConstraintSatisfaction (Environment *env)
 Constructeur. More...
 
 OpeConstraintSatisfaction (OpeConstraintSatisfaction const &o)
 Constructeur par recopie. More...
 
 ~OpeConstraintSatisfaction ()
 Destructeur. More...
 
Entrée des paramètres.
void setParamGraph (Graph const *g)
 
void setParamConstraint (Constraint const *c)
 
void setParamOpeProjections (OpeProjectionBundle *opeprojectioncond, OpeProjectionBundle *opeprojectionoblig)
 Fixe les opérations de projections utilisées pour chercher la projection de la condition et de l'obligation/interdiction. More...
 
void setParamProjections (ResultOpeProjection *projcond, ResultOpeProjection *projinter=NULL)
 Stockage des projections qui font que la contrainte n'est pas vérifiées. More...
 
Accès aux résultats.
bool getResult () const
 
- Public Member Functions inherited from cogitant::Operation
Environmentenvironment () 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...
 
PropertySetproperties ()
 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...
 
CogitantObjectoperator= (CogitantObject const &ob)
 Affectation. More...
 

Protected Attributes

Graph const * i_g
 Le graphe à vérifier.
 
Constraint const * i_c
 La contrainte.
 
OpeProjectionBundlei_opeprojectioncond
 L'opération de projection utilisée pour la condition.
 
OpeProjectionBundlei_opeprojectionoblig
 L'opération de projection utilisée pour l'obligation/interdiction.
 
bool o_satisfaction
 Le résultat.
 
ResultOpeProjectionio_projcond
 Les projections de la condition sur le graphe qui font que la contrainte n'est pas respectée.
 
ResultOpeProjectionio_projinter
 Les projections de l'interdiction sur le graphe qui font que la contrainte négative n'est pas respectée.
 
- 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 ObserverSetallocObservers () 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...
 
ObserverSetobservers ()
 Accès à l'ensemble des observateurs. More...
 
- Protected Member Functions inherited from cogitant::CogitantObject
virtual PropertySetallocProperties () const
 Fonction créant l'instance d'une sous classe de PropertySet pour la représentation des propriétés de l'objet. More...
 

Detailed Description

Opération de vérification de la validité d'un graphe par rapport à une contrainte.

Cette classe opération détermine si un graphe vérifie une contrainte. Dans le cas d'une utilisation classique de la bibliothèque, il n'est pas nécessaire d'instancier directement cette classe, car il est plus simple de passer par la méthode Environment::constraintSatisfaction() qui retourne directement true ou false selon que le graphe vérifie ou pas la contrainte.

See also
Graph checkout operations according to a constraint.

Constructor & Destructor Documentation

◆ OpeConstraintSatisfaction() [1/2]

cogitant::OpeConstraintSatisfaction::OpeConstraintSatisfaction ( Environment env)

Constructeur.

◆ OpeConstraintSatisfaction() [2/2]

cogitant::OpeConstraintSatisfaction::OpeConstraintSatisfaction ( OpeConstraintSatisfaction const &  o)

Constructeur par recopie.

◆ ~OpeConstraintSatisfaction()

cogitant::OpeConstraintSatisfaction::~OpeConstraintSatisfaction ( )

Destructeur.

Member Function Documentation

◆ check()

Error cogitant::OpeConstraintSatisfaction::check ( )
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.

◆ run()

void cogitant::OpeConstraintSatisfaction::run ( )
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.

◆ setParamOpeProjections()

void cogitant::OpeConstraintSatisfaction::setParamOpeProjections ( OpeProjectionBundle opeprojectioncond,
OpeProjectionBundle opeprojectionoblig 
)

Fixe les opérations de projections utilisées pour chercher la projection de la condition et de l'obligation/interdiction.

◆ setParamProjections()

void cogitant::OpeConstraintSatisfaction::setParamProjections ( ResultOpeProjection projcond,
ResultOpeProjection projinter = NULL 
)

Stockage des projections qui font que la contrainte n'est pas vérifiées.

Par défaut, les projections trouvées ne sont pas stockées, et à la première projection trouvée (de la condition et qui ne peut être étendue à l'obligation dans le cas d'une contrainte positive ; de la condition qui peut être étendue à l'interdiction dans le cas d'une contgrainte négative), l'opération s'arrête sur une erreur~: la contrainte n'est pas vérifiée. En appelant cette méthode, avec run(), il est possible de configurer le stockage des projections trouvées.

Parameters
projcondsi NULL, les projections ne sont pas stockées, et la recherche s'arrête à la première projection trouvée (comportement par défaut). Si différent de NULL, les projections trouvées sont stockées dans l'instance de ResultOpeProjection passée. Ce qui permet donc d'accéder à la projection trouvée, mais aussi de chercher par exemple toutes les projections. Ce paramètre contiendra les projection de la condition dans le graphe (qui est la seule pertinente dans le cas d'une contrainte positive).
projintersi NULL, les projections ne sont pas stockées. Si différent de NULL, les projections de l'interdiction dans le graphe sont stockées dans l'instance de ResultOpeProjection passée. Dans le cas d'une contrainte positive, ce paramètre n'a aucun sens, car les erreurs correspondent à des projections de la condition qui ne peuvent être étendues en des projections de l'obligation, comme ces dernières sont introuvables, elles ne peuvent être stockées.