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

Public Member Functions | List of all members
cogitant::Rule Class Reference

Règle de graphes conceptuels simples. More...

#include "cogitant/rule.h"

Inheritance diagram for cogitant::Rule:
cogitant::CoupleOfLambdas cogitant::EnvironmentObject cogitant::ObservableObject cogitant::CogitantObject

Public Member Functions

Graphhypothesis ()
 Hypothèse de la règle. More...
 
Graphconclusion ()
 Conclusion de la règle. More...
 
void setHypothesisConclusion (Graph *hypo, Graph *conc)
 Modification des graphes hypothèse et conclusion. More...
 
void setHypothesis (Graph *hypo)
 Modification du graphe hypothèse. More...
 
void setConclusion (Graph *conc)
 Modification du graphe conclusion. More...
 
Constructeurs - destructeur.
 Rule (Environment const *env, CoupleOfLambdasAllocator const *alloc=NULL)
 Constructeur. More...
 
 Rule (Rule const &o, Environment const *env=NULL, CoupleOfLambdasAllocator const *alloc=NULL)
 Constructeur par recopie. More...
 
 ~Rule ()
 Destructeur. More...
 
Accesseurs.
Type objectType () const
 Type de l'objet. More...
 
Graph const * hypothesis () const
 Hypothèse de la règle. More...
 
Graph const * conclusion () const
 Conclusion de la règle. More...
 
- Public Member Functions inherited from cogitant::CoupleOfLambdas
 CoupleOfLambdas (Environment const *env, CoupleOfLambdasAllocator const *alloc=NULL)
 Constructeur. More...
 
 CoupleOfLambdas (CoupleOfLambdas const &o, Environment const *env=NULL, CoupleOfLambdasAllocator const *alloc=NULL)
 Constructeur par recopie. More...
 
 ~CoupleOfLambdas ()
 Destructeur. More...
 
void setEnvironment (Environment const *env)
 Changement de l'environnement de l'objet. More...
 
Graphfirst ()
 Premier élément du couple. More...
 
Graphsecond ()
 Second élément du couple. More...
 
SetOfCouplesconnectionPoints ()
 Points d'attache. More...
 
void addConnectionPoint (iSet x, iSet y)
 Ajout d'un couple de points d'attache. More...
 
void setFirstSecond (Graph *g1, Graph *g2)
 Modification des graphes. More...
 
void setFirst (Graph *g1)
 Modification du premier graphe. More...
 
void setSecond (Graph *g2)
 Modification du second graphe. More...
 
void individualMarkers (std::vector< iSet > &im)
 Ajoute à l'ensemble passé l'ensemble des marqueurs individuels utilisés dans l'EnvironmentObject. More...
 
Graph const * first () const
 Premier graphe du couple. More...
 
Graph const * second () const
 Second graphe du couple. More...
 
SetOfCouples const & connectionPoints () const
 Points d'attache. More...
 
CoupleOfLambdasoperator= (CoupleOfLambdas const &ob)
 Affectation. More...
 
- Public Member Functions inherited from cogitant::EnvironmentObject
 EnvironmentObject (Environment const *env)
 Constructeur. More...
 
 EnvironmentObject (EnvironmentObject const &o, Environment const *env=NULL)
 Constructeur par recopie. More...
 
 ~EnvironmentObject ()
 Destructeur. More...
 
GraphasGraph ()
 Conversion explicite de l'objet en graphe conceptuel. More...
 
RuleasRule ()
 Conversion explicite de l'objet en règle. More...
 
ConstraintasConstraint ()
 Conversion explicite de l'objet en contrainte. More...
 
ColoredGraphConstraintasColoredGraphConstraint ()
 Conversion explicite de l'objet en contrainte sous forme de graphe bicoloré. More...
 
CoupleOfLambdasasCoupleOfLambdas ()
 Conversion explicite de l'objet en couple de lambdas graphes. More...
 
virtual void setName (std::string const &n)
 Changement du nom de l'objet. More...
 
void setId (iSet id)
 Changement de l'identificateur d'environnement. More...
 
std::vector< EnvironmentObjectExtension * > & extensions ()
 Accès aux extensions de l'objet. More...
 
EnvironmentObjectExtensionextension (const char *id)
 Accès à une extension de l'objet par son identifiant. More...
 
void addExtension (EnvironmentObjectExtension *ext)
 Ajoute une extension. More...
 
Graph const * asGraph () const
 Conversion explicite de l'objet en graphe conceptuel. More...
 
Rule const * asRule () const
 Conversion explicite de l'objet en règle. More...
 
Constraint const * asConstraint () const
 Conversion explicite de l'objet en contrainte. More...
 
ColoredGraphConstraint const * asColoredGraphConstraint () const
 Conversion explicite de l'objet en contrainte sous forme de graphe bicoloré. More...
 
CoupleOfLambdas const * asCoupleOfLambdas () const
 Conversion explicite de l'objet en couple de lambdas graphes. More...
 
virtual std::string name () const
 Nom de l'objet. More...
 
iSet id () const
 Identificateur de l'objet dans l'Environment. More...
 
Environment const * environment () const
 Environnement dans lequel l'objet est défini. More...
 
Support const * support () const
 Support sur lequel l'objet est défini. More...
 
std::vector< EnvironmentObjectExtension * > const & extensions () const
 Accès aux extensions de l'objet. More...
 
EnvironmentObjectExtension const * extension (const char *id) const
 Accès à une extension de l'objet par son identifiant. More...
 
virtual std::string iSetString () const
 Retourne une chaine contenant l'identifiant de l'objet pouvant être utile pour du débogage. 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...
 

Additional Inherited Members

- Public Types inherited from cogitant::EnvironmentObject
enum  Type {
  OT_GRAPH, OT_COUPLEOFLAMBDAS, OT_RULE, OT_POSITIVECONSTRAINT,
  OT_NEGATIVECONSTRAINT, OT_POSITIVECOLOREDGRAPHCONSTRAINT, OT_NEGATIVECOLOREDGRAPHCONSTRAINT
}
 Type d'objet. More...
 
- Protected Member Functions inherited from cogitant::CoupleOfLambdas
void allocMembers ()
 Allocation de tous les membres. More...
 
void allocMembers (CoupleOfLambdas const &o)
 Allocation de tous les membres par copie des membres d'une règle existante. More...
 
void deleteMembers ()
 Destruction de tous les membres. 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

Règle de graphes conceptuels simples.

Cette classe permet la représentation de règles de graphes conceptuels sous la forme habituellement utilisée, c'est à dire un graphe hypothèse, un graphe conclusion et des liens entre des sommets concepts de ces deux graphes (points d'attache) [Salvat et Mugnier, 1996] [Salvat, 1997].

See also
Rules and constraints manipulation.

Constructor & Destructor Documentation

◆ Rule() [1/2]

cogitant::Rule::Rule ( Environment const *  env,
CoupleOfLambdasAllocator const *  alloc = NULL 
)

Constructeur.

L'utilisation de constructeur produit une règle dont les deux graphes hypothèse et conclusion sont vides et ne possédant aucun pont d'attache.

Parameters
allocallocateur utilisé pour les membres de la règle. Un allocateur par défaut est créé si alloc = NULL.
envenvironnement dans lequel la règle est définie.

◆ Rule() [2/2]

cogitant::Rule::Rule ( Rule const &  o,
Environment const *  env = NULL,
CoupleOfLambdasAllocator const *  alloc = NULL 
)

Constructeur par recopie.

Parameters
orègle à copier.
envenvironment sur lequel la règle créée est définie. Il est conseillé de laisser la valeur par défaut (NULL) qui définit l'environment de la nouvelle règle avec celui de la règle copiée.
alloc= NULL, le même allocateur que pour o est utilisé pour la copie, sinon l'allocateur passé est utilisé.

◆ ~Rule()

cogitant::Rule::~Rule ( )

Destructeur.

Member Function Documentation

◆ conclusion() [1/2]

Graph* cogitant::Rule::conclusion ( )
inline

Conclusion de la règle.

Returns
un pointeur sur le graphe conclusion de la règle.
Warning
La suppression de sommets dans le graphe retourné entraîne l'invalidation des points d'attache de la règle. Il est donc fortement recommandé de modifier les graphes hypothèse et conclusion avant de fixer les points d'attache.

◆ conclusion() [2/2]

Graph const* cogitant::Rule::conclusion ( ) const
inline

Conclusion de la règle.

Returns
un pointeur sur le graphe conclusion de la règle.

◆ hypothesis() [1/2]

Graph* cogitant::Rule::hypothesis ( )
inline

Hypothèse de la règle.

Returns
un pointeur sur le graphe hypothèse de la règle.
Warning
La suppression de sommets dans le graphe retourné entraîne l'invalidation des points d'attache de la règle. Il est donc fortement recommandé de modifier les graphes hypothèse et conclusion avant de fixer les points d'attache.

◆ hypothesis() [2/2]

Graph const* cogitant::Rule::hypothesis ( ) const
inline

Hypothèse de la règle.

Returns
un pointeur sur le graphe hypothèse de la règle.

◆ objectType()

Type cogitant::Rule::objectType ( ) const
virtual

Type de l'objet.

Returns
EnvironmentObject::OT_RULE.

Reimplemented from cogitant::CoupleOfLambdas.

◆ setConclusion()

void cogitant::Rule::setConclusion ( Graph conc)
inline

Modification du graphe conclusion.

Détruit le graphe conclusion et le remplace par le graphe passé en paramètre. L'ensemble des points d'attache est vidé.

Precondition
conc doit repérer un graphe qui n'est pas mémorisé dans l'environnement et qui ne doit pas être détruit par le programme appelant.
Warning
il n'est pas conseillé d'utiliser cette méthode à moins que vous sachiez ce que vous faites.

◆ setHypothesis()

void cogitant::Rule::setHypothesis ( Graph hypo)
inline

Modification du graphe hypothèse.

Détruit le graphe hypothèse et le remplace par le graphe passé en paramètre. L'ensemble des points d'attache est vidé.

Precondition
hypo doit repérer un graphe qui n'est pas mémorisé dans l'environnement et qui ne doit pas être détruit par le programme appelant.
Warning
il n'est pas conseillé d'utiliser cette méthode à moins que vous sachiez ce que vous faites.

◆ setHypothesisConclusion()

void cogitant::Rule::setHypothesisConclusion ( Graph hypo,
Graph conc 
)
inline

Modification des graphes hypothèse et conclusion.

Détruit les graphes hypothèse et conclusion et les remplace par les graphes passés en paramètre. L'ensemble des points d'attache est vidé.

Precondition
hypo et conc doivent repérer des graphes qui ne sont pas mémorisés dans l'environnement et qui ne doivent pas être détruits par le programme appelant.
Warning
il n'est pas conseillé d'utiliser cette méthode à moins que vous sachiez ce que vous faites.