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

Public Types | List of all members
cogitant::EnvironmentObject Class Referenceabstract

Classe abstraite mère de tous les objets contenus dans un environnement. More...

#include "cogitant/environmentobject.h"

Inheritance diagram for cogitant::EnvironmentObject:
cogitant::ObservableObject cogitant::CogitantObject cogitant::CoupleOfLambdas cogitant::Graph cogitant::Constraint cogitant::Rule cogitant::ColoredGraph cogitant::ColoredGraphConstraint

Public Types

enum  Type {
  OT_GRAPH, OT_COUPLEOFLAMBDAS, OT_RULE, OT_POSITIVECONSTRAINT,
  OT_NEGATIVECONSTRAINT, OT_POSITIVECOLOREDGRAPHCONSTRAINT, OT_NEGATIVECOLOREDGRAPHCONSTRAINT
}
 Type d'objet. More...
 

Public Member Functions

Constructeurs - destructeur.
 EnvironmentObject (Environment const *env)
 Constructeur. More...
 
 EnvironmentObject (EnvironmentObject const &o, Environment const *env=NULL)
 Constructeur par recopie. More...
 
 ~EnvironmentObject ()
 Destructeur. More...
 
Modifications.
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...
 
virtual void setEnvironment (Environment const *env)
 Changement de l'environnement de l'objet. 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...
 
Accesseurs.
virtual Type objectType () const =0
 Type de l'objet. 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...
 
Accesseurs raccourcis.
virtual void individualMarkers (std::vector< iSet > &im)=0
 Ajoute à l'ensemble passé l'ensemble des marqueurs individuels utilisés dans l'EnvironmentObject. 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

- 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

Classe abstraite mère de tous les objets contenus dans un environnement.

Member Enumeration Documentation

◆ Type

Type d'objet.

Enumerator
OT_GRAPH 

Graphe conceptuel.

OT_COUPLEOFLAMBDAS 

Couple de lambda-graphes.

OT_RULE 

Règle.

OT_POSITIVECONSTRAINT 

Contrainte positive.

OT_NEGATIVECONSTRAINT 

Contrainte négative.

OT_POSITIVECOLOREDGRAPHCONSTRAINT 

Contrainte positive représentée sous la forme d'un graphe bicoloré.

OT_NEGATIVECOLOREDGRAPHCONSTRAINT 

Contrainte négative représentée sous la forme d'un graphe bicoloré.

Constructor & Destructor Documentation

◆ EnvironmentObject() [1/2]

cogitant::EnvironmentObject::EnvironmentObject ( Environment const *  env)

Constructeur.

◆ EnvironmentObject() [2/2]

cogitant::EnvironmentObject::EnvironmentObject ( EnvironmentObject const &  o,
Environment const *  env = NULL 
)

Constructeur par recopie.

Parameters
oobjet à copier.
envenvironnement dans lequel l'objet créé est défini. Il est conseillé de laisser la valeur par défaut (NULL) qui définit l'environnement du nouvel objet avec celui de l'objet copié.

◆ ~EnvironmentObject()

cogitant::EnvironmentObject::~EnvironmentObject ( )

Destructeur.

Member Function Documentation

◆ addExtension()

void cogitant::EnvironmentObject::addExtension ( EnvironmentObjectExtension ext)

Ajoute une extension.

◆ asColoredGraphConstraint() [1/2]

ColoredGraphConstraint* cogitant::EnvironmentObject::asColoredGraphConstraint ( )

Conversion explicite de l'objet en contrainte sous forme de graphe bicoloré.

Precondition
objectType() == OT_POSITIVECOLOREDGRAPHCONTRAINT ou objectType() == OT_NEGATIVECOLOREDGRAPHCONSTRAINT.

◆ asColoredGraphConstraint() [2/2]

ColoredGraphConstraint const* cogitant::EnvironmentObject::asColoredGraphConstraint ( ) const

Conversion explicite de l'objet en contrainte sous forme de graphe bicoloré.

Precondition
objectType() == OT_POSITIVECOLOREDGRAPHCONTRAINT ou objectType() == OT_NEGATIVECOLOREDGRAPHCONSTRAINT.

◆ asConstraint() [1/2]

Constraint* cogitant::EnvironmentObject::asConstraint ( )

Conversion explicite de l'objet en contrainte.

Precondition
objectType() == OT_POSITIVECONTRAINT ou objectType() == OT_NEGATIVECONSTRAINT.

Referenced by cogitant::Environment::constraints().

◆ asConstraint() [2/2]

Constraint const* cogitant::EnvironmentObject::asConstraint ( ) const

Conversion explicite de l'objet en contrainte.

Precondition
objectType() == OT_POSITIVECONTRAINT ou objectType() == OT_NEGATIVECONSTRAINT.

◆ asCoupleOfLambdas() [1/2]

CoupleOfLambdas* cogitant::EnvironmentObject::asCoupleOfLambdas ( )

Conversion explicite de l'objet en couple de lambdas graphes.

Precondition
objectType() == OT_COUPLEOFLAMBDAS, OT_RULE, OT_POSITIVECONSTRAINT, OT_NEGATIVECONSTRAINT.

◆ asCoupleOfLambdas() [2/2]

CoupleOfLambdas const* cogitant::EnvironmentObject::asCoupleOfLambdas ( ) const

Conversion explicite de l'objet en couple de lambdas graphes.

Precondition
objectType() == OT_COUPLEOFLAMBDAS, OT_RULE, OT_POSITIVECONSTRAINT, OT_NEGATIVECONSTRAINT.

◆ asGraph() [1/2]

Graph* cogitant::EnvironmentObject::asGraph ( )

Conversion explicite de l'objet en graphe conceptuel.

Precondition
objectType() == EnvironmentObject::OT_GRAPH ou OT_POSITIVECONSTRAINT ou OT_NEGATIVECONSTRAINT.

Referenced by cogitant::Environment::graphs().

◆ asGraph() [2/2]

Graph const* cogitant::EnvironmentObject::asGraph ( ) const

Conversion explicite de l'objet en graphe conceptuel.

Precondition
objectType() == EnvironmentObject::OT_GRAPH ou OT_POSITIVECONSTRAINT ou OT_NEGATIVECONSTRAINT.

◆ asRule() [1/2]

Rule* cogitant::EnvironmentObject::asRule ( )

Conversion explicite de l'objet en règle.

Precondition
objectType() == EnvironmentObject::OT_RULE.

Referenced by cogitant::Environment::rules().

◆ asRule() [2/2]

Rule const* cogitant::EnvironmentObject::asRule ( ) const

Conversion explicite de l'objet en règle.

Precondition
objectType() == EnvironmentObject::OT_RULE.

◆ environment()

Environment const* cogitant::EnvironmentObject::environment ( ) const
inline

Environnement dans lequel l'objet est défini.

◆ extension() [1/2]

EnvironmentObjectExtension* cogitant::EnvironmentObject::extension ( const char *  id)

Accès à une extension de l'objet par son identifiant.

◆ extension() [2/2]

EnvironmentObjectExtension const* cogitant::EnvironmentObject::extension ( const char *  id) const

Accès à une extension de l'objet par son identifiant.

◆ extensions() [1/2]

std::vector<EnvironmentObjectExtension *>& cogitant::EnvironmentObject::extensions ( )
inline

Accès aux extensions de l'objet.

◆ extensions() [2/2]

std::vector<EnvironmentObjectExtension *> const& cogitant::EnvironmentObject::extensions ( ) const
inline

Accès aux extensions de l'objet.

◆ id()

iSet cogitant::EnvironmentObject::id ( ) const
inline

Identificateur de l'objet dans l'Environment.

Returns
l'identificateur de l'objet ou ISET_NULL si l'objet n'est rattaché à aucun Environment.

◆ individualMarkers()

virtual void cogitant::EnvironmentObject::individualMarkers ( std::vector< iSet > &  im)
pure virtual

Ajoute à l'ensemble passé l'ensemble des marqueurs individuels utilisés dans l'EnvironmentObject.

Implemented in cogitant::Graph, and cogitant::CoupleOfLambdas.

◆ iSetString()

virtual std::string cogitant::EnvironmentObject::iSetString ( ) const
virtual

Retourne une chaine contenant l'identifiant de l'objet pouvant être utile pour du débogage.

Dans le cas d'un graphe ou d'une règle présent dans l'Environment, retourne simplement l'identifiant du graphe dans l'environnement, dans le cas d'un graphe utilisé comme hypothèse ou conclusion d'une règle retourne une chaîne du type "Hypothesis of" avec l'identifiant de la règle dans l'environnement.

Reimplemented in cogitant::Graph.

◆ name()

virtual std::string cogitant::EnvironmentObject::name ( ) const
virtual

Nom de l'objet.

Returns
le nom de l'objet, qui est par défaut la valeur de la propriété Property::GRAPH_NAME.

◆ objectType()

virtual Type cogitant::EnvironmentObject::objectType ( ) const
pure virtual

◆ setEnvironment()

virtual void cogitant::EnvironmentObject::setEnvironment ( Environment const *  env)
virtual

Changement de l'environnement de l'objet.

Cette méthode ne devrait pas être utilisée directement, sauf si vous savez ce que vous faites.

Reimplemented in cogitant::CoupleOfLambdas.

◆ setId()

void cogitant::EnvironmentObject::setId ( iSet  id)

Changement de l'identificateur d'environnement.

Cette méthode ne devrait pas être utilisée directement, sauf si vous savez ce que vous faites.

◆ setName()

virtual void cogitant::EnvironmentObject::setName ( std::string const &  n)
virtual

Changement du nom de l'objet.

Par défaut, cette méthode modifie la valeur de la propriété Property::GRAPH_NAME.

Parameters
nnouveau nom de l'objet.

◆ support()

Support const* cogitant::EnvironmentObject::support ( ) const

Support sur lequel l'objet est défini.