SiGraph: sulcal graphs


sigraph::FoldFakeRel Class Reference

Evalue les instances de relations qui n'existent pas dans le modèle. More...

#include <si/fold/foldFakeRel.h>

Inheritance diagram for sigraph::FoldFakeRel:
Collaboration diagram for sigraph::FoldFakeRel:

Classes

struct  Reldescr
 Description d'une relation. More...
 

Public Types

typedef Reldescr ** Relmap
 tableau indices -> Reldescr
 
typedef std::map< const CGraph *, RelmapFakeRels
 tableau graphe -> Relmap
 

Public Member Functions

 FoldFakeRel (Model *parent=0)
 
 FoldFakeRel (const FoldFakeRel &fr)
 
virtual ~FoldFakeRel ()
 
void setMGraph (MGraph *mg)
 
virtual Modelclone () const
 Duplication (fonction abstraite)
 
virtual void buildTree (Tree &tr) const
 (devrait être externe à la classe...)
 
virtual double prop (const Clique *cl)
 Propagation (réponse du modèle)
 
virtual double prop (const Clique *cl, const std::map< Vertex *, std::string > &changes)
 Ce prop() est utilisé pour tester un changement: on ne fait pas d'update() avant, et il n'est pas effectué par prop() non plus: si le changement est accepté, il faut absolument appeler update() ensuite.
 
virtual double update (const Clique *cl)
 Met à jour les états internes du modèle (au besoin) Cette fonction doit être appelée après chaque changement de label.
 
virtual double update (const Clique *cl, const std::map< Vertex *, std::string > &changes)
 Change les états internes pour les noeuds de la liste changes, chacun avec son ancien nom.
 
virtual Relmap init (const CGraph &cg)
 
virtual void clear ()
 
ReldescrrelDescr (const CGraph *cg, const std::string &label1, const std::string &label2)
 
- Public Member Functions inherited from sigraph::Model
virtual ~Model ()
 
Modeloperator= (const Model &m)
 
virtual bool doesOutputChange (const Clique *cl, const std::map< Vertex *, std::string > &changes) const
 tells whether a label change inpacts the model output or not.
 
virtual bool isAdaptive () const
 Le modèle est-il adaptatif ?
 
virtual bool openFile (const std::string &basename="")
 Ouvre le(s) fichier(s) de sauvegardes des données reçues.
 
virtual void closeFile ()
 Ferme le(s) fichier(s) de sauvegardes des données reçues.
 
virtual void subFiles (const std::string &prefix, std::set< std::string > &listNames) const
 Donne la liste des fichiers sous le modèle.
 
virtual double printDescription (Clique *cl, bool withnames=false)
 Calcule le potentiel et garde le(s) vecteur(s) de description.
 
virtual Modelparent ()
 Donne le parent direct (0 si pas de parent)
 
virtual void setParent (Model *m)
 Fixe le parent.
 
virtual TopModeltopModel ()
 Donne la base de l'arborescence (TopModel, s'il y en a)
 
virtual const TopModeltopModel () const
 
virtual carto::AttributedObjectgraphObject ()
 Donne l'élément parent du graphe modèle.
 
virtual const carto::AttributedObjectgraphObject () const
 
virtual void setBaseName (const std::string &basename)
 

Protected Member Functions

Relmap allocGraph (const CGraph *cg)
 
void deleteGraph (Relmap rmap)
 
virtual double update (const CGraph &cg, Relmap &relm)
 
 Model (Model *parent=0)
 
 Model (const Model &m)
 

Protected Attributes

MGraph_mgraph
 Graphe modèle.
 
std::map< std::string, int > _ltoi
 Conversion label -> indice.
 
FakeRels _rels
 Table graphe :-> tableau des relations.
 

Detailed Description

Evalue les instances de relations qui n'existent pas dans le modèle.

Ce modèle existe une seule fois dans un graphe modèle et évalue une "fausse" clique à laquelle appartiennent tous les noeuds du graphe exemple, ou en tout cas tous ceux qui ont des relations (en temps normal, ils en ont tous). Tout ceci pour répondre "faux" quand on trouve une instance de relation qui n'existe pas dans le modèle. Comme ce modèle existe une seule fois et est une relation, par convention il appartient à ......... La clique correspondante a l'attribut syntaxique "FAKE" et doit contenir un pointeur sur son graphe parent, de type CGraph* sous l'attribut "cgraph".

Definition at line 28 of file foldFakeRel.h.

Member Typedef Documentation

◆ FakeRels

typedef std::map<const CGraph*, Relmap> sigraph::FoldFakeRel::FakeRels

tableau graphe -> Relmap

Definition at line 41 of file foldFakeRel.h.

◆ Relmap

tableau indices -> Reldescr

Definition at line 39 of file foldFakeRel.h.

Constructor & Destructor Documentation

◆ FoldFakeRel() [1/2]

sigraph::FoldFakeRel::FoldFakeRel ( Model * parent = 0)

◆ FoldFakeRel() [2/2]

sigraph::FoldFakeRel::FoldFakeRel ( const FoldFakeRel & fr)
inline

Definition at line 44 of file foldFakeRel.h.

References _mgraph, _rels, FoldFakeRel(), and sigraph::Model::Model().

◆ ~FoldFakeRel()

virtual sigraph::FoldFakeRel::~FoldFakeRel ( )
virtual

Member Function Documentation

◆ allocGraph()

Relmap sigraph::FoldFakeRel::allocGraph ( const CGraph * cg)
protected

◆ buildTree()

virtual void sigraph::FoldFakeRel::buildTree ( Tree & tr) const
virtual

(devrait être externe à la classe...)

Implements sigraph::Model.

◆ clear()

virtual void sigraph::FoldFakeRel::clear ( )
virtual

◆ clone()

virtual Model * sigraph::FoldFakeRel::clone ( ) const
inlinevirtual

Duplication (fonction abstraite)

Implements sigraph::Model.

Definition at line 49 of file foldFakeRel.h.

References FoldFakeRel(), and sigraph::Model::Model().

◆ deleteGraph()

void sigraph::FoldFakeRel::deleteGraph ( Relmap rmap)
protected

◆ init()

virtual Relmap sigraph::FoldFakeRel::init ( const CGraph & cg)
virtual

◆ prop() [1/2]

virtual double sigraph::FoldFakeRel::prop ( const Clique * cl)
virtual

Propagation (réponse du modèle)

Parameters
clClique dont on veut connaître le potentiel
Returns
potentiel de la clique

Implements sigraph::Model.

◆ prop() [2/2]

virtual double sigraph::FoldFakeRel::prop ( const Clique * cl,
const std::map< Vertex *, std::string > & changes )
virtual

Ce prop() est utilisé pour tester un changement: on ne fait pas d'update() avant, et il n'est pas effectué par prop() non plus: si le changement est accepté, il faut absolument appeler update() ensuite.

Reimplemented from sigraph::Model.

◆ relDescr()

Reldescr * sigraph::FoldFakeRel::relDescr ( const CGraph * cg,
const std::string & label1,
const std::string & label2 )

◆ setMGraph()

void sigraph::FoldFakeRel::setMGraph ( MGraph * mg)
inline

Definition at line 48 of file foldFakeRel.h.

References _mgraph.

◆ update() [1/3]

virtual double sigraph::FoldFakeRel::update ( const CGraph & cg,
Relmap & relm )
protectedvirtual

◆ update() [2/3]

virtual double sigraph::FoldFakeRel::update ( const Clique * cl)
virtual

Met à jour les états internes du modèle (au besoin) Cette fonction doit être appelée après chaque changement de label.

Returns
le nouveau potentiel de la clique

Reimplemented from sigraph::Model.

◆ update() [3/3]

virtual double sigraph::FoldFakeRel::update ( const Clique * cl,
const std::map< Vertex *, std::string > & changes )
virtual

Change les états internes pour les noeuds de la liste changes, chacun avec son ancien nom.

Returns
la différence de potentiel entraînée par le changement

Reimplemented from sigraph::Model.

Member Data Documentation

◆ _ltoi

std::map<std::string, int> sigraph::FoldFakeRel::_ltoi
protected

Conversion label -> indice.

Definition at line 78 of file foldFakeRel.h.

◆ _mgraph

MGraph* sigraph::FoldFakeRel::_mgraph
protected

Graphe modèle.

Definition at line 76 of file foldFakeRel.h.

Referenced by FoldFakeRel(), and setMGraph().

◆ _rels

FakeRels sigraph::FoldFakeRel::_rels
protected

Table graphe :-> tableau des relations.

Definition at line 80 of file foldFakeRel.h.

Referenced by FoldFakeRel().


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