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
cImageStructureConvertToTiles.h
Go to the documentation of this file.
1 /**
2  * @file cImageStructureConvertToTiles
3  * file name: cImageStructureConvertToTiles.h
4  * @author Betti Oesterholz
5  * @date 29.11.2012
6  * @mail Oesterholz@Fib-development.org
7  *
8  * System: C++
9  *
10  * This header specifies a class to convert the data of a area of points
11  * in an image to tiles.
12  *
13  * Copyright (C) @c GPL3 2012 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 class to convert the data of a area of points
26  * in an image to tiles.
27  *
28  * @patter strategy
29  */
30 /*
31 History:
32 29.11.2012 Oesterholz created
33 */
34 
35 
36 #ifndef ___C_IMAGE_STRUCTURE_CONVERT_TO_TILES_H__
37 #define ___C_IMAGE_STRUCTURE_CONVERT_TO_TILES_H__
38 
39 #include "version.h"
40 
42 
43 #include "cImageSearchData.h"
44 
45 #include "cExtObject.h"
46 
47 #include <list>
48 
49 using namespace std;
50 using namespace fib;
51 
52 namespace fib{
53 
54 namespace algorithms{
55 
56 namespace nConvertToFib{
57 
58 namespace nImage{
59 
60 namespace nStructureData{
61 
62 namespace nConvertToFib{
63 
64 
66 public:
67 
68  /**
69  * standard constructor
70  */
72 
73  /**
74  * destructor
75  */
77 
78  /**
79  * This method clones this strategy object.
80  *
81  * @return a clone of this strategie object
82  */
83  virtual cImageStructureConvertToTiles * clone() const;
84 
85  /**
86  * This method converts this cImageStructure to tiles and return ther data.
87  * Beware: You have to check for antialising with isAntialised().
88  * (If antialised add to tile external object identifer -10 .)
89  *
90  * @param structurePoints the set with the point of the area to convert
91  * @param pImageSearchData a pointer to the image search data of found
92  * image parts, which will overwrite tile parts
93  * (the tiles can be bigger, because some parts of them won't be seen)
94  * @param maxValue the maximum possible value in all parameters,
95  * the evalued spline/function elements will allways have value
96  * parameters vecFactors[i] with
97  * -1 * maxValue <= vecFactors[i] <= maxValue for 0 <= i < vecFactors.size();
98  * if 0 (standard value) is given, the maximum possible value will
99  * be evalued from the given data (absolute maximum in given data * 256)
100  * @param maxErrorPerValue the maximal error for the border polynoms to
101  * find on one border point; the error on the interpolated polynom
102  * for every border point in vecData will be equal or less than
103  * maxErrorPerValue
104  * @return a list with the data for the tiles as external object elements
105  * from the database with the identifier -70 or -71
106  */
107  virtual list< cExtObject * > convertToExtObjects(
108  const set<cVectorPosition> & structurePoints,
109  const cImageSearchData * pImageSearchData,
110  double maxValue = 65536.0,
111  const double maxErrorPerValue = 0.0 ) const;
112 
113 };//class cImageStructureConvertToTiles
114 
115 
116 };//end namespace nConvertToFib
117 };//end namespace nStructureData
118 };//end namespace nImage
119 };//end namespace nConvertToFib
120 };//end namespace algorithms
121 };//end namespace fib
122 
123 
124 #endif //___C_IMAGE_STRUCTURE_CONVERT_TO_TILES_H__