Opération de calcul des composantes connexes d'un graphe conceptuel. More...
#include "cogitant/opeconnected.h"
Public Types | |
enum | ResultType { RT_BOOL, RT_INTEGER, RT_CONNECTEDCOMPONENTS } |
Type de calcul devant être effectué par une opération OpeConnectedComponent. More... | |
Public Types inherited from cogitant::OperationBase | |
typedef unsigned int | Error |
Résultat de la vérification des arguments d'une opération. More... | |
Public Member Functions | |
Error | check () |
Vérification des paramètres. More... | |
void | run () |
Lancement de l'opération. More... | |
Constructeurs - destructeur. | |
OpeConnectedComponent (Environment *env) | |
Constructeur. More... | |
~OpeConnectedComponent () | |
Destructeur. More... | |
Entrée des paramètres. | |
void | setParamG (Graph const *g) |
void | setParamGParent (iSet gparent) |
void | setParamGSubset (GraphSubset const *subset) |
Permet de chercher les composantes connexes dans le seul GraphSubset passé. More... | |
void | setParamResultType (ResultType ccresult) |
Type de calcul devant être effectué. More... | |
void | setParamResultConnectedComponents (std::vector< GraphSubset > *cc) |
Accès aux résultats. | |
bool | getResultBool () const |
nSet | getResultInteger () const |
std::vector< GraphSubset > * | getResultConnectedComponents () const |
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... | |
Static Public Member Functions | |
static void | getConnectedComponent (Graph const *g, GraphSubset const *subg, iSet obj, GraphSubset &ss) |
Calcule la composante connexe à laquelle appartient un sommet. More... | |
Additional Inherited Members | |
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... | |
Protected Attributes inherited from cogitant::OperationBase | |
bool | m_stop |
Arrêt de l'exécution de l'opération demandé. More... | |
Opération de calcul des composantes connexes d'un graphe conceptuel.
Dans un usage normal de la bibliothèque, il est plus simple d'appeler les méthodes cogitant::Environment::isConnected() (connexité du graphe), cogitant::Environment::connectedComponentsSize() (nombre de composantes connexes) et cogitant::Environment::connectedComponents() (composantes connexes) qui effectuent ces opérations en appelant les méthodes de cette classe, mais en cachant l'initialisation des paramètres.
Soient un graphe i_g, et un InternalGraph de i_g d'identificateur i_gparent, cette opération calcule si le graphe i_gparent est connexe, son nombre de composantes connexes, et ses composantes connexes selon la valeur de i_ccresult.
Type de calcul devant être effectué par une opération OpeConnectedComponent.
cogitant::OpeConnectedComponent::OpeConnectedComponent | ( | Environment * | env | ) |
Constructeur.
cogitant::OpeConnectedComponent::~OpeConnectedComponent | ( | ) |
Destructeur.
|
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.
|
static |
Calcule la composante connexe à laquelle appartient un sommet.
g | graphe considéré. |
subg | sous-graphe de g à considérer. Si NULL , considère tout g, sinon, les seuls sommets de g qui sont dans subg. |
obj | identificateur de l'objet dont la composante connexe est cherchée. |
ss | (R) sous ensemble des sommets de g contenant en résultat les sommets de la composante connexe de obj. Les sommets de la composante connexe sont ajoutés à ss qui n'est pas vidé avant l'exécution de cette méthode. |
|
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.
void cogitant::OpeConnectedComponent::setParamGSubset | ( | GraphSubset const * | subset | ) |
Permet de chercher les composantes connexes dans le seul GraphSubset passé.
Par défaut (ou en passant NULL
à cette méthode), les composantes connexes sont cherchées parmi tous les sommets du graphe (qui sont des fils de i_gparent). En passant un Subset (de g) à cette méthode, les composantes ne sont cherchées que parmi les sommets du Subset en question. Ainsi, il est possible de connaîte facilement la connexité, le nombre de composantes connexes ou les composantes d'un sous-ensemble du graphe, sans avoir à construire un Graph à partir d'un GraphSubset.
void cogitant::OpeConnectedComponent::setParamResultType | ( | ResultType | ccresult | ) |
Type de calcul devant être effectué.
Si cette méthode n'est pas appelée, le nombre de composantes connexes est calculé (ce qui est équivalent à appeler cette méthode avec le paramètre OpeConnectedComponent::ResultType::RT_INTEGER).