2#ifndef SI_GRAPH_VERTEXCLIQUE_H
3#define SI_GRAPH_VERTEXCLIQUE_H
6#include <graph/graph/vertex.h>
36 const std::set<Vertex*> &
vertices()
const;
47 template <
class T> std::set <Vertex*>
57 const std::string & label2,
58 std::set<Edge *> & ed )
const;
61 const std::set<Vertex *> & s2,
62 std::set<Edge *> & ed )
const;
77 std::set<CComponent *> *sc = 0,
78 const std::string & SyntType =
"" )
const;
81 std::set<CComponent *> *sc = 0,
82 const std::string & syntType =
"" );
86 std::set<CComponent *> *sc,
87 const std::set<std::string> & syntTypes );
96 const std::set<std::string> & syntTypes );
153 template <
class T>
inline std::set <Vertex*>
162 std::cerr <<
"in vertex " << *v <<
": prop " << s
167 if( tmp->GenericObject::value<T>() == t )
VertexClique - clique of graph vertices.
std::set< Vertex * > getVerticesWith(const std::string &s) const
Find the vertices which contain a given semantic attribute.
VertexClique(const std::set< Vertex * > &vert)
const_iterator end() const
virtual Clique * deepCopy() const
copies the clique and the elements it refers too
std::set< Vertex * > getVerticesWith(const std::string &s, const T &t) const
Find the vertices which contain a given semantic attribute/value pair.
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.
const_iterator begin() const
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.
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}...
void addVertex(Vertex *vert)
VertexClique(const VertexClique &cl)
Ne copie que les attributs, pas les noeuds contenus !
std::set< Vertex * >::const_iterator const_iterator
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.
std::set< Vertex * > _vertices
const std::set< Vertex * > & vertices() const
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 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.
void removeVertex(Vertex *vert)
std::set< Vertex * >::iterator iterator
std::set< Vertex * > CComponent
Composante connexe.
#define DECLARE_GENERIC_OBJECT_TYPE(T)