IDS peak ICV v1.0.0
Loading...
Searching...
No Matches
peak_icv_type_traits.hpp
Go to the documentation of this file.
1
11#pragma once
12
14#include <peak_icv_c/types/peak_icv_simple_types.h>
15#include <type_traits>
16#include <cstddef>
17#include <cstdint>
18
19
20// NOLINTBEGIN(readability-identifier-naming)
21struct peak_icv_archive;
22struct peak_icv_calibration_parameters;
23struct peak_icv_calibration_plate;
24struct peak_icv_calibration_result;
25struct peak_icv_calibration_view;
26struct peak_icv_capture_information;
27struct peak_icv_coordinate_system;
28struct peak_icv_deserializer;
29struct peak_icv_downsampling;
30struct peak_icv_drawing_options;
31struct peak_icv_extrinsic_parameters;
32struct peak_icv_image;
33struct peak_icv_intrinsic_parameters;
34struct peak_icv_point_xyz;
35struct peak_icv_point_xyzi;
36struct peak_icv_pointcloud;
37struct peak_icv_undistortion;
38struct peak_icv_region;
39struct peak_icv_reprojection_error;
40struct peak_icv_serializer;
41struct peak_icv_polygon;
42struct peak_icv_coordinate_system;
43
44// NOLINTEND(readability-identifier-naming)
45
46namespace peak
47{
48namespace common
49{
50namespace detail
51{
52template <typename T>
54
55template <typename T>
56class PointT;
57} // namespace detail
58
59} // namespace common
60} // namespace peak
61
62namespace peak
63{
64namespace icv
65{
66class Archive;
67class CaptureInformation;
68class Deserializer;
69class Downsampling;
70class Image;
71class Serializer;
72
73namespace experimental
74{
75class CalibrationParameters;
76class CalibrationPlate;
77class CalibrationResult;
78class CalibrationView;
79class CoordinateSystem;
80class IntrinsicParameters;
81class ExtrinsicParameters;
82class PointCloudXYZ;
83class PointCloudXYZI;
84class PointXYZ;
85class PointXYZI;
86class Undistortion;
87class Region;
88class ReprojectionError;
89class XYZImage;
90} /* namespace experimental */
91
92namespace detail
93{
94class DrawingOptions;
95
96template <typename PointCloudType, typename PointType>
98
99template <typename PointType>
101
102template <typename Type>
103struct is_pointcloud : std::false_type
104{};
105
106template <>
108{};
109
110template <>
112{};
113
114template <typename Type>
116
117template <typename Type>
118struct is_threshold_interval : std::false_type
119{};
120
121template <>
123{};
124
125template <>
127{};
128
129template <typename Type>
131
132template <typename Type>
134
135template <>
136struct point_enum_of_<peak_common_point_f>
137{
138 static constexpr peak_icv_point_type value = PEAK_ICV_POINT_TYPE_XY;
139};
140
141template <typename Type>
143
144} // namespace detail
145} // namespace icv
146} // namespace peak
147
148namespace peak
149{
150namespace common
151{
152namespace detail
153{
154
155template <typename Type>
157
158template <>
160{
161 using type = peak_icv_point_xyz;
162};
163
164template <>
166{
167 using type = peak_icv_point_xyzi;
168};
169
170template <>
172{
173 using type = peak_icv_calibration_result;
174};
175
176template <>
178{
179 using type = peak_icv_extrinsic_parameters;
180};
181
182template <>
184{
185 using type = peak_icv_intrinsic_parameters;
186};
187
188template <>
190{
191 using type = peak_icv_calibration_view;
192};
193
194template <>
196{
197 using type = peak_icv_region;
198};
199
200template <>
202{
203 using type = peak_icv_pointcloud;
204};
205
206template <>
208{
209 using type = peak_icv_pointcloud;
210};
211
212template <>
213struct c_type_of_<peak::icv::detail::PointCloud<peak::icv::experimental::PointCloudXYZ, peak::icv::experimental::PointXYZ>>
214{
215 using type = peak_icv_pointcloud;
216};
217
218template <>
219struct c_type_of_<peak::icv::detail::PointCloud<peak::icv::experimental::PointCloudXYZI, peak::icv::experimental::PointXYZI>>
220{
221 using type = peak_icv_pointcloud;
222};
223
224template <>
226{
227 using type = peak_icv_calibration_plate;
228};
229
230template <>
232{
233 using type = peak_icv_image;
234};
235
236template <>
238{
239 using type = peak_icv_image;
240};
241
242template <>
244{
245 using type = peak_icv_undistortion;
246};
247
248template <>
249struct c_type_of_<peak::icv::CaptureInformation>
250{
251 using type = peak_icv_capture_information;
252};
253
254template <>
256{
257 using type = peak_icv_reprojection_error;
258};
259
260template <>
262{
263 using type = peak_icv_polygon;
264};
265
266template <>
268{
269 using type = peak_icv_coordinate_system;
270};
271
272template <>
274{
275 using type = peak_icv_calibration_parameters;
276};
277
278template <>
279struct c_type_of_<peak::icv::Downsampling>
280{
281 using type = peak_icv_downsampling;
282};
283
284template <>
286{
287 using type = peak_icv_archive;
288};
289
290template <>
292{
293 using type = peak_icv_serializer;
294};
295
296template <>
298{
299 using type = peak_icv_deserializer;
300};
301
302template <>
304{
305 using type = peak_icv_drawing_options;
306};
307
308template <typename Type>
310
311} // namespace detail
312} // namespace common
313} // namespace peak
Represents a continuous numeric interval with inclusive lower and upper bounds.
A simple key-value store that implements the IArchive interface.
A deserializer that reads serialized data and converts it to IArchive objects.
For detailed information about the use of ids_peak_icv Image refer to the Image Guide.
A serializer that serializes IArchive objects.
A polygon is a two-dimensional geometric shape that is made up of a finite number of straight line se...
Holds a complete set of camera calibration parameters, including both intrinsic and extrinsic data.
Calibration plate representation holding the world coordinates of the reference points on a calibrati...
Class for holding the results of a camera calibration.
Class for holding the extrinsic result for one image of camera calibration and also the reprojection ...
Represents the coordinate system of a calibration view projected into the image plane....
This class stores and provides access to the extrinsic parameters, which include the translation,...
The intrinsic parameters contain the necessary information to use the camera calibration.
A point cloud consists of points with x, y and z coordinates.
A point cloud consists of points with x, y, z coordinates and intensity meta data.
A point consists of x, y and z coordinate.
A point consists of x, y, z coordinates and intensity meta data.
A region consists of a set of points in the image plane.
Class to represent the reprojection error in a calibration view.
Transforms an undistorted depth map with radial coordinates to a three-channel image with cartesian c...
typename c_type_of_< Type >::type c_type_of_t
constexpr bool is_threshold_interval_v
peak::common::detail::c_type_of_t< Type > * handle_of_t