LoveBrains  1.0.0
i_brain.h
1 /*
2 ** a_nanobrain.h for LoveBrains in /home/robin_f/Programming/Git/CPP/LoveBrains
3 **
4 ** Made by Guillaume ROBIN
5 ** Login <robin_f@epitech.eu>
6 **
7 ** Started on Wed Jul 29 16:51:30 2015 Guillaume ROBIN
8 ** Last update Fri Aug 21 14:51:43 2015 Guillaume ROBIN
9 */
10 
11 #ifndef I_BRAIN_H_
12 # define I_BRAIN_H_
13 
14 # include "Graphics/i_object.h"
15 # include "ANN/neural_net.h"
16 
17 namespace Graphics
18 {
23  class IBrain : public IObject
24  {
25  public:
29  virtual ~IBrain(void) { }
30 
31  /*
32  ** Getters.
33  */
34 
39  virtual double getFitness(void) const = 0;
40 
41  /*
42  ** Setters.
43  */
44 
49  virtual void setFitness(double fitness) = 0;
54  virtual void setBrain(GANN::ANN const& brain) = 0;
60  virtual void setInput(unsigned int index, double value) = 0;
61  };
62 }
63 
64 #endif /* !A_NANOBRAIN_H_ */
virtual double getFitness(void) const =0
Get the current fitness of the object.
virtual void setInput(unsigned int index, double value)=0
Set an input for the neural network.
Define the interface of an object.
Definition: i_object.h:24
Define the interface of an object that contains a neural network.
Definition: i_brain.h:23
Define what is a neural network.
Definition: neural_net.h:24
Contains all the class that define the graphic environment.
virtual void setBrain(GANN::ANN const &brain)=0
Set the current neural network of the object.
virtual ~IBrain(void)
Destructor.
Definition: i_brain.h:29
virtual void setFitness(double fitness)=0
Set the current fitness of the object.