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
cPositionPointData.h
Go to the documentation of this file.
1 /**
2  * @class cPositionPointData
3  * file name: cPositionPointData.h
4  * @author Betti Oesterholz
5  * @date 08.12.2010
6  * @mail webmaster@BioKom.info
7  *
8  * System: C++
9  *
10  * This class stores the data for a fib-pointelement on an specific
11  * position.
12  * Helperclass for the @see cPositionData class.
13  *
14  * Copyright (C) @c LGPL3 2010 Betti Oesterholz
15  *
16  * This program is free software: you can redistribute it and/or modify
17  * it under the terms of the GNU Lesser General Public License (LGPL) as
18  * published by the Free Software Foundation, either version 3 of the
19  * License, or any later version.
20  *
21  * This program is distributed in the hope that it will be useful,
22  * but WITHOUT ANY WARRANTY; without even the implied warranty of
23  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24  * GNU Lesser General Public License for more details.
25  *
26  * You should have received a copy of the GNU Lesser General Public License
27  * along with this program. If not, see <http://www.gnu.org/licenses/>.
28  *
29  *
30  * This class stores the data for a fib-pointelement on an specific
31  * position.
32  *
33  */
34 /*
35 History:
36 08.12.2010 Oesterholz created
37 */
38 
39 
40 #ifndef ___N_NEEDED_UNDEROBJECTS_C_POSITION_POINT_DATA_H__
41 #define ___N_NEEDED_UNDEROBJECTS_C_POSITION_POINT_DATA_H__
42 
43 
44 #include "version.h"
45 
46 #include "cPositionPropertieData.h"
47 
48 #include <list>
49 
50 using namespace std;
51 
52 
53 namespace fib{
54 namespace algorithms{
55 namespace nEvalueFibObject{
56 namespace nNeededUnderobjects{
57 
58 //cyclic dependencie
59 class cPointData;
60 
61 
63 public:
64 
65  /**
66  * The data for the pointelement.
67  */
69 
70  /**
71  * If true this position point is needed, else not.
72  * False, if non of it's properties is needed.
73  */
75 
76  /**
77  * The properties for this point position data.
78  */
79  list< cPositionPropertieData > liProperties;
80 
81 
82  /**
83  * Standardconstructor
84  */
86 
87  /**
88  * This method marks the properties as not needed, which are not
89  * needed because the background is the same and can replace them.
90  *
91  * @param liRemainingBackgroundProperties the remaining background properties,
92  * all properties, wich are overwritten by a different property
93  * on this position point are removed
94  * @return true if some property was marked as not needed else false
95  */
96  bool markNotNeededWithBackground(
97  list< cVectorProperty > & liRemainingBackgroundProperties );
98 
99  /**
100  * This method checks if the given property is needed for this point position.
101  * Attention: Call @see markNotNeeded() and
102  * @see markNotNeededWithBackground() befor using this method.
103  *
104  * @param pProperty the property data for which to check, if it is needed
105  * @return true if the given property is needed for this position, else false
106  */
107  bool isNeededProperty( const cPropertyData * pProperty ) const;
108 
109  /**
110  * This method checks if the given property is needed for this point position.
111  * Attention: Call @see markNotNeeded() and
112  * @see markNotNeededWithBackground() befor using this method.
113  *
114  * @param pInPoint the point data for which to check, if it is needed
115  * @return true if the given point is needed for this position, else false
116  */
117  bool isNeededPoint( const cPointData * pInPoint );
118 
119 };//end class cPositionPointData
120 
121 
122 
123 }//end namespace nNeededUnderobjects
124 }//end namespace nEvalueFibObject
125 }//end namespace algorithms
126 }//end namespace fib
127 
128 
129 
130 #endif //___N_NEEDED_UNDEROBJECTS_C_POSITION_POINT_DATA_H__