BALL
1.5.0
include
BALL
DOCKING
GENETICDOCK
genes.h
Go to the documentation of this file.
1
// ----------------------------------------------------
2
// $Maintainer: Marcel Schumann $
3
// $Authors: Jan Fuhrmann, Marcel Schumann $
4
// ----------------------------------------------------
5
6
#ifndef BALL_DOCKING_GENETICDOCK_GENES_H
7
#define BALL_DOCKING_GENETICDOCK_GENES_H
8
9
#include <
BALL/MATHS/quaternion.h
>
10
11
#include <vector>
12
#include <random>
13
14
namespace
BALL
15
{
18
class
BALL_EXPORT
BALL_DEPRECATED
GenericGene
19
{
20
public
:
21
24
GenericGene
();
25
28
virtual
~GenericGene
(){};
29
32
virtual
GenericGene
*
mate
(
GenericGene
* gg) = 0;
33
36
virtual
void
mutate
() = 0;
37
40
virtual
GenericGene
*
clone
() = 0;
41
44
virtual
void
randomize
() = 0;
45
46
protected
:
47
double
randomGeneValue
();
48
int
randomGenePosition
(
int
from,
int
to);
49
50
private
:
51
std::mt19937 rng_;
52
std::uniform_real_distribution<double> dist_;
53
};
54
57
class
BALL_EXPORT
BALL_DEPRECATED
DoubleGene
:
public
GenericGene
58
{
59
public
:
60
63
DoubleGene
();
64
67
virtual
~DoubleGene
();
68
71
DoubleGene
(
Size
i);
72
75
virtual
GenericGene
*
mate
(
GenericGene
* gg);
76
79
virtual
void
mutate
();
80
83
std::vector<double>
getValues
();
84
87
void
setValue
(std::vector<double> v);
88
91
virtual
GenericGene
*
clone
();
92
95
void
randomize
();
96
97
private
:
98
101
std::vector<double> values_;
102
};
103
104
107
class
BALL_EXPORT
BALL_DEPRECATED
QuaternionGene
:
public
GenericGene
108
{
109
public
:
110
113
QuaternionGene
();
114
117
virtual
~QuaternionGene
();
118
121
virtual
GenericGene
*
mate
(
GenericGene
*gg);
122
125
virtual
void
mutate
();
126
129
Quaternion
getValue
();
130
133
virtual
GenericGene
*
clone
();
134
137
void
randomize
();
138
139
private
:
140
143
Quaternion
quat_;
144
};
145
}
146
147
#endif
/* BALL_DOCKING_GENETICDOCK_GENES_H */
BALL::QuaternionGene::QuaternionGene
QuaternionGene()
BALL_EXPORT
#define BALL_EXPORT
Definition:
COMMON/global.h:50
BALL::GenericGene::mutate
virtual void mutate()=0
BALL::QuaternionGene::mutate
virtual void mutate()
BALL::QuaternionGene
Definition:
genes.h:108
BALL::GenericGene::randomGeneValue
double randomGeneValue()
BALL::DoubleGene::DoubleGene
DoubleGene()
BALL::DoubleGene::setValue
void setValue(std::vector< double > v)
BALL::DoubleGene
Definition:
genes.h:58
BALL::DoubleGene::mutate
virtual void mutate()
BALL
Definition:
constants.h:13
quaternion.h
BALL::DoubleGene::mate
virtual GenericGene * mate(GenericGene *gg)
BALL_SIZE_TYPE
BALL::GenericGene::GenericGene
GenericGene()
BALL::GenericGene::randomize
virtual void randomize()=0
BALL::DoubleGene::~DoubleGene
virtual ~DoubleGene()
BALL::TQuaternion< float >
BALL::GenericGene::~GenericGene
virtual ~GenericGene()
Definition:
genes.h:28
BALL::GenericGene::clone
virtual GenericGene * clone()=0
BALL::DoubleGene::clone
virtual GenericGene * clone()
BALL::GenericGene::randomGenePosition
int randomGenePosition(int from, int to)
BALL::DoubleGene::DoubleGene
DoubleGene(Size i)
BALL::GenericGene
Definition:
genes.h:19
BALL::DoubleGene::getValues
std::vector< double > getValues()
BALL::QuaternionGene::clone
virtual GenericGene * clone()
BALL::DoubleGene::randomize
void randomize()
BALL_DEPRECATED
#define BALL_DEPRECATED
Definition:
COMMON/global.h:64
BALL::GenericGene::mate
virtual GenericGene * mate(GenericGene *gg)=0
BALL::QuaternionGene::~QuaternionGene
virtual ~QuaternionGene()
BALL::QuaternionGene::mate
virtual GenericGene * mate(GenericGene *gg)
BALL::QuaternionGene::getValue
Quaternion getValue()
BALL::QuaternionGene::randomize
void randomize()
Generated by
1.8.20