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