CMultiCameraBitmapSupplierComp.h
Go to the documentation of this file.
1 #ifndef icam_CMultiCameraBitmapSupplierComp_included
2 #define icam_CMultiCameraBitmapSupplierComp_included
3 
4 
5 // Qt includes
6 #include <QtCore/QMutex>
7 
8 // ACF includes
9 #include "istd/TDelPtr.h"
10 #include "istd/TPointerVector.h"
11 #include "i2d/ITransformation2d.h"
13 #include "iimg/IBitmap.h"
14 #include "iprm/IParamsManager.h"
16 
17 // ACF-Solutions includes
20 
21 
22 namespace icam
23 {
24 
25 
32  public iproc::TSupplierCompWrap< istd::TPointerVector<const iimg::IBitmap> >,
33  virtual public iimg::IMultiBitmapProvider,
34  virtual public i2d::ICalibrationProvider
35 {
36 public:
38 
39  I_BEGIN_COMPONENT(CMultiCameraBitmapSupplierComp);
40  I_REGISTER_INTERFACE(iimg::IMultiBitmapProvider);
41  I_REGISTER_INTERFACE(i2d::ICalibrationProvider);
42  I_ASSIGN(m_bitmapCompFact, "BitmapFactory", "Use to create bitmap object", true, "BitmapFactory");
43  I_ASSIGN(m_bitmapAcquisitionCompPtr, "BitmapAcquisition", "Bitmap acquision object for image snap", true, "BitmapAcquisition");
44  I_ASSIGN(m_logTransformCompPtr, "LogTransform", "Optional transformation of pixel to logical units", false, "LogTransform");
45  I_ASSIGN(m_cameraParamsManagerCompPtr, "CameraParamsManager", "Manager of camera parameters", true, "CameraParamsManager");
46  I_END_COMPONENT;
47 
48  // reimplemented (iimg::IMultiBitmapProvider)
49  virtual const iprm::IOptionsList* GetBitmapListInfo() const;
50  virtual int GetBitmapsCount() const;
51  virtual const iimg::IBitmap* GetBitmap(int bitmapIndex) const;
52 
53  // reimplemented (i2d::ICalibrationProvider)
54  virtual const i2d::ICalibration2d* GetCalibration() const;
55 
56 protected:
57  // reimplemented (iproc::TSupplierCompWrap)
58  virtual bool InitializeWork();
59  virtual int ProduceObject(ProductType& result) const;
60 
61 private:
65  I_FACT(iimg::IBitmap, m_bitmapCompFact);
66 
70  I_REF(IBitmapAcquisition, m_bitmapAcquisitionCompPtr);
71 
75  I_REF(i2d::ICalibration2d, m_logTransformCompPtr);
76 
80  I_REF(iprm::IParamsManager, m_cameraParamsManagerCompPtr);
81 
82  // security mutex
83  mutable QMutex m_lock;
84 };
85 
86 
87 } // namespace icam
88 
89 
90 #endif // !icam_CMultiCameraBitmapSupplierComp_included
91 
92 
iproc::TSupplierCompWrap< istd::TPointerVector< const iimg::IBitmap > > BaseClass
Bitmap acquisition processor.
virtual const iprm::IOptionsList * GetBitmapListInfo() const
virtual const iimg::IBitmap * GetBitmap(int bitmapIndex) const
virtual const i2d::ICalibration2d * GetCalibration() const
Implementation of multi-bitmap camera supplier.
virtual int ProduceObject(ProductType &result) const
virtual bool InitializeWork()
Called if the new work should be initialized.
virtual int GetBitmapsCount() const
Standard implementation of interface iproc::ISupplier with preparation for component implementation...

© 2007-2011 Witold Gantzke and Kirill Lepskiy