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
nReduceFibObject.h
Go to the documentation of this file.
1 /**
2  * @file nReduceFibObject
3  * file name: nReduceFibObject.h
4  * @author Betti Oesterholz
5  * @date 14.06.2010
6  * @mail webmaster@BioKom.info
7  *
8  * System: C++
9  *
10  * This header specifies functions for reducing fib -objects.
11  * Copyright (C) @c GPL3 2010 Betti Oesterholz
12  *
13  * This program is free software: you can redistribute it and/or modify
14  * it under the terms of the GNU General Public License (GPL) 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 General Public License
24  * along with this program. If not, see <http://www.gnu.org/licenses/>.
25  *
26  *
27  * This header specifies functions for reducing fib -objects.
28  * This is done be removing Fib -elements or / and fib -underobjects from
29  * fib objects.
30  */
31 /*
32 History:
33 14.06.2010 Oesterholz created
34 20.11.2010 Oesterholz removeOverwrittenProperies() added
35 */
36 
37 #ifndef ___N_REDUCE_FIB_OBJECT_H__
38 #define ___N_REDUCE_FIB_OBJECT_H__
39 
40 #include "version.h"
41 
42 #include "cFibElement.h"
43 
44 
45 namespace fib{
46 
47 namespace algorithms{
48 
49 namespace nReduceFibObject{
50 
51  /**
52  * This function removes from the given fib -object all underobjects
53  * which point properties are overwritten and so not necessary.
54  *
55  * @param fibElementToReduce a reference to the fib -object to reduce;
56  * this fib -object will be changed
57  * @return if the given fib -object was reduced true, else (the
58  * fib -object wasn't changed) false
59  */
60  bool removeOverwrittenUnderObjects( cFibElement & fibElementToReduce );
61 
62 
63  /**
64  * This function removes from the given fib -object all underobjects
65  * which point properties are overwritten or overwrite the background but
66  * are equal to it, ther are not necessary. Than it removes all all
67  * properties, which are not are not necessary
68  *
69  * @param fibElementToReduce a reference to the fib -object to reduce;
70  * this fib -object will be changed
71  * @return if the given fib -object was reduced true, else (the
72  * fib -object wasn't changed) false
73  */
74  bool removeOverwrittenProperties( cFibElement & fibElementToReduce );
75 
76 };//end namespace nReduceFibObject
77 };//end namespace algorithms
78 };//end namespace fib
79 
80 //include template implementation
81 #include "../src/nReduceFibObject.cpp"
82 
83 
84 #endif //___N_REDUCE_FIB_OBJECT_H__