The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
cFibObjectFitness.h
Go to the documentation of this file.
1 /**
2  * @file cFibObjectFitness
3  * file name: cFibObjectFitness.h
4  * @author Betti Oesterholz
5  * @date 28.02.2010
6  * @mail webmaster@BioKom.info
7  *
8  * System: C++
9  *
10  * This header specifies the abstract basisclass of enviroment fib -object
11  * fitnesses.
12  * Copyright (C) @c GPL3 2010 Betti Oesterholz
13  *
14  * This program is free software: you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License (GPL) as
16  * published by the Free Software Foundation, either version 3 of the
17  * License, or any later version.
18  *
19  * This program is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22  * GNU Lesser General Public License for more details.
23  *
24  * You should have received a copy of the GNU General Public License
25  * along with this program. If not, see <http://www.gnu.org/licenses/>.
26  *
27  *
28  * This header specifies the abstract basisclass of enviroment fib -object
29  * fitnesses. This represents the fitness of a fib -object which is a
30  * individuum in fib genetic algorithm (enviroment).
31  * The better (higher) the fitness the better the fib -object, the more likly
32  * it should live and children should be created from it.
33  *
34  */
35 /*
36 History:
37 28.02.2010 Oesterholz created
38 */
39 
40 #ifndef ___C_FIB_OBJECT_FITNESS_H__
41 #define ___C_FIB_OBJECT_FITNESS_H__
42 
43 #include "version.h"
44 
45 #include "cObjectFitness.h"
46 
47 #include <string>
48 
49 
50 using std::string;
51 
52 namespace enviroment{
53 namespace fib{
54 
55 //cyclic dependencies
56 class cFibObjectFitnessAlgorithm;
57 
58 
60 
62 
63 protected:
64 
65  /**
66  * constructor
67  *
68  * @param dInFittness a value for the fitness of the object;
69  * the higher this value is the better the fitness
70  * @param pInFibObjectFitnessAlgorithm the algorithm with which this
71  * fitness was created; if NULL no algorithm had created this object;
72  * Beware: this object won't be copied, if you delete it
73  * getFitnessAlgorithm() will return an invalid pointer
74  */
75  cFibObjectFitness( double dInFittness,
76  const cFibObjectFitnessAlgorithm * pInFibObjectFitnessAlgorithm=NULL );
77 
78 public:
79 
80  /**
81  * copyconstructor
82  *
83  * @param objectFitness the cObjectFitness object to copy
84  */
85  cFibObjectFitness( const cFibObjectFitness & objectFitness );
86 
87  /**
88  * Destructor of the class cFibObjectFitness.
89  */
90  virtual ~cFibObjectFitness();
91 
92  /**
93  * @return the name of this class
94  */
95  virtual string getClassName() const;
96 
97  /**
98  * @return the algorithm with which this fitness was created;
99  * if NULL no algorithm had created this object
100  */
102 
103  /**
104  * This Method clones this object.
105  *
106  * @return a clone of this object
107  */
108  virtual cFibObjectFitness * clone() const;
109 
110  /**
111  * Comparisson on equal operator for two fitness objects.
112  *
113  * @param fitness the fitnessobject to compare this fitnessobject to
114  * @return true if the fitness this object represents is equal to the
115  * fitness the given object fitness represents
116  */
117  virtual bool operator==( const cFibObjectFitness &fitness ) const;
118 
119 
120 
121 
122 };//end class cFibObjectFitness
123 
124 };//end namespace fib
125 };//end namespace enviroment
126 
127 #endif //___C_FIB_OBJECT_FITNESS_H__
128 
129 
130 
131 
132 
133 
134