SiGraph: sulcal graphs


cliqueDescr.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1998-2004 CEA
3 *
4 * This software and supporting documentation were developed by
5 * CEA/DSV/SHFJ
6 * 4 place du General Leclerc
7 * 91401 Orsay cedex
8 * France
9 *
10 */
11
12#ifndef SI_DESCR_CLIQUEDESCR_H
13#define SI_DESCR_CLIQUEDESCR_H
14
15
16#include <cartobase/object/object.h>
17#include <vector>
18
19class Tree;
20class Vertex;
21
22
23namespace sigraph
24{
25 class Clique;
26
36 {
37 public:
38 virtual ~CliqueDescr();
39 virtual CliqueDescr* clone() const = 0;
40
48 virtual bool makeVector( const Clique* cl, std::vector<double> & vec,
49 carto::GenericObject* model = 0 );
52 virtual void preProcess( std::vector<double> & vec,
53 carto::GenericObject* model = 0 );
64 virtual bool hasChanged( const Clique* cl,
65 const std::map<Vertex*, std::string> & changes,
66 const carto::GenericObject* model = 0 ) const;
67
68 virtual void buildTree( Tree & ) {}
69 virtual std::vector<std::string> descriptorsNames() const;
70 virtual std::string name() const;
71
72 protected:
74 virtual bool makeVectorElements( const Clique* cl,
75 std::vector<double> & vec,
76 carto::GenericObject* model = 0 ) = 0;
77
78 private:
79 };
80
81 // inline
82
83 inline void CliqueDescr::preProcess( std::vector<double> &,
85 {
86 }
87
88
89 inline bool CliqueDescr::hasChanged( const Clique*,
90 const std::map<Vertex*, std::string> &,
91 const carto::GenericObject* ) const
92 {
93 return( true ); // par défaut, toujours
94 }
95
96}
97
98
99namespace carto
100{
102}
103
104#endif
105
Descripteur de clique (classe abstraite).
Definition cliqueDescr.h:36
virtual CliqueDescr * clone() const =0
virtual bool hasChanged(const Clique *cl, const std::map< Vertex *, std::string > &changes, const carto::GenericObject *model=0) const
Dit si le potentiel d'une clique, après une transformation de labels de noeuds, a pu changer,...
Definition cliqueDescr.h:89
virtual bool makeVectorElements(const Clique *cl, std::vector< double > &vec, carto::GenericObject *model=0)=0
virtual std::string name() const
virtual std::vector< std::string > descriptorsNames() const
virtual bool makeVector(const Clique *cl, std::vector< double > &vec, carto::GenericObject *model=0)
Fabrique le vecteur d'entrées.
virtual void preProcess(std::vector< double > &vec, carto::GenericObject *model=0)
Effectue des pré-processings (si nécessaire).
Definition cliqueDescr.h:83
virtual void buildTree(Tree &)
Definition cliqueDescr.h:68
Classe Clique.
Definition clique.h:35
#define DECLARE_GENERIC_OBJECT_TYPE(T)