ImagingTools Core SDK
CImage3dCalibration.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// STL includes
6#include <vector>
7
8// ACF includes
9#include <istd/TRange.h>
10#include <iimg/CGeneralBitmap.h>
11
12// ImtCore includes
13#include <imt3d/IImage3dCalibration.h>
14
15
16namespace imt3d
17{
18
19
23class CImage3dCalibration: virtual public IImage3dCalibration, virtual public iser::ISerializable
24{
25public:
27 CImage3dCalibration(const iimg::CGeneralBitmap& xyzBitmap);
28
29 // reimplemented (imt3d::IImage3dCalibration)
30 virtual bool Transform(IPointsBasedObject::PointXyz32& result, const i2d::CVector2d& pixelPosition) const override;
31
32 // reimplemented (istd::IChangeable)
33 virtual bool CopyFrom(const istd::IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
34 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
35 virtual bool IsEqual(const IChangeable& object) const override;
36
37 // reimplemented (istd::ISerializable)
38 virtual bool Serialize(iser::IArchive& archive) override;
39
40 const iimg::CGeneralBitmap& GetXZYBitmap() const { return m_xyzBitmap; }
41
42private:
43 iimg::CGeneralBitmap m_xyzBitmap;
44};
45
46
47} // namespace imt3d
48
49