ImagingTools Core SDK
IDepthBitmap.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// ACF includes
6#include <istd/TRange.h>
7#include <iimg/IBitmap.h>
8#include <idoc/IDocumentMetaInfo.h>
9
10// ImtCore includes
11#include <imt3d/imt3d.h>
12#include <imt3d/IImage3dCalibration.h>
13
14
15namespace imt3d
16{
17
18
22class IDepthBitmap: virtual public iimg::IBitmap
23{
24public:
25 enum
26 {
27 MIT_MIN_DEPTH = idoc::IDocumentMetaInfo::MIT_USER,
28 MIT_MAX_DEPTH,
29
34
36 };
37
41 virtual istd::CRange GetDepthRange() const = 0;
42
49 virtual bool CreateDepthBitmap(
50 const istd::CRange& depthRange,
51 const istd::CIndex2d& size) = 0;
52
53 virtual const IImage3dCalibration* GetCalibration3d() const = 0;
54 virtual const iimg::IBitmap* GetReferenceBitmap() const = 0;
55
56 struct RobotPosition
57 {
58 int64_t timestampMicrosecond;
59 float x;
60 float y;
61 float z;
62 };
63
64 typedef std::vector<RobotPosition> RobotTrajectory;
65
66 virtual RobotTrajectory GetRobotTrajectory() const = 0;
67
68 struct BaseCorrection {
69 imath::TVector<4, float> translation;
70 imath::TVector<3, float> rotationDeg;
71 BaseCorrection() {
72 translation.Reset();
73 rotationDeg.Reset();
74 }
75 };
76
77 virtual BaseCorrection GetBaseCorrection() const = 0;
78};
79
80
81} // namespace imt3d
82
83
virtual bool CreateDepthBitmap(const istd::CRange &depthRange, const istd::CIndex2d &size)=0
virtual istd::CRange GetDepthRange() const =0