CBitmapJoinerSupplierComp.h
Go to the documentation of this file.
1 #ifndef iipr_CBitmapJoinerSupplierComp_included
2 #define iipr_CBitmapJoinerSupplierComp_included
3 
4 
5 // ACF includes
7 #include "istd/TPointerVector.h"
8 
9 // ACF-Solutions includes
10 #include "iproc/IProcessor.h"
11 #include "iproc/ISupplier.h"
13 #include "iimg/IBitmapProvider.h"
15 
16 
17 namespace iipr
18 {
19 
24  public iproc::TSupplierCompWrap< QPair<i2d::ITransformation2d*, istd::TDelPtr<iimg::IBitmap> > >,
25  virtual public iimg::IBitmapProvider
26 {
27 public:
29 
30  I_BEGIN_COMPONENT(CBitmapJoinerSupplierComp);
31  I_REGISTER_INTERFACE(iimg::IBitmapProvider);
32  I_ASSIGN(m_bitmapCompFact, "BitmapFactory", "Use to create bitmap object", true, "BitmapFactory");
33  I_ASSIGN(m_bitmapsProviderCompPtr, "BitmapListSupplier", "Provide list of the input images", true, "BitmapListSupplier");
34  I_ASSIGN_TO(m_bitmapsSupplierCompPtr, m_bitmapsProviderCompPtr, false);
35  I_ASSIGN_TO(m_bitmapsProviderModelCompPtr, m_bitmapsProviderCompPtr, false);
36  I_ASSIGN(m_useHorizontalJoinAttrPtr, "JoinHorizontal", "Join the image in horizontal direction", true, false);
37  I_END_COMPONENT;
38 
39 protected:
40  bool EnsureBitmapCreated(ProductType& result) const;
41 
42  // reimplemented (iimg::IBitmapProvider)
43  virtual const iimg::IBitmap* GetBitmap() const;
44  virtual const i2d::ITransformation2d* GetLogTransform() const;
45 
46  // reimplemented (iproc::TSupplierCompWrap)
47  virtual int ProduceObject(ProductType& result) const;
48 
49  // reimplemented (icomp::CComponentBase)
50  virtual void OnComponentCreated();
51 
52 private:
53  I_FACT(iimg::IBitmap, m_bitmapCompFact);
54 
55  I_REF(iimg::IMultiBitmapProvider, m_bitmapsProviderCompPtr);
56  I_REF(iproc::ISupplier, m_bitmapsSupplierCompPtr);
57  I_REF(imod::IModel, m_bitmapsProviderModelCompPtr);
58 
59  I_ATTR(bool, m_useHorizontalJoinAttrPtr);
60 };
61 
62 
63 } // namespace iipr
64 
65 
66 #endif // !iipr_CBitmapJoinerSupplierComp_included
67 
68 
virtual const i2d::ITransformation2d * GetLogTransform() const
QPair< i2d::ITransformation2d *, istd::TDelPtr< iimg::IBitmap > > ProductType
iproc::TSupplierCompWrap< QPair< i2d::ITransformation2d *, istd::TDelPtr< iimg::IBitmap > > > BaseClass
virtual const iimg::IBitmap * GetBitmap() const
virtual int ProduceObject(ProductType &result) const
Produce single object.
Supplier of bitmap's vector built on bitmap.
Base interface for suppliers providing synchrone processing of single object with "pull data" model...
Definition: ISupplier.h:22
I_ASSIGN_TO(m_bitmapsSupplierCompPtr, m_bitmapsProviderCompPtr, false)
Standard implementation of interface iproc::ISupplier with preparation for component implementation...
bool EnsureBitmapCreated(ProductType &result) const

© 2007-2011 Witold Gantzke and Kirill Lepskiy