38 lines
708 B
C++
38 lines
708 B
C++
#ifndef __ConnectionGene_h__
|
|
#define __ConnectionGene_h__
|
|
|
|
#include "Gene.h"
|
|
|
|
class Innovator;
|
|
|
|
class ConnectionGene: public Gene
|
|
{
|
|
public:
|
|
|
|
ConnectionGene(Innovator& innovator, int input_id, int output_id);
|
|
ConnectionGene(Innovator& innovator, int input_id, int output_id, float weight);
|
|
|
|
void Mutate();
|
|
|
|
void Disable();
|
|
void Enable();
|
|
bool IsEnabled() const;
|
|
|
|
int GetInputNeuron() const;
|
|
int GetOutputNeuron() const;
|
|
float GetWeight() const;
|
|
|
|
bool operator< (const ConnectionGene& rhs) const;
|
|
bool operator== (const ConnectionGene& rhs) const;
|
|
|
|
private:
|
|
|
|
int m_in_node;
|
|
int m_out_node;
|
|
float m_weight;
|
|
bool m_enabled;
|
|
};
|
|
|
|
#endif // __ConnectionGene_h__
|
|
|