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
cOp2DFibFindEvenPartAreaSplineMax4BorderItrFast.h
Go to the documentation of this file.
1 /**
2  * @file cOp2DFibFindEvenPartAreaSplineMax4BorderItrFast
3  * file name: cOp2DFibFindEvenPartAreaSplineMax4BorderItrFast.h
4  * @author Betti Oesterholz
5  * @date 06.03.2011
6  * @mail webmaster@BioKom.info
7  *
8  * System: C++
9  *
10  * This Operator Evalues the areas with the same properties and combines
11  * one to an complex fib -underobject.
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  * Evalues the areas with the same properties and combines a random one to
29  * an complex fib -underobject.
30  * This is done with the help of area- and functionelements.
31  * The area borders are approximated with the help of splines with maximal
32  * 4 parameters.
33  * From the founded area some of the smales subareas will be removed.
34  * In an last step it removes from the created fib -object all underobjects
35  * which point properties are overwritten and so not necessary.
36  *
37  * This operator uses the @see nD2::createSplineItrFastBorderAreasForPoints()
38  * method to create the area border splines.
39  *
40  * @see cOperationFib
41  * @see cOperation
42  * @see cEnviroment
43  */
44 /*
45 History:
46 06.03.2011 Oesterholz created
47 */
48 
49 
50 #ifndef ___C_OP_2D_FIB_FIND_EVEN_PART_AREA_SPLINE_MAX_4_BORDER_ITR_FAST_H__
51 #define ___C_OP_2D_FIB_FIND_EVEN_PART_AREA_SPLINE_MAX_4_BORDER_ITR_FAST_H__
52 
53 #include "version.h"
54 
55 #include "cOperationFib.h"
56 
57 #include <string>
58 
59 
60 namespace enviroment{
61 namespace fib{
62 
63 
65 public:
66 
67  /**
68  * The standardconstructor for the operation.
69  * It will create the operation, but won't start it.
70  *
71  * @param operationId the identifer for the operation
72  */
74 
75  /**
76  * Destructor of the class cOp2DFibFindEvenPartAreaSplineMax4BorderItrFast.
77  */
79 
80  /**
81  * This method creats a new instance of this operator.
82  * Beware: You have to delete the instance after usage.
83  *
84  * @param operationId the identifer for the operation
85  * @return a pointer to a new instance of this operation
86  */
88 
89  /**
90  * This method runs the operation.
91  * It will wait till the operation is ended befor returning.
92  * Beware: If overwriten call setIsRunning( false ), when the operation
93  * is done.
94  *
95  * @see start()
96  * @see stop()
97  * @see setIsRunning()
98  * @return true if the operation was started
99  */
100  virtual bool run();
101 
102  /**
103  * @return the (class-)name of the operation
104  */
105  virtual std::string getName() const;
106 
107  /**
108  * This function compares two property elemente pairs.
109  * It is used for ordering property elemente pairs.
110  *
111  * @param paPropertyElement1 the first property elemente pair to compare
112  * @param paPropertyElement2 the second property elemente pair to compare
113  * @return true if the propertietype of the first pair is lower or,
114  * if the propertietyps are equal, if the second element number of the
115  * first pair is lower
116  */
117  static bool lowerPropertyElement(
118  const pair< cTypeProperty, unsignedIntFib > & paPropertyElement1,
119  const pair< cTypeProperty, unsignedIntFib > & paPropertyElement2 );
120 
121 protected:
122 
123  /**
124  * @param dValue the value for which to check, if it is 0
125  * @return true if the given value is 0, else false
126  */
127  static bool isNull( const double & dValue );
128 
129 };//end class cOp2DFibFindEvenPartAreaSplineMax4BorderItrFast
130 
131 
132 };//end namespace fib
133 };//end namespace enviroment
134 
135 #endif //___C_OP_2D_FIB_FIND_EVEN_PART_AREA_SPLINE_MAX_4_BORDER_ITR_FAST_H__
136 
137 
138 
139 
140 
141 
142