CColorPatternControllerComp.h
Go to the documentation of this file.
1 #ifndef iipr_CColorPatternControllerComp_included
2 #define iipr_CColorPatternControllerComp_included
3 
4 
5 // ACF includes
6 #include "iser/ISerializable.h"
7 #include "imod/TModelWrap.h"
8 #include "ilog/TLoggerCompWrap.h"
9 #include "iimg/CGeneralBitmap.h"
10 
11 // ACF-Solutions includes
12 #include "iproc/IProcessor.h"
16 #include "iimg/IBitmapProvider.h"
17 
18 
19 namespace iipr
20 {
21 
22 
24  virtual public ilog::CLoggerComponentBase,
25  virtual public IPatternController,
26  virtual public iimg::IBitmapProvider,
27  virtual public imeas::IDataSequenceProvider,
28  virtual public iser::ISerializable
29 {
30 public:
32 
33  I_BEGIN_COMPONENT(CColorPatternControllerComp);
34  I_REGISTER_INTERFACE(IPatternController);
35  I_REGISTER_INTERFACE(iimg::IBitmapProvider);
36  I_REGISTER_INTERFACE(imeas::IDataSequenceProvider);
37  I_REGISTER_INTERFACE(iser::ISerializable);
38  I_ASSIGN(m_patternBitmapProviderCompPtr, "PatternBitmapProvider", "Provider of the bitmap pattern data used for teaching", true, "PatternBitmapProvider");
39  I_ASSIGN(m_bitmapRegionCompPtr, "TeachingRegion", "Bitmap region used for teaching", true, "TeachingRegion");
40  I_ASSIGN(m_histogramProgressorCompPtr, "HistogramProcessor", "Processor used for histogram calculation", true, "HistogramProcessor");
41  I_ASSIGN(m_paramsSetCompPtr, "ProcessorParams", "Params set used by histogram processor", true, "ProcessorParams");
42  I_END_COMPONENT;
43 
44  // reimplemented (IPatternController)
45  virtual bool TeachPattern(const istd::IChangeable* sourceObjectPtr = NULL);
46  virtual void ResetPattern();
47  virtual bool IsPatternValid() const;
49 
50  // reimplemented (iimg::IBitmapProvider)
51  virtual const iimg::IBitmap* GetBitmap() const;
52 
53  // reimplemented (imeas::IDataSequenceProvider)
54  virtual const imeas::IDataSequence* GetDataSequence() const;
55 
56  // reimplemented (iser::ISerializable)
57  virtual bool Serialize(iser::IArchive & archive);
58 
59  // reimplemented (istd::IChangeable)
60  virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS);
61 
62 private:
65 
66  I_REF(iimg::IBitmapProvider, m_patternBitmapProviderCompPtr);
67  I_REF(i2d::IObject2d, m_bitmapRegionCompPtr);
68  I_REF(iproc::IProcessor, m_histogramProgressorCompPtr);
69  I_REF(iprm::IParamsSet, m_paramsSetCompPtr);
70 };
71 
72 
73 } // namespace iipr
74 
75 
76 #endif // !iipr_CColorPatternControllerComp_included
77 
78 
virtual bool Serialize(iser::IArchive &archive)
virtual void ResetPattern()
Clear all pattern features.
Simple data sequence provider.
virtual bool IsPatternValid() const
Get true of the pattern is valid.
virtual bool TeachPattern(const istd::IChangeable *sourceObjectPtr=NULL)
Do teaching of the pattern.
virtual const imeas::IDataSequence * GetDataSequence() const
Get access to produced line projection object.
virtual bool CopyFrom(const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
const iser::ISerializable * GetPatternObject() const
Get pattern object.
virtual const iimg::IBitmap * GetBitmap() const
Interface for all synchrone and assynchrone processors with "push data" model.
Definition: IProcessor.h:24
General definition of sequence contains samples in regular time grid.
Definition: IDataSequence.h:20

© 2007-2011 Witold Gantzke and Kirill Lepskiy