mixmod  3.2.0
Mixture models for clustering and classification
 All Classes Namespaces Files Functions Variables Enumerations Friends
ClusteringInput.h
1 /***************************************************************************
2  SRC/mixmod/Clustering/ClusteringInput.h description
3  copyright : (C) MIXMOD Team - 2001-2016
4  email : contact@mixmod.org
5  ***************************************************************************/
6 
7 /***************************************************************************
8  This file is part of MIXMOD
9 
10  MIXMOD is free software: you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  (at your option) any later version.
14 
15  MIXMOD is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  GNU General Public License for more details.
19 
20  You should have received a copy of the GNU General Public License
21  along with MIXMOD. If not, see <http://www.gnu.org/licenses/>.
22 
23  All informations available on : http://www.mixmod.org
24 ***************************************************************************/
25 #ifndef XEMCLUSTERINGINPUT_H
26 #define XEMCLUSTERINGINPUT_H
27 
28 #include "mixmod/Kernel/IO/Input.h"
29 
30 namespace XEM {
31 
32 // pre-declaration
33 class ClusteringStrategy;
34 
42 class ClusteringInput : public Input {
43 
44 public:
45 
48 
50  ClusteringInput(const ClusteringInput & CInput);
51 
53  ClusteringInput(const std::vector<int64_t> & iNbCluster,
54  const DataDescription & iDataDescription);
55 
57  virtual ~ClusteringInput();
58 
59  // getStrategy
60  ClusteringStrategy * getStrategy() const;
61 
62  // setStrategy
63  void setStrategy(ClusteringStrategy * strat);
64 
66  virtual void setCriterion(std::vector<CriterionName> const & criterionName);
67 
69  virtual void setCriterion(const CriterionName criterionName, unsigned int index);
70 
72  virtual void insertCriterion(const CriterionName criterionName, unsigned int index);
73 
74  // add a new criterion
75  void addCriterion(const CriterionName criterionName);
76 
77  // print input
78  virtual void edit(std::ostream & out ) const;
79 
81  //By default, HD models are not allowed
82 
83 
85  virtual void setModelType(const ModelType * modelType, unsigned int index);
86 
88  virtual void insertModelType(const ModelType * modelType, unsigned int index);
89 
91  virtual void addModelType(const ModelType * modelType);
92 
94  virtual void addModel(ModelName const modelName);
95 
97  virtual void setModel(std::vector<ModelName> const & modelName);
98 
99 protected:
100 
102  virtual bool verif();
103  // Clustering strategy
104  ClusteringStrategy * _strategy;
105 };
106 
107 // getStrategy
108 inline ClusteringStrategy * ClusteringInput::getStrategy() const {
109  return _strategy;
110 }
111 
112 }
113 
114 #endif
Base class for ModelType(s)
Definition: ModelType.h:37
virtual void setModelType(const ModelType *modelType, unsigned int index)
model add, insert, set
Definition: ClusteringInput.cpp:206
ModelName
Enumeration of model name.
Definition: Util.h:403
virtual void insertCriterion(const CriterionName criterionName, unsigned int index)
insertCriterionName[i]
Definition: ClusteringInput.cpp:131
virtual void addModel(ModelName const modelName)
add new model (modelName -> modelType)
Definition: ClusteringInput.cpp:235
virtual void addModelType(const ModelType *modelType)
add new model type (at the end)
Definition: ClusteringInput.cpp:226
virtual bool verif()
verif
Definition: ClusteringInput.cpp:197
Definition: ClusteringInput.h:42
Definition: ClusteringStrategy.h:47
CriterionName
Enumeration of Criterion type.
Definition: Util.h:303
virtual void setCriterion(std::vector< CriterionName > const &criterionName)
setCriterionName
Definition: ClusteringInput.cpp:101
virtual void insertModelType(const ModelType *modelType, unsigned int index)
insertModelType
Definition: ClusteringInput.cpp:216
Definition: Input.h:44
virtual void setModel(std::vector< ModelName > const &modelName)
setModel (modelName -> modelType)
Definition: ClusteringInput.cpp:244
ClusteringInput()
Default Constructor.
Definition: ClusteringInput.cpp:35
virtual ~ClusteringInput()
Destructor.
Definition: ClusteringInput.cpp:61
Definition: DataDescription.h:45