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
iConvertAreaToExtObjects.h
Go to the documentation of this file.
1 /**
2  * @file iConvertAreaToExtObjects
3  * file name: iConvertAreaToExtObjects.h
4  * @author Betti Oesterholz
5  * @date 26.01.2013
6  * @mail Oesterholz@Fib-development.org
7  *
8  * System: C++
9  *
10  * This header specifies a interface to convert an area of points to a list
11  * of external objects.
12  *
13  * Copyright (C) @c GPL3 2013 Betti Oesterholz
14  *
15  * This program is free software: you can redistribute it and/or modify
16  * it under the terms of the GNU General Public License (GPL) as
17  * published by the Free Software Foundation, either version 3 of the
18  * License, or any later version.
19  *
20  * This program is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23  * GNU Lesser General Public License for more details.
24  *
25  * This header specifies a interface to convert an area of points to a list
26  * of external objects.
27  *
28  * @patter strategy
29  */
30 /*
31 History:
32 26.01.2013 Oesterholz created
33 */
34 
35 
36 #ifndef ___I_CONVERT_AREA_TO_EXT_OBJECTS_H__
37 #define ___I_CONVERT_AREA_TO_EXT_OBJECTS_H__
38 
39 #include "version.h"
40 
41 #include "cImageSearchData.h"
42 
43 #include "cExtObject.h"
44 
45 #include <list>
46 
47 using namespace std;
48 using namespace fib;
49 
50 namespace fib{
51 
52 namespace algorithms{
53 
54 namespace nConvertToFib{
55 
56 namespace nImage{
57 
58 namespace nStructureData{
59 
60 namespace nConvertToFib{
61 
62 
64 public:
65 
66  /**
67  * destructor
68  */
70 
71  /**
72  * This method clones this strategy object.
73  *
74  * @return a clone of this strategie object
75  */
76  virtual iConvertAreaToExtObjects * clone() const = 0;
77 
78  /**
79  * This method converts this cImageStructure to external objects and
80  * returns thm.
81  * Beware: You have to check for antialising with isAntialised().
82  * (If antialised change external object identifer.)
83  *
84  * @param structurePoints the set with the points of the area to convert
85  * @param pImageSearchData a pointer to the image search data of found
86  * image parts, which will overwrite the generated external objects
87  * area parts (the external objects areas can be bigger, because some
88  * parts of them won't be seen)
89  * @param maxValue the maximum possible value in all evalued parameters
90  * of the evalued external object elements will allways have lower
91  * absolute values or the input values (parameters) of the external
92  * object elements are coordinate values of points;
93  * if 0 (standard value) is given, the maximum possible value will
94  * be evalued from the given data (absolute maximum in given data * 256)
95  * @param maxErrorPerValue the maximal error for the border points to
96  * find on one border point; every point in the area of the generated
97  * external objects will have a distance lower or equal maxErrorPerValue
98  * to a point in structurePoint or an overlappted point of pImageSearchData
99  * @return a list with the data for the external object elements
100  * from the database
101  */
102  virtual list< cExtObject * > convertToExtObjects(
103  const set<cVectorPosition> & structurePoints,
104  const cImageSearchData * pImageSearchData,
105  double maxValue = 65536.0,
106  const double maxErrorPerValue = 0.0 ) const = 0;
107 
108 };//class iConvertAreaToExtObjects
109 
110 
111 };//end namespace nConvertToFib
112 };//end namespace nStructureData
113 };//end namespace nImage
114 };//end namespace nConvertToFib
115 };//end namespace algorithms
116 };//end namespace fib
117 
118 
119 #endif //___I_CONVERT_AREA_TO_EXT_OBJECTS_H__