ifm3d
buffer_id.h
1 /*
2  * Copyright 2025-present ifm electronic, gmbh
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 #ifndef IFM3D_FG_Buffer_ID_H
6 #define IFM3D_FG_Buffer_ID_H
7 
8 #include <cstdint>
9 #include <ifm3d/device/device.h>
10 
11 namespace ifm3d
12 {
17  // NOLINTNEXTLINE(readability-identifier-naming,readability-enum-initial-value)
18  enum class BufferId : uint64_t
19  {
20  // clang-format off
21 
25  RADIAL_DISTANCE_IMAGE = static_cast<uint64_t>(ifm3d::ImageChunk::RADIAL_DISTANCE_IMAGE),
26 
30  NORM_AMPLITUDE_IMAGE = static_cast<uint64_t>(ifm3d::ImageChunk::NORM_AMPLITUDE_IMAGE),
31 
35  AMPLITUDE_IMAGE = static_cast<uint64_t>(ifm3d::ImageChunk::AMPLITUDE_IMAGE),
36 
40  GRAYSCALE_IMAGE = static_cast<uint64_t>(ifm3d::ImageChunk::GRAYSCALE_IMAGE),
41 
45  RADIAL_DISTANCE_NOISE = static_cast<uint64_t>(ifm3d::ImageChunk::RADIAL_DISTANCE_NOISE),
46 
50  REFLECTIVITY = static_cast<uint64_t>(ifm3d::ImageChunk::REFLECTIVITY),
51 
55  CARTESIAN_X_COMPONENT = static_cast<uint64_t>(ifm3d::ImageChunk::CARTESIAN_X_COMPONENT),
56 
60  CARTESIAN_Y_COMPONENT = static_cast<uint64_t>(ifm3d::ImageChunk::CARTESIAN_Y_COMPONENT),
61 
65  CARTESIAN_Z_COMPONENT = static_cast<uint64_t>(ifm3d::ImageChunk::CARTESIAN_Z_COMPONENT),
66 
70  CARTESIAN_ALL = static_cast<uint64_t>(ifm3d::ImageChunk::CARTESIAN_ALL),
71 
75  UNIT_VECTOR_ALL = static_cast<uint64_t>(ifm3d::ImageChunk::UNIT_VECTOR_ALL),
76 
80  MONOCHROM_2D_12BIT = static_cast<uint64_t>(ifm3d::ImageChunk::MONOCHROM_2D_12BIT),
81 
85  MONOCHROM_2D = static_cast<uint64_t>(ifm3d::ImageChunk::MONOCHROM_2D),
86 
90  JPEG_IMAGE = static_cast<uint64_t>(ifm3d::ImageChunk::JPEG_IMAGE),
91 
95  CONFIDENCE_IMAGE = static_cast<uint64_t>(ifm3d::ImageChunk::CONFIDENCE_IMAGE),
96 
100  DIAGNOSTIC = static_cast<uint64_t>(ifm3d::ImageChunk::DIAGNOSTIC),
101 
105  JSON_DIAGNOSTIC = static_cast<uint64_t>(ifm3d::ImageChunk::JSON_DIAGNOSTIC),
106 
110  EXTRINSIC_CALIB = static_cast<uint64_t>(ifm3d::ImageChunk::EXTRINSIC_CALIB),
111 
115  INTRINSIC_CALIB = static_cast<uint64_t>(ifm3d::ImageChunk::INTRINSIC_CALIB),
116 
120  INVERSE_INTRINSIC_CALIBRATION = static_cast<uint64_t>(ifm3d::ImageChunk::INVERSE_INTRINSIC_CALIBRATION),
121 
122 
123  O3R_DISTANCE_IMAGE_INFO [[deprecated]] = static_cast<uint64_t>(ifm3d::ImageChunk::TOF_INFO),
124  O3R_RGB_IMAGE_INFO [[deprecated]] = static_cast<uint64_t>(ifm3d::ImageChunk::RGB_INFO),
125 
129  TOF_INFO = static_cast<uint64_t>(ifm3d::ImageChunk::TOF_INFO),
130 
134  RGB_INFO = static_cast<uint64_t>(ifm3d::ImageChunk::RGB_INFO),
135 
139  JSON_MODEL = static_cast<uint64_t>(ifm3d::ImageChunk::JSON_MODEL),
140 
144  ALGO_DEBUG = static_cast<uint64_t>(ifm3d::ImageChunk::ALGO_DEBUG),
145 
149  O3R_ODS_OCCUPANCY_GRID = static_cast<uint64_t>(ifm3d::ImageChunk::O3R_ODS_OCCUPANCY_GRID),
150 
154  O3R_ODS_INFO = static_cast<uint64_t>(ifm3d::ImageChunk::O3R_ODS_INFO),
155 
159  O3R_RESULT_JSON = static_cast<uint64_t>(ifm3d::ImageChunk::O3R_RESULT_JSON),
160 
164  O3R_RESULT_ARRAY2D = static_cast<uint64_t>(ifm3d::ImageChunk::O3R_RESULT_ARRAY2D),
165 
169  O3R_RESULT_IMU = static_cast<uint64_t>(ifm3d::ImageChunk::O3R_RESULT_IMU),
170 
174  O3R_ODS_POLAR_OCC_GRID = static_cast<uint64_t>(ifm3d::ImageChunk::O3R_ODS_POLAR_OCC_GRID),
175 
179  O3R_ODS_EXTRINSIC_CALIBRATION_CORRECTION = static_cast<uint64_t>(ifm3d::ImageChunk::O3R_ODS_EXTRINSIC_CALIBRATION_CORRECTION),
180 
184  XYZ = (std::numeric_limits<std::uint32_t>::max)(),
185 
190 
195 
196  O3R_ODS_FLAGS,
197  O3R_MCC_LIVE_IMAGE,
198  O3R_MCC_MOTION_IMAGE,
199  O3R_MCC_STATIC_IMAGE,
200  O3R_ODS_RENDERED_ZONES,
201 
202  // clang-format on
203  };
204 
205  using buffer_id = BufferId; // Add alias for backward compatibility
206 }
207 #endif // IFM3D_FG_Buffer_ID_H
BufferId
BufferIds available for use with the default Organizer.
Definition: buffer_id.h:19
@ O3R_RESULT_ARRAY2D
ifm3d::O3R_RESULT_ARRAY2D
@ O3R_ODS_POLAR_OCC_GRID
ifm3d::ODSPolarOccupancyGridV1
@ O3R_ODS_EXTRINSIC_CALIBRATION_CORRECTION
ifm3d::ODSExtrinsicCalibrationCorrectionV1
@ RGB_INFO
ifm3d::RGBInfoV1
@ O3R_RESULT_JSON
ifm3d::O3R_RESULT_JSON
@ O3R_ODS_INFO
ifm3d::ODSInfoV1
@ TOF_INFO
ifm3d::TOFInfoV3 / ifm3d::TOFInfoV4
@ INVERSE_INTRINSIC_CALIBRATION
@ O3R_RESULT_IMU
ifm3d::O3R_RESULT_IMU
@ XYZ
The point cloud encoded as a 3 channel XYZ image.
@ O3R_ODS_OCCUPANCY_GRID
ifm3d::ODSOccupancyGridV1