Sous-ensemble des éléments du graphe. More...
#include "cogitant/graphsubset.h"
Classes | |
class | Selector |
Sélection d'objets pour construire ou étendre un GraphSubset. More... | |
class | SelectorIndividualConcepts |
Sélection des sommets concepts individuels dont les marqueurs sont dans un ensemble fixé. More... | |
class | SelectorIndividualsConcepts |
Sélection des sommets concepts individuels dont les marqueurs sont dans un ensemble fixé. More... | |
class | SelectorObjectType |
Sélection d'objets par leur GraphObject::Type pour construire ou étendre un GraphSubset. More... | |
Public Member Functions | |
GraphSubset (GraphSubset const &s) | |
Constructeur par recopie. More... | |
GraphSubset (Graph const &g) | |
Constructeur d'un ensemble vide sur un graphe. More... | |
GraphSubset (Graph const *g) | |
Constructeur d'un ensemble vide sur un graphe. More... | |
GraphSubset (Graph const *g, GraphSubset::Selector &sel, iSet isetparent=ISET_NULL) | |
Constructeur d'un ensemble contenant les éléments sélectionnés par le sélecteur. More... | |
GraphSubset (nSet size) | |
Constructeur d'un ensemble vide sur un graphe d'une taille donnée. More... | |
void | reserve (Graph const &g) |
Redimensionne l'ensemble dans le cas où la taille du graphe a été modifiée. More... | |
void | reserve (nSet newsize) |
Redimensionne l'ensemble à la taille passée. More... | |
void | clear () |
Suppression de tous les éléments. More... | |
void | fill () |
Sélection de tous les éléments. More... | |
void | select (iSet i) |
Sélection de l'élément i. More... | |
void | select (std::vector< iSet > const &v) |
Ajoute au GraphSubset les identificateurs du vecteur. More... | |
void | select (GraphSubset const &v) |
Ajoute au GraphSubset les identificateurs du GraphSubset. More... | |
void | deselect (iSet i) |
Dé-sélection de l'élément i. More... | |
void | deselect (GraphSubset const &b) |
Dé-sélection des éléments de b. More... | |
void | invert () |
Inverse la sélection. More... | |
void | intersect (GraphSubset const &b) |
Calcule l'intersection avec le GraphSubset passé. More... | |
bool | isSelected (iSet i) const |
État de sélection de l'élément i. More... | |
nSet | selectedNodes () const |
Nombre d'éléments sélectionnés. More... | |
nSet | capacity () const |
Capacité. More... | |
iSet | first () const |
Retourne un élément sélectionné pour commencer un parcours. More... | |
iSet | next (iSet i) const |
Retourne l'élément suivant dans le parcours. More... | |
void | extend (Graph const *g, Selector *s, iSet parent=ISET_NULL) |
Ajoute à l'ensemble les sommets sélectionnés par le Selector. More... | |
void | extendChildren (Graph const *g, iSet ibeg=ISET_NULL) |
Ajoute à l'ensemble les sommets contenus (fils) dans les sommets sélectionnés (contenus dans le GraphSubset). More... | |
void | extendRelations (Graph const *g, iSet parentrel=ISET_NULL) |
Ajoute à l'ensemble les sommets relations dont tous les voisins sont des sommets concepts sélectionnés (contenus dans le GraphSubset). More... | |
void | extendNeighbourhoodRelations (Graph const *g, iSet parentrel=ISET_NULL) |
Ajoute à l'ensemble les sommets concepts voisins des relations sélectionnées (contenues dans le GraphSubset). More... | |
bool | containsNeighbourhood (Graph const *g, iSet node) const |
Test de l'inclusion du voisinnage d'un sommet dans un GraphSubset. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, GraphSubset const &ob) |
Opérateur de sortie. More... | |
Sous-ensemble des éléments du graphe.
Le test d'appartenance (isSelected()), l'ajout d'un élément à l'ensemble (select()) et le retrait (deselect()) se font en O(1) (ainsi que l'accès au nombre d'éléments (size()). Cette classe est implémentée sous la forme d'un vecteur de bits.
cogitant::GraphSubset::GraphSubset | ( | GraphSubset const & | s | ) |
Constructeur par recopie.
cogitant::GraphSubset::GraphSubset | ( | Graph const & | g | ) |
Constructeur d'un ensemble vide sur un graphe.
cogitant::GraphSubset::GraphSubset | ( | Graph const * | g | ) |
Constructeur d'un ensemble vide sur un graphe.
cogitant::GraphSubset::GraphSubset | ( | Graph const * | g, |
GraphSubset::Selector & | sel, | ||
iSet | isetparent = ISET_NULL |
||
) |
Constructeur d'un ensemble contenant les éléments sélectionnés par le sélecteur.
cogitant::GraphSubset::GraphSubset | ( | nSet | size | ) |
Constructeur d'un ensemble vide sur un graphe d'une taille donnée.
A moins de savoir ce que vous faites, préférez l'usage des autres constructeurs.
|
inline |
Capacité.
References CGTDLLEXPORT, cogitant::ISET_NULL, and cogitant::operator<<().
void cogitant::GraphSubset::clear | ( | ) |
Suppression de tous les éléments.
Test de l'inclusion du voisinnage d'un sommet dans un GraphSubset.
g | Graphe sur lequel est défini le GraphSubset. |
node | Sommet concept ou relation de g. |
true
ssi l'ensemble des voisins reliés par des arêtes à node sont dans le GraphSubset. void cogitant::GraphSubset::deselect | ( | iSet | i | ) |
Dé-sélection de l'élément i.
void cogitant::GraphSubset::deselect | ( | GraphSubset const & | b | ) |
Dé-sélection des éléments de b.
Ajoute à l'ensemble les sommets sélectionnés par le Selector.
g | Graphe sur lequel est défini le GraphSubset. |
s | Sélecteur de sommets. |
parent | Parent des sommets à sélectionner. Si ISET_NULL tente la sélection sur tous les sommets du graphe, sinon, tente la sélection des seuls fils de parent. |
Ajoute à l'ensemble les sommets contenus (fils) dans les sommets sélectionnés (contenus dans le GraphSubset).
C'est à dire les sommets qui sont reliés par des relations PARENT/CHILD aux sommets du GraphSubset.
g | graphe sur lequel est défini le GraphSubset. |
ibeg | Si égal à ISET_NULL ajoute au subset les fils de tous les éléments du GraphSubset, sinon ne rajoute que les fils de ibeg. |
void cogitant::GraphSubset::extendNeighbourhoodRelations | ( | Graph const * | g, |
iSet | parentrel = ISET_NULL |
||
) |
Ajoute à l'ensemble les sommets concepts voisins des relations sélectionnées (contenues dans le GraphSubset).
g | graphe sur lequel est défini le GraphSubset. |
parentrel | Identifiant de l'InternalGraph parent des relations à tester. Si égal à ISET_NULL, teste toutes les relations situées dans un InternalGraph qui est présent dans le GraphSubset. |
Ajoute à l'ensemble les sommets relations dont tous les voisins sont des sommets concepts sélectionnés (contenus dans le GraphSubset).
g | graphe sur lequel est défini le GraphSubset. |
parentrel | Identifiant de l'InternalGraph parent des relations à tester. Si égal à ISET_NULL, teste toutes les relations situées dans un InternalGraph qui est présent dans le GraphSubset. |
void cogitant::GraphSubset::fill | ( | ) |
Sélection de tous les éléments.
iSet cogitant::GraphSubset::first | ( | ) | const |
Retourne un élément sélectionné pour commencer un parcours.
Si aucun élément n'est sélectionné, retourne ISET_NULL. Le parcours d'un GraphSubset s
peut donc se faire de la façon suivante (affichage des identificateurs des éléments du graphe sélectionnés dans le GraphSubset) :
void cogitant::GraphSubset::intersect | ( | GraphSubset const & | b | ) |
Calcule l'intersection avec le GraphSubset passé.
void cogitant::GraphSubset::invert | ( | ) |
Inverse la sélection.
|
inline |
État de sélection de l'élément i.
Retourne l'élément suivant dans le parcours.
Si l'élément en cours est le dernier sélectionné, retourne ISET_NULL.
void cogitant::GraphSubset::reserve | ( | Graph const & | g | ) |
Redimensionne l'ensemble dans le cas où la taille du graphe a été modifiée.
La classe étant implémentée sous la forme d'un vecteur de bits, dans le cas où la taille du graphe est modifiée, la taille du vecteur doit être, elle aussi, modifiée. Ceci n'est pas fait automatiquement pour des raisons de performance. A chaque modification de ta taille du graphe, il faut donc appeler cette méthode.
g | graphe sur lequel est défini le GraphSubset. |
void cogitant::GraphSubset::reserve | ( | nSet | newsize | ) |
Redimensionne l'ensemble à la taille passée.
newsize | nouvelle taille du graphe sur lequel est défini le GraphSubset. |
void cogitant::GraphSubset::select | ( | iSet | i | ) |
Sélection de l'élément i.
void cogitant::GraphSubset::select | ( | std::vector< iSet > const & | v | ) |
Ajoute au GraphSubset les identificateurs du vecteur.
void cogitant::GraphSubset::select | ( | GraphSubset const & | v | ) |
Ajoute au GraphSubset les identificateurs du GraphSubset.
|
inline |
Nombre d'éléments sélectionnés.
|
friend |
Opérateur de sortie.