ICF 3.0.5.47
Technical documentation of ICF Libraries
CMultiBitmapCacheComp.h
Go to the documentation of this file.
1/********************************************************************************
2** This file is part of the ICF Framework. Copyright (C) Witold Gantzke & Kirill Lepskiy
3** ICF Framework may be used under the terms of the LGPL License v. 2.1 by the Free Software Foundation.
4********************************************************************************/
5
6#ifndef iipr_CMultiBitmapCacheComp_included
7#define iipr_CMultiBitmapCacheComp_included
8
9
10// Qt includes
11#include <QtCore/QStringList>
12
13// ICF includes
14#include <istd/TPointerVector.h>
16#include <i2d/ICalibration2d.h>
19
20
21namespace iipr
22{
23
24
32 virtual public iimg::IMultiBitmapProvider,
33 virtual public i2d::IMultiCalibrationProvider,
34 virtual public iser::ISerializable
35{
36public:
38
39 I_BEGIN_COMPONENT(CMultiBitmapCacheComp);
40 I_REGISTER_INTERFACE(iimg::IMultiBitmapProvider);
41 I_REGISTER_INTERFACE(iser::ISerializable);
42 I_ASSIGN(m_copyConstraintsAttrPtr, "CopyConstraints", "Copy bitmap constraints from provider", true, false);
43 I_END_COMPONENT;
44
46
47 // reimplemented (iimg::IMultiBitmapProvider)
48 const iprm::IOptionsList* GetBitmapListInfo() const override;
49 int GetBitmapsCount() const override;
50 const iimg::IBitmap* GetBitmap(int bitmapIndex) const override;
51
52 // reimplemented (i2d::IMultiCalibrationProvider)
54 int GetCalibrationsCount() const override;
55 const i2d::ICalibration2d* GetCalibration(int calibrationIndex) const override;
56
57 // reimplemented (istd::IChangeable)
58 bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
59
60 // reimplemented (iser::ISerializable)
61 bool Serialize(iser::IArchive& archive) override;
62
63protected:
64 // reimplemented (icomp::CComponentBase)
65 void OnComponentCreated() override;
66
67private:
68 class CBitmapConstraints: virtual public iprm::IOptionsList
69 {
70 friend class CMultiBitmapCacheComp;
71
72 public:
73 CBitmapConstraints()
74 {
75 Reset();
76 }
77
78 void Reset()
79 {
80 m_flags = 0;
81 m_count = 0;
82 m_names.clear();
83 m_descriptions.clear();
84 m_ids.clear();
85 m_enabled.clear();
86 }
87
88 virtual int GetOptionsFlags() const
89 {
90 return m_flags;
91 }
92
93 virtual int GetOptionsCount() const
94 {
95 return m_count;
96 }
97
98 virtual QString GetOptionName(int index) const
99 {
100 return m_names.at(index);
101 }
102
103 virtual QString GetOptionDescription(int index) const
104 {
105 return m_descriptions.at(index);
106 }
107
108 virtual QByteArray GetOptionId(int index) const
109 {
110 return m_ids.at(index);
111 }
112
113 virtual bool IsOptionEnabled(int index) const
114 {
115 return m_enabled.at(index);
116 }
117
118 private:
119 int m_flags;
120 int m_count;
121 QStringList m_names;
122 QStringList m_descriptions;
123 QList<QByteArray> m_ids;
124 QList<bool> m_enabled;
125 };
126
127 CBitmapConstraints m_bitmapConstraints;
128 bool m_copyConstraints;
129
132
133 I_ATTR(bool, m_copyConstraintsAttrPtr);
134};
135
136
137} // namespace iipr
138
139
140#endif // !iipr_CMultiBitmapCacheComp_included
141
142
Common interface for an object, which delivers a list of 2D-calibration objects.
Base class for component implementation.
Definition of single plane bitmap.
Definition IBitmap.h:24
Supplier allowing to access of multiple produced bitmaps.
Multi bitmap provider returning always stored bitmaps.
const iprm::IOptionsList * GetCalibrationSelectionContraints() const override
Get optional information about calibration objects in form of section contraints.
const iimg::IBitmap * GetBitmap(int bitmapIndex) const override
Get access to produced bitmap object.
bool CopyFrom(const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
const i2d::ICalibration2d * GetCalibration(int calibrationIndex) const override
Get access to transformation object with a given index, which transforms a local logical coordinate s...
const iprm::IOptionsList * GetBitmapListInfo() const override
Get optional information about bitmaps in form of section constraints.
bool Serialize(iser::IArchive &archive) override
Load or store state of this object as a archive stream.
void OnComponentCreated() override
int GetBitmapsCount() const override
Get number of produced bitmaps.
int GetCalibrationsCount() const override
Get number of available calibrations.
Constraints of selection from set of possibilities.
Represent input/output persistence archive.
Definition IArchive.h:33
Common class for all classes which objects can be archived or restored from archive.
CompatibilityMode
Control how relationship betweeen objects are interpreted.
@ CM_WITHOUT_REFS
External references are simple ignored.
Implementation of a pointer container, which controls the live cycle of the pointer object.
Contains the image processing classes.

© Witold Gantzke and Kirill Lepskiy