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
cPositionData.h
Go to the documentation of this file.
1 /**
2  * @class cPositionData
3  * file name: cPositionData.h
4  * @author Betti Oesterholz
5  * @date 08.12.2010
6  * @mail webmaster@BioKom.info
7  *
8  * System: C++
9  *
10  * This class contains the data for one position.
11  * Helperclass for the @see cEvalueUnderObjects class.
12  *
13  * Copyright (C) @c LGPL3 2010 Betti Oesterholz
14  *
15  * This program is free software: you can redistribute it and/or modify
16  * it under the terms of the GNU Lesser General Public License (LGPL) 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  * You should have received a copy of the GNU Lesser General Public License
26  * along with this program. If not, see <http://www.gnu.org/licenses/>.
27  *
28  *
29  * This class contains the data for one position.
30  * Helperclass for the @see cEvalueUnderObjects class.
31  *
32  */
33 /*
34 History:
35 08.12.2010 Oesterholz created
36 */
37 
38 
39 #ifndef ___N_NEEDED_UNDEROBJECTS_C_POSITION_DATA_H__
40 #define ___N_NEEDED_UNDEROBJECTS_C_POSITION_DATA_H__
41 
42 
43 #include "version.h"
44 
45 #include "cPositionPointData.h"
46 
47 #include "cVectorProperty.h"
48 
49 #include <list>
50 
51 using std::list;
52 
53 
54 namespace fib{
55 namespace algorithms{
56 namespace nEvalueFibObject{
57 namespace nNeededUnderobjects{
58 
59 
61 public:
62 
63  /**
64  * A list with the evalued properties.
65  * Every overwritten property except the last can be deleted.
66  */
67  list< cPositionPointData > liData;
68 
69 
70  /**
71  * This method marks not needed properties .
72  * Every overwritten property except the last can be deleted.
73  *
74  * @return true if some property was marked as not needed, else false
75  */
76  bool markNotNeeded();
77 
78  /**
79  * This method marks properties as not needed, which are not
80  * needed because the background is the same and can replace them.
81  *
82  * @param liBackgroundProperties the background properties
83  * @return true if some property was marked as not needed, else false
84  */
86  const list< fib::cVectorProperty > & liBackgroundProperties );
87 
88  /**
89  * This method checks if the given property is needed for this position.
90  * Attention: Call @see markNotNeeded() and
91  * @see markNotNeededWithBackground() befor using this method.
92  *
93  * @param pProperty the property data for which to check, if it is needed
94  * @return true if the given property is needed, else false
95  */
96  bool isNeededProperty( const cPropertyData * pProperty ) const;
97 
98  /**
99  * This method checks if the given point is needed for this position.
100  * Attention: Call @see markNotNeeded() befor using this method.
101  *
102  * @param pPoint the point data for which to check, if it is needed
103  * @return true if the given point is needed, else false
104  */
105  bool isNeededPoint( const cPointData * pPoint );
106 
107  /**
108  * This method returns all properties of this position.
109  *
110  * @return a list with all property vectors of this position
111  */
112  list< fib::cVectorProperty > getAllProperties() const;
113 
114 };//class cPositionData
115 
116 
117 
118 }//end namespace nNeededUnderobjects
119 }//end namespace nEvalueFibObject
120 }//end namespace algorithms
121 }//end namespace fib
122 
123 
124 
125 #endif //___N_NEEDED_UNDEROBJECTS_C_POSITION_DATA_H__