SiGraph: sulcal graphs


sigraph::CGraph Class Reference

Graphes avec étiquettes et gestion de cliques (classe abstraite). More...

#include <si/graph/cgraph.h>

Inheritance diagram for sigraph::CGraph:
Collaboration diagram for sigraph::CGraph:

Public Types

typedef std::set< carto::rc_ptr< Clique > > CliqueSet
 
- Public Types inherited from Graph
typedef std::set< Vertex * > VSet
 
typedef std::set< Edge * > ESet
 
typedef carto::rc_ptr< GraphFactoryFactoryPtr
 
typedef VSet::value_type value_type
 
typedef VSet::pointer pointer
 
typedef VSet::reference reference
 
typedef VSet::const_reference const_reference
 
typedef VSet::iterator iterator
 
typedef VSet::const_iterator const_iterator
 
typedef VSet::reverse_iterator reverse_iterator
 
typedef VSet::const_reverse_iterator const_reverse_iterator
 
- Public Types inherited from carto::SyntaxedObject< PropertySet >
typedef internal::SyntaxedObjectSwitch< T, SUPERSUBCLASS(Interface, T)>::ContentType ContentType
 

Public Member Functions

 CGraph (std::string s="")
 
virtual ~CGraph ()
 
virtual void deleteCliques ()
 
const CliqueSetcliques () const
 
CliqueSetcliques ()
 
virtual void randLabels ()
 
void setAllLabels (const std::string &label)
 Met le label donné sur tous les noeuds.
 
void ensureAllLabelsPossible ()
 Elimine les labels impossibles au départ.
 
virtual void clearAll ()
 
virtual void loadBuckets (const std::string &basename, bool rels=false)
 
- Public Member Functions inherited from Graph
 Graph (const std::string &s="")
 
 Graph (const FactoryPtr factory, const std::string &s="")
 
virtual ~Graph ()
 
void extract (Graph &graph, InputIterator iv1, InputIterator iv2)
 
void clear ()
 
VertexaddVertex (const std::string &s="")
 
VertexcloneVertex (const Vertex *vertex)
 
bool hasVertex (const Vertex *vertex) const
 
void removeVertex (Vertex *vertex)
 
VertexrandomVertex () const
 
const std::set< Vertex * > & vertices () const
 
std::set< Vertex * > getVerticesWith (const std::string &s) const
 
std::set< Vertex * > getVerticesWith (const std::string &s, const T &t) const
 
EdgeaddUndirectedEdge (Vertex *vertex1, Vertex *vertex2, std::string s)
 
EdgeaddEdge (Vertex *vertex1, Vertex *vertex2, std::string s="")
 
EdgeaddDirectedEdge (Vertex *vertex1, Vertex *vertex2, std::string s)
 
bool hasEdge (const Edge *edge) const
 
void removeEdge (Edge *edge)
 
const std::set< Edge * > & edges () const
 
std::set< Edge * > edges (const Vertex *vertex1, const Vertex *vertex2) const
 
std::set< Edge * > getEdgesWith (const std::string &s) const
 
std::set< Edge * > getEdgesWith (const std::string &s, const T &t) const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
size_t order () const
 
size_t size () const __attribute__((__deprecated__("use edgeSize() for " "the number of edges. In a future release
 
size_t size () will return the " "number properties as it does in GenericObject")))
 
size_t edgesSize () const
 
virtual bool isUndirected () const
 
virtual bool isDirected () const
 
virtual bool check (const carto::SyntaxSet &syntax, std::set< std::string > &missing) const
 
void clear ()
 
VertexaddVertex (const std::string &s="")
 
VertexcloneVertex (const Vertex *vertex)
 
bool hasVertex (const Vertex *vertex) const
 
void removeVertex (Vertex *vertex)
 
VertexrandomVertex () const
 
const std::set< Vertex * > & vertices () const
 
std::set< Vertex * > getVerticesWith (const std::string &s) const
 
std::set< Vertex * > getVerticesWith (const std::string &s, const T &t) const
 
EdgeaddUndirectedEdge (Vertex *vertex1, Vertex *vertex2, std::string s)
 
EdgeaddEdge (Vertex *vertex1, Vertex *vertex2, std::string s="")
 
EdgeaddDirectedEdge (Vertex *vertex1, Vertex *vertex2, std::string s)
 
bool hasEdge (const Edge *edge) const
 
void removeEdge (Edge *edge)
 
const std::set< Edge * > & edges () const
 
std::set< Edge * > edges (const Vertex *vertex1, const Vertex *vertex2) const
 
std::set< Edge * > getEdgesWith (const std::string &s) const
 
std::set< Edge * > getEdgesWith (const std::string &s, const T &t) const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
size_t order () const
 
size_t size () const __attribute__((__deprecated__("use edgeSize() for " "the number of edges. In a future release
 
size_t size () will return the " "number properties as it does in GenericObject")))
 
size_t edgesSize () const
 
virtual bool isUndirected () const
 
virtual bool isDirected () const
 
virtual bool check (const carto::SyntaxSet &syntax, std::set< std::string > &missing) const
 
- Public Member Functions inherited from GraphObject
virtual ~GraphObject ()
 
- 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)
 

Protected Member Functions

virtual void parseDelete (carto::AttributedObject *ao)
 
- Protected Member Functions inherited from GraphObject
 GraphObject (const std::string &s)
 
 GraphObject (const GraphObject &x)
 

Protected Attributes

CliqueSet _cliques
 
- Protected Attributes inherited from Graph
FactoryPtr _factory
 

Detailed Description

Graphes avec étiquettes et gestion de cliques (classe abstraite).

Ce type de graphe est utilisé pour les graphes exemples à étiqueter (utilisés en particulier pour le recuit simulé, voir classe Anneal).

La fonction randLabels est définie par défaut pour assigner à chaque noeud un label aléatoirement choisi parmi ceux autorisés pour lui (ceux de la liste "possible_labels" ). Elle peut être redéfinie au besoin pour une initialisation plus fine.

Les étiquettes des noeuds sont stockés dans l'attribut "label".

Definition at line 36 of file cgraph.h.

Member Typedef Documentation

◆ CliqueSet

Definition at line 39 of file cgraph.h.

Constructor & Destructor Documentation

◆ CGraph()

sigraph::CGraph::CGraph ( std::string s = "")

◆ ~CGraph()

virtual sigraph::CGraph::~CGraph ( )
virtual

Member Function Documentation

◆ clearAll()

virtual void sigraph::CGraph::clearAll ( )
virtual

◆ cliques() [1/2]

CGraph::CliqueSet & sigraph::CGraph::cliques ( )
inline

Definition at line 75 of file cgraph.h.

References _cliques.

◆ cliques() [2/2]

const CGraph::CliqueSet & sigraph::CGraph::cliques ( ) const
inline

Definition at line 69 of file cgraph.h.

References _cliques.

◆ deleteCliques()

virtual void sigraph::CGraph::deleteCliques ( )
virtual

◆ ensureAllLabelsPossible()

void sigraph::CGraph::ensureAllLabelsPossible ( )

Elimine les labels impossibles au départ.

◆ loadBuckets()

virtual void sigraph::CGraph::loadBuckets ( const std::string & basename,
bool rels = false )
virtual

◆ parseDelete()

virtual void sigraph::CGraph::parseDelete ( carto::AttributedObject * ao)
protectedvirtual

◆ randLabels()

virtual void sigraph::CGraph::randLabels ( )
virtual

◆ setAllLabels()

void sigraph::CGraph::setAllLabels ( const std::string & label)

Met le label donné sur tous les noeuds.

Member Data Documentation

◆ _cliques

CliqueSet sigraph::CGraph::_cliques
protected

Definition at line 61 of file cgraph.h.

Referenced by cliques(), and cliques().


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