The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
cEvaluePositionListMemLimit.h
Go to the documentation of this file.
1
/**
2
* @class cEvaluePositionListMemLimit
3
* file name: cEvaluePositionListMemLimit.h
4
* @author Betti Oesterholz
5
* @date 30.04.2010
6
* @mail webmaster@BioKom.info
7
*
8
* System: C++
9
*
10
* This file contains the class for evaluing fib -objects and storing
11
* the evalued data into a list.
12
* Copyright (C) @c LGPL3 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 Lesser General Public License (LGPL) 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 Lesser General Public License
25
* along with this program. If not, see <http://www.gnu.org/licenses/>.
26
*
27
*
28
* This file contains the class for evaluing fib -objects and storing
29
* the evalued data into a list (@see liEvaluedPositionData).
30
* When the fib -object is evalued this method is called every time a
31
* pointelement is reached. The parameter for the method are the
32
* positionsvector of the point and properties of the point.
33
* This class sorts and reduces the evalued positionslist every
34
* @see ulMaximalPointsAddToList calls of the method evaluePosition().
35
* Allso no position outside the dimension bounderies will be added.
36
*/
37
/*
38
History:
39
30.04.2010 Oesterholz created
40
*/
41
42
#ifndef ___C_EVALUE_POSITION_LIST_MEM_LIMIT__
43
#define ___C_EVALUE_POSITION_LIST_MEM_LIMIT__
44
45
#include "version.h"
46
47
#include "
cEvaluePositionList.h
"
48
49
#include "
cVectorPosition.h
"
50
#include "
cVectorProperty.h
"
51
#include "
cDomainVectorBasis.h
"
52
53
54
#include <list>
55
56
57
using
std::list;
58
59
namespace
fib{
60
61
class
cEvaluePositionListMemLimit
:
public
cEvaluePositionList
{
62
public
:
63
64
65
/**
66
* The number of positions, which should be added to the positionslist,
67
* befor it is sorted and reduced.
68
* If this bounderie is reached, the list with the positions and ther
69
* properties will be sorted.
70
*
71
* @see ulNewPositionsInserted
72
* @see sortPositionsData()
73
*/
74
unsigned
long
long
ulMaximalPointsAddToList
;
75
76
/**
77
* The number of points inserted after the last @see sortPositionsData()
78
* call because of @see ulMaximalPointsAddToList .
79
*
80
* @see ulMaximalPointsAddToList
81
*/
82
unsigned
long
long
ulNewPositionsInserted
;
83
84
/**
85
* The dimension domain for the positions.
86
* No position outside this domain will be added.
87
* If NULL no check will be executed.
88
*/
89
cDomainVectorBasis
*
pVecDomainDimension
;
90
91
/**
92
* If true points without properties will be deleted when the
93
* positionslist is reduced, else (if false) points without properties
94
* won't be deleted.
95
*/
96
bool
bDeleteEmptyPoints
;
97
98
/**
99
* standardconstructor
100
*
101
* @param ulInMaximalPointsAddToList The number of positions, which
102
* should be added to the positionslist, befor it is sorted and
103
* reduced. (@see ulMaximalPointsAddToList)
104
* @param pInVecDomainDimension The dimension domain for the positions.
105
* No position outside this domain will be added.
106
* If NULL no check will be executed. (@see pVecDomainDimension)
107
* @param bInDeleteEmptyPoints if true points without properties will be
108
* deleted when the positionslist is reduced, else (if false) points
109
* without properties won't be deleted (@see bDeleteEmptyPoints)
110
*/
111
cEvaluePositionListMemLimit
(
unsigned
long
long
ulInMaximalPointsAddToList,
112
const
cDomainVectorBasis
* pInVecDomainDimension = NULL,
113
bool
bInDeleteEmptyPoints=
true
);
114
115
/**
116
* copyconstructor
117
*
118
* @param evaluePositionListMemLimit the cEvaluePositionListMemLimit
119
* object to copy
120
*/
121
cEvaluePositionListMemLimit
(
const
cEvaluePositionListMemLimit
& evaluePositionListMemLimit );
122
123
/**
124
* destructor
125
*/
126
virtual
~cEvaluePositionListMemLimit
();
127
128
/**
129
* The method with wich the evalued points with ther properties are
130
* inserted. Everytime a point (to evalue) is reached in the
131
* evaluation, this method is called with the position and the
132
* properties of the point and stores the copies of this data
133
* to the end of the list @see liEvaluedPositionData .
134
*
135
* @see liEvaluedPositionData
136
* @param vPosition the position of the point, which is evalued
137
* @param vProperties a list of the properties of the point
138
*/
139
virtual
bool
evaluePosition
(
const
cVectorPosition
& vPosition,
140
const
list<cVectorProperty> & vProperties );
141
142
143
};
//class cEvaluePositionListMemLimit
144
145
};
146
147
#endif
148
149
fib
incl
cEvaluePositionListMemLimit.h
Generated on Thu Feb 14 2013 14:06:56 for The Fib multimedia system by
1.8.1