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
iDistFunction.h
Go to the documentation of this file.
1 /**
2  * @class iDistFunction
3  * file name: iDistFunction.h
4  * @author Betti Oesterholz
5  * @date 17.03.2011
6  * @mail webmaster@BioKom.info
7  *
8  * System: C++
9  *
10  * This file contains the interface for evaluing a distance of two data points.
11  * Copyright (C) @c LGPL3 2011 Betti Oesterholz
12  *
13  * This program is free software: you can redistribute it and/or modify
14  * it under the terms of the GNU Lesser General Public License (LGPL) as
15  * published by the Free Software Foundation, either version 3 of the
16  * License, or any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU Lesser General Public License for more details.
22  *
23  * You should have received a copy of the GNU Lesser General Public License
24  * along with this program. If not, see <http://www.gnu.org/licenses/>.
25  *
26  *
27  * This file contains the interface for evaluing a distance of two data points.
28  * Every class which implements this interface have to implement the operator().
29  * This operator should evalue the distance for two data points.
30  */
31 /*
32 History:
33 17.03.2011 Oesterholz created
34 */
35 
36 #ifndef ___I_DIST_FUNCTION__
37 #define ___I_DIST_FUNCTION__
38 
39 #include "version.h"
40 
41 
42 namespace fib{
43 
44 namespace algorithms{
45 
46 namespace nCluster{
47 
48 template< class tDataPoint >
50 public:
51 
52  /**
53  * pure virtual destructor
54  */
55  virtual ~iDistFunction(){
56  //nothing to do
57  }
58 
59  /**
60  * This function should evalue the distance of two data points.
61  *
62  * @param dataPoint1 the first data point to evalue the distance to
63  * @param dataPoint2 the second data point to evalue the distance from
64  * @return a value for the distance betwean dataPoint1 and dataPoint2
65  */
66  virtual double operator() ( const tDataPoint & dataPoint1,
67  const tDataPoint & dataPoint2 ) const = 0;
68 
69 };//class iDistFunction
70 
71 
72 };//end namespace nCluster
73 };//end namespace algorithms
74 };//end namespace fib
75 
76 
77 #endif //___I_DIST_FUNCTION__
78 
79 
80 
81