28 #ifndef GUM_I_BAYES_NET_GENERATOR_H 29 #define GUM_I_BAYES_NET_GENERATOR_H 37 #include <agrum/BN/BayesNet.h> 38 #include <agrum/BN/generator/simpleCPTGenerator.h> 39 #include <agrum/agrum.h> 41 #include <agrum/tools/variables/labelizedVariable.h> 43 #include <agrum/BN/algorithms/divergence/BNdistance.h> 61 template <
typename GUM_SCALAR,
template <
typename >
class ICPTGenerator >
62 class IBayesNetGenerator:
public ICPTGenerator< GUM_SCALAR > {
81 IBayesNetGenerator(Size nbrNodes, Size maxArcs, Size maxModality);
87 virtual ~IBayesNetGenerator();
101 virtual void generateBN(BayesNet< GUM_SCALAR >& bayesNet) = 0;
125 Size nbrNodes()
const;
131 Size maxArcs()
const;
137 Size maxModality()
const;
147 void setNbrNodes(Size nbrNodes);
152 void setMaxArcs(Size maxArcs);
157 void setMaxModality(Size maxModality);
166 BayesNet< GUM_SCALAR > bayesNet_;
171 #include <agrum/BN/generator/IBayesNetGenerator_tpl.h>