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

Classes | Public Member Functions | Friends | List of all members
cogitant::GraphSubset Class Reference

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...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ GraphSubset() [1/5]

cogitant::GraphSubset::GraphSubset ( GraphSubset const &  s)

Constructeur par recopie.

◆ GraphSubset() [2/5]

cogitant::GraphSubset::GraphSubset ( Graph const &  g)

Constructeur d'un ensemble vide sur un graphe.

◆ GraphSubset() [3/5]

cogitant::GraphSubset::GraphSubset ( Graph const *  g)

Constructeur d'un ensemble vide sur un graphe.

◆ GraphSubset() [4/5]

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.

◆ GraphSubset() [5/5]

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.

Member Function Documentation

◆ capacity()

nSet cogitant::GraphSubset::capacity ( ) const
inline

◆ clear()

void cogitant::GraphSubset::clear ( )

Suppression de tous les éléments.

◆ containsNeighbourhood()

bool cogitant::GraphSubset::containsNeighbourhood ( Graph const *  g,
iSet  node 
) const

Test de l'inclusion du voisinnage d'un sommet dans un GraphSubset.

Parameters
gGraphe sur lequel est défini le GraphSubset.
nodeSommet concept ou relation de g.
Returns
true ssi l'ensemble des voisins reliés par des arêtes à node sont dans le GraphSubset.

◆ deselect() [1/2]

void cogitant::GraphSubset::deselect ( iSet  i)

Dé-sélection de l'élément i.

◆ deselect() [2/2]

void cogitant::GraphSubset::deselect ( GraphSubset const &  b)

Dé-sélection des éléments de b.

◆ extend()

void cogitant::GraphSubset::extend ( Graph const *  g,
Selector s,
iSet  parent = ISET_NULL 
)

Ajoute à l'ensemble les sommets sélectionnés par le Selector.

Parameters
gGraphe sur lequel est défini le GraphSubset.
sSélecteur de sommets.
parentParent 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.
See also
Selector.

◆ extendChildren()

void cogitant::GraphSubset::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).

C'est à dire les sommets qui sont reliés par des relations PARENT/CHILD aux sommets du GraphSubset.

Parameters
ggraphe sur lequel est défini le GraphSubset.
ibegSi égal à ISET_NULL ajoute au subset les fils de tous les éléments du GraphSubset, sinon ne rajoute que les fils de ibeg.

◆ extendNeighbourhoodRelations()

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).

Parameters
ggraphe sur lequel est défini le GraphSubset.
parentrelIdentifiant 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.

◆ extendRelations()

void cogitant::GraphSubset::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).

Parameters
ggraphe sur lequel est défini le GraphSubset.
parentrelIdentifiant 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.

◆ fill()

void cogitant::GraphSubset::fill ( )

Sélection de tous les éléments.

◆ first()

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) :

for (iSet i=s.first(); i!=ISET_NULL; i=s.next(i))
cout << i;

◆ intersect()

void cogitant::GraphSubset::intersect ( GraphSubset const &  b)

Calcule l'intersection avec le GraphSubset passé.

◆ invert()

void cogitant::GraphSubset::invert ( )

Inverse la sélection.

◆ isSelected()

bool cogitant::GraphSubset::isSelected ( iSet  i) const
inline

État de sélection de l'élément i.

◆ next()

iSet cogitant::GraphSubset::next ( iSet  i) const

Retourne l'élément suivant dans le parcours.

Si l'élément en cours est le dernier sélectionné, retourne ISET_NULL.

◆ reserve() [1/2]

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.

Parameters
ggraphe sur lequel est défini le GraphSubset.
Precondition
La taille de g est supérieure ou égale à la taille qui avait été précédemment passée pour dimensionner le GraphSubset.

◆ reserve() [2/2]

void cogitant::GraphSubset::reserve ( nSet  newsize)

Redimensionne l'ensemble à la taille passée.

Parameters
newsizenouvelle taille du graphe sur lequel est défini le GraphSubset.
Precondition
newsize est supérieur ou égale à la taille qui avait été précédemment passée pour dimensionner le GraphSubset.

◆ select() [1/3]

void cogitant::GraphSubset::select ( iSet  i)

Sélection de l'élément i.

◆ select() [2/3]

void cogitant::GraphSubset::select ( std::vector< iSet > const &  v)

Ajoute au GraphSubset les identificateurs du vecteur.

◆ select() [3/3]

void cogitant::GraphSubset::select ( GraphSubset const &  v)

Ajoute au GraphSubset les identificateurs du GraphSubset.

◆ selectedNodes()

nSet cogitant::GraphSubset::selectedNodes ( ) const
inline

Nombre d'éléments sélectionnés.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
GraphSubset const &  ob 
)
friend

Opérateur de sortie.