SiGraph: sulcal graphs


sigraph::VertexClique Class Reference

VertexClique - clique of graph vertices. More...

#include <si/graph/vertexclique.h>

Inheritance diagram for sigraph::VertexClique:
Collaboration diagram for sigraph::VertexClique:

Public Types

typedef std::set< Vertex * >::iterator iterator
 
typedef std::set< Vertex * >::const_iterator const_iterator
 
- Public Types inherited from carto::SyntaxedObject< PropertySet >
typedef internal::SyntaxedObjectSwitch< T, SUPERSUBCLASS(Interface, T)>::ContentType ContentType
 

Public Member Functions

 VertexClique ()
 
 VertexClique (const std::set< Vertex * > &vert)
 
 VertexClique (const VertexClique &cl)
 Ne copie que les attributs, pas les noeuds contenus !
 
 ~VertexClique ()
 
virtual void clear ()
 
virtual CliquedeepCopy () const
 copies the clique and the elements it refers too
 
Gestion des noeuds de la clique
const std::set< Vertex * > & vertices () const
 
void addVertex (Vertex *vert)
 
void removeVertex (Vertex *vert)
 
const_iterator begin () const
 
const_iterator end () const
 
size_t size () const
 
Fonctions de recherche
template<class T>
std::set< Vertex * > getVerticesWith (const std::string &s, const T &t) const
 Find the vertices which contain a given semantic attribute/value pair.
 
std::set< Vertex * > getVerticesWith (const std::string &s) const
 Find the vertices which contain a given semantic attribute.
 
virtual void edgesBetweenLabels (const std::string &label1, const std::string &label2, std::set< Edge * > &ed) const
 Trouve les relations qui relient les noeuds de label {\tt label1} aux noeuds de label {\tt label2}.
 
virtual void edgesBetween (const std::set< Vertex * > &s1, const std::set< Vertex * > &s2, std::set< Edge * > &ed) const
 Trouve les relations entre deux sous-ensembles.
 
- Public Member Functions inherited from sigraph::Clique
virtual ~Clique ()
 
- Public Member Functions inherited from carto::SyntaxedObject< PropertySet >
 SyntaxedObject (const std::string &s)
 
 SyntaxedObject (const SyntaxedObject &x)
 
 SyntaxedObject (const SyntaxedObject< PropertySet > &x)
 
 SyntaxedObject (const std::string &s)
 
 SyntaxedObject (const SyntaxedObject &x)
 
 SyntaxedObject (const SyntaxedObject< PropertySet > &x)
 

Composantes connexes

std::set< Vertex * > _vertices
 
virtual unsigned connectivity (const std::string &label, std::set< CComponent * > *sc=0, const std::string &SyntType="") const
 Calcule les composantes connexes pour une étiquette.
 
static unsigned connectivity (const std::set< Vertex * > &vx, std::set< CComponent * > *sc=0, const std::string &syntType="")
 Calcule les composantes connexes pour un ensemble de noeuds.
 
static unsigned connectivity (const std::set< Vertex * > &vx, std::set< CComponent * > *sc, const std::set< std::string > &syntTypes)
 Calcule les composantes connexes pour un ensemble de noeuds et de syntaxes de relations.
 
static void connPropagate (Vertex *v, const std::set< Vertex * > &vx, std::set< Vertex * > &done, CComponent *cc, const std::set< std::string > &syntTypes)
 Propagation d'une composante connexe.
 
iterator begin ()
 Les itérateurs non-constants sont en accès protégé.
 
iterator end ()
 Les itérateurs non-constants sont en accès protégé.
 

Additional Inherited Members

- Protected Member Functions inherited from sigraph::Clique
 Clique ()
 
 Clique (const Clique &cl)
 Ne copie que les attributs, pas les noeuds contenus !
 

Detailed Description

VertexClique - clique of graph vertices.

Definition at line 19 of file vertexclique.h.

Member Typedef Documentation

◆ const_iterator

Definition at line 23 of file vertexclique.h.

◆ iterator

Definition at line 22 of file vertexclique.h.

Constructor & Destructor Documentation

◆ VertexClique() [1/3]

sigraph::VertexClique::VertexClique ( )
inline

Definition at line 112 of file vertexclique.h.

References sigraph::Clique::Clique().

Referenced by VertexClique().

◆ VertexClique() [2/3]

sigraph::VertexClique::VertexClique ( const std::set< Vertex * > & vert)

◆ VertexClique() [3/3]

sigraph::VertexClique::VertexClique ( const VertexClique & cl)

Ne copie que les attributs, pas les noeuds contenus !

References VertexClique().

◆ ~VertexClique()

sigraph::VertexClique::~VertexClique ( )

Member Function Documentation

◆ addVertex()

void sigraph::VertexClique::addVertex ( Vertex * vert)

◆ begin() [1/2]

VertexClique::iterator sigraph::VertexClique::begin ( )
inlineprotected

Les itérateurs non-constants sont en accès protégé.

Definition at line 129 of file vertexclique.h.

References _vertices.

◆ begin() [2/2]

VertexClique::const_iterator sigraph::VertexClique::begin ( ) const
inline

Definition at line 123 of file vertexclique.h.

References _vertices.

Referenced by getVerticesWith().

◆ clear()

virtual void sigraph::VertexClique::clear ( )
virtual

Reimplemented from sigraph::Clique.

◆ connectivity() [1/3]

static unsigned sigraph::VertexClique::connectivity ( const std::set< Vertex * > & vx,
std::set< CComponent * > * sc,
const std::set< std::string > & syntTypes )
static

Calcule les composantes connexes pour un ensemble de noeuds et de syntaxes de relations.

◆ connectivity() [2/3]

static unsigned sigraph::VertexClique::connectivity ( const std::set< Vertex * > & vx,
std::set< CComponent * > * sc = 0,
const std::string & syntType = "" )
static

Calcule les composantes connexes pour un ensemble de noeuds.

◆ connectivity() [3/3]

virtual unsigned sigraph::VertexClique::connectivity ( const std::string & label,
std::set< CComponent * > * sc = 0,
const std::string & SyntType = "" ) const
virtual

Calcule les composantes connexes pour une étiquette.

Parameters
labelétiquette pour laquelle on cherche les composantes
scsi non NULL, la fonction remplit la liste des composantes, il faut les effacer...
syntTypeType syntaxique de relation concerné. Si ce paramètre n'est pas donné, on connecte par cherche n'importe quel type de relation.
Returns
nombre de composantes connexes

◆ connPropagate()

static void sigraph::VertexClique::connPropagate ( Vertex * v,
const std::set< Vertex * > & vx,
std::set< Vertex * > & done,
CComponent * cc,
const std::set< std::string > & syntTypes )
static

Propagation d'une composante connexe.

Parameters
vnoeud d'origine de la composante (graine)
vxensemble des noeuds possibles
doneceux qui ont déjà été traités
cccomposante connexe à remplir (si non NULL)

◆ deepCopy()

virtual Clique * sigraph::VertexClique::deepCopy ( ) const
virtual

copies the clique and the elements it refers too

For a VertexClique operating on graph vertices, the vertices are copied (althrough they are in the general case only pointers to the nodes inside the original graph).

This behaviour is needed for cliques modifications that will also affect the elements referred, such as noising data during learning. Copied cliques are requested to set their internal attribute "is_copy" (of type bool) to true, so we know when we have a copied clique which may have allocated data (and must free it upon destruction)

Inherited classes <it>MUST</it> define this important function

Returns
copied clique

Implements sigraph::Clique.

References sigraph::Clique::Clique().

◆ edgesBetween()

virtual void sigraph::VertexClique::edgesBetween ( const std::set< Vertex * > & s1,
const std::set< Vertex * > & s2,
std::set< Edge * > & ed ) const
virtual

Trouve les relations entre deux sous-ensembles.

◆ edgesBetweenLabels()

virtual void sigraph::VertexClique::edgesBetweenLabels ( const std::string & label1,
const std::string & label2,
std::set< Edge * > & ed ) const
virtual

Trouve les relations qui relient les noeuds de label {\tt label1} aux noeuds de label {\tt label2}.

Parameters
label11er label
label22e label
edges(retour) les relations trouvées y sont stockées

◆ end() [1/2]

VertexClique::iterator sigraph::VertexClique::end ( )
inlineprotected

Les itérateurs non-constants sont en accès protégé.

Definition at line 141 of file vertexclique.h.

References _vertices.

◆ end() [2/2]

VertexClique::const_iterator sigraph::VertexClique::end ( ) const
inline

Definition at line 135 of file vertexclique.h.

References _vertices.

Referenced by getVerticesWith().

◆ getVerticesWith() [1/2]

std::set< Vertex * > sigraph::VertexClique::getVerticesWith ( const std::string & s) const

Find the vertices which contain a given semantic attribute.

◆ getVerticesWith() [2/2]

template<class T>
std::set< Vertex * > sigraph::VertexClique::getVerticesWith ( const std::string & s,
const T & t ) const
inline

Find the vertices which contain a given semantic attribute/value pair.

Definition at line 154 of file vertexclique.h.

References begin(), end(), and vertices().

◆ removeVertex()

void sigraph::VertexClique::removeVertex ( Vertex * vert)

◆ size()

size_t sigraph::VertexClique::size ( ) const
inline

Definition at line 147 of file vertexclique.h.

References _vertices.

◆ vertices()

const std::set< Vertex * > & sigraph::VertexClique::vertices ( ) const
inline

Definition at line 117 of file vertexclique.h.

References _vertices.

Referenced by getVerticesWith().

Member Data Documentation

◆ _vertices

std::set<Vertex*> sigraph::VertexClique::_vertices
protected

Definition at line 100 of file vertexclique.h.

Referenced by begin(), begin(), end(), end(), size(), and vertices().


The documentation for this class was generated from the following file: