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
iImageData.h
Go to the documentation of this file.
1 /**
2  * @class iImageData
3  * file name: iImageData.h
4  * @author Betti Oesterholz
5  * @date 10.04.2012
6  * @mail webmaster@BioKom.info
7  *
8  * System: C++
9  *
10  * This file contains the interface for image data classes.
11  * Copyright (C) @c LGPL3 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 Lesser General Public License (LGPL) 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 Lesser General Public License
24  * along with this program. If not, see <http://www.gnu.org/licenses/>.
25  *
26  *
27  * This file contains the interface for image data classes.
28  * Image data classes are for storing image data.
29  */
30 /*
31 History:
32 10.04.2012 Oesterholz created
33 */
34 
35 #ifndef ___I_IMAGE_DATA__
36 #define ___I_IMAGE_DATA__
37 
38 #include "version.h"
39 
40 #include "cVectorPosition.h"
41 #include "cVectorProperty.h"
42 #include "cDomains.h"
43 
44 
45 #include <list>
46 
47 
48 using std::list;
49 
50 namespace fib{
51 
52 class iImageData{
53 public:
54 
55  /**
56  * destructor
57  */
58  virtual ~iImageData(){};
59 
60  /**
61  * This method returns the domains for the color and transparency properties.
62  *
63  * @return the domains for the color and transparency properties
64  */
65  virtual cDomains getPropertyDomains() const = 0;
66 
67  /**
68  * This method returns the domains for the positions (dimension domain).
69  *
70  * @return the domains for the positions (dimension domain)
71  */
72  virtual cDomains getPositionDomain() const = 0;
73 
74  /**
75  * With this method the properties for a points are set.
76  *
77  * @param vPosition the position of the point to set
78  * @param vProperties a list of the properties of the point
79  * @return true if the properties for the point cold be set, else false
80  */
81  virtual bool setPoint( const cVectorPosition & vPosition,
82  const list<cVectorProperty> & vProperties ) = 0;
83 
84  /**
85  * With this method the properties for given points are returned.
86  *
87  * @param vPosition the position of the point, for which the properties
88  * should be returned
89  * @return a list of the properties of the point
90  */
91  virtual list<cVectorProperty> getPointProperties(
92  const cVectorPosition & vPosition ) const = 0;
93 
94  /**
95  * This method clears the data for the image.
96  */
97  virtual void clear() = 0;
98 
99 };//class iImageData
100 
101 };
102 
103 #endif
104 
105