CVB++ 15.0
c_core_3d.h
1#pragma once
2
3#include "../namespace.hpp"
4
5#include "c_core.h"
6#include "c_img.h"
7
8
9namespace Cvb
10{
11
12CVB_BEGIN_INLINE_NS
13
14namespace CExports
15{
16
17typedef double CVC3DVector[3]; // NOLINT(cppcoreguidelines-avoid-c-arrays)
18typedef double CVC3DMatrix[3][3]; // NOLINT(cppcoreguidelines-avoid-c-arrays)
19typedef double CVC3DMatrixH[4][4]; // NOLINT(cppcoreguidelines-avoid-c-arrays)
20
21typedef void* CVC3DCALIBRATOR;
22
23typedef cvbuint32_t* CVC3DPolygonIndexTable;
24
25enum CVC3DPointCloudLayout
26{
27 CVC3DPCL_Invalid,
28 CVC3DPCL_Linear,
29 CVC3DPCL_SeparatePlanar,
30 CVC3DPCL_Planar,
31 CVC3DPCL_Interleaved
32};
33
34enum CVC3DPointCloudFlags
35{
36 CVC3DPCF_DTFloat = 0 << 0,
37 CVC3DPCF_DTDouble = 1 << 0,
38
39 CVC3DPCF_XYZ = 0 << 0,
40 CVC3DPCF_XYZW = 1 << 5,
41 CVC3DPCF_XYZConfidence = 1 << 6,
42 CVC3DPCF_WithConfidence = 1 << 12,
43 CVC3DPCF_NoExtrinsic = 1 << 24,
44 CVC3DPCF_NoMeshIndices = 1 << 25
45};
46
47enum CVC3DPointCloudFileFormat
48{
49 CVC3DPCFF_Ascii,
50 CVC3DPCFF_Ply,
51 CVC3DPCFF_Stl,
52 CVC3DPCFF_WavefrontObj,
53 CVC3DPCFF_Tiff
54};
55
56enum CVC3DPfncFormat
57{
58 CVC3D_Coord3D_C64f = 0x814000BF
59};
60
61#pragma pack ( push, 4 )
62struct CVC3DPointF
63{
64 float X;
65 float Y;
66 float Z;
67};
68#pragma pack ( pop )
69
70#pragma pack ( push, 4 )
71struct CVC3DPointHF
72{
73 float X;
74 float Y;
75 float Z;
76 float W;
77};
78#pragma pack ( pop )
79
80struct CVC3DPointD
81{
82 double X;
83 double Y;
84 double Z;
85};
86
87struct CVC3DPointHD
88{
89 double X;
90 double Y;
91 double Z;
92 double W;
93};
94
95struct CVC3DFactors
96{
97 double X;
98 double Y;
99 double Z;
100};
101
102struct CVC3DRange
103{
104 double Min;
105 double Max;
106};
107
108struct CVC3DCuboid
109{
110 CVC3DRange X;
111 CVC3DRange Y;
112 CVC3DRange Z;
113};
114
115struct CVC3DPlane
116{
117 CVC3DPointD Normal;
118 double DistanceToOrigin;
119};
120
121struct CVC3DTransformation
122{
123 CVC3DVector Translation;
124 CVC3DMatrix Matrix;
125};
126
127enum CVC3DDownsampleMode
128{
129 CVC3DDownsampleByFactor,
130 CVC3DRemoveRandomly
131};
132
133enum CVC3DCalibratorType
134{
135 CVC3DC_Unknown = 0, // Unknown or unsupported calibrator
136 CVC3DC_Factors, // Factors (x,y,z) calibrator
137 CVC3DC_LaserPlaneMatrixH, // Laserplane calibrator with factors, homogeneous xz matrix
138 // and optional Brown-Conrady parameters
139 CVC3DC_LaserPlanePolynom, // Laserplane calibrator with factors, homogeneous xz matrix,
140 // polinomial coefficients and optional Brown-Conrady parameters
141 CVC3DC_LaserPlaneZigZag, // Laserplane calibrator with factors, polynomial coefficients
142 // and lense correction (center point and radial coefficients)
143 CVC3DC_LaserPlaneAT, // Laserplane calibrator provided by cameras from Automation
144 // Technology (AT) including factor for y and z component,
145 // coordinate center, homogeneous xz matrix, Brown-Conrady
146 // parameters and polynomial coefficients
147 CVC3DC_MatrixH, // Calibrator with homogeneous 4x4 matrix
148 CVC3DC_Pinhole // Pinhole calibrator with focal point of x and y component,
149 // z divisor and center point // z divisor and center point
150};
151
152enum CVC3DSensorPixelPosition
153{
154 CVC3DSPP_Absolute = 0, // scaled rangemap values represent absolute pixel position on sensor
155 CVC3DSPP_Relative, // pixel position is relative to offset
156};
157
158enum CVC3DSensorPixelsMirrored
159{
160 CVC3DSPM_None = 0U << 0, // sensor pixels are not mirrored in rangemap
161 CVC3DSPM_X = 1U << 0, // sensor pixels are mirrored in X
162 CVC3DSPM_Y = 1U << 1, // sensor pixels are mirrored in Y
163 CVC3DSPM_XY = 3 // sensor pixels are mirrored in X and Y
164};
165
166#pragma pack(push,4)
167struct CVC3DSensorSettings
168{
169 cvbdim_t Size;
170
171 double RangeScale;
172 CVC3DSensorPixelPosition PixelPosition;
173 CVC3DSensorPixelsMirrored PixelsMirrored;
174
175 cvbdim_t OffsetLeft;
176 cvbdim_t OffsetTop;
177 cvbdim_t Width;
178 cvbdim_t Height;
179
180 double ResolutionReductionHorizontal;
181 double ResolutionReductionVertical;
182};
183#pragma pack(pop)
184
185enum CVC3DCropRange
186{
187 CVC3DC_CropWithinRange = 0,
188 CVC3DC_CropOutsideRange = 1
189};
190
191enum CVC3DGapFillingMethod
192{
193 CVC3DGFM_LinearInterpolation = 0
194};
195
196#pragma pack(push,4)
197struct CVC3DGapFilling
198{
199 double BackgroundValue;
200 cvbdim_t MaxWidth;
201 cvbdim_t MaxHeight;
202
203 CVC3DGapFillingMethod Method;
204};
205#pragma pack(pop)
206
207#pragma pack(push,4)
208struct CVC3DAffineTransformationParameters
209{
210 CVC3DVector RotationAngles; // Rotation angles about x, y and z in [degree].
211 CVC3DFactors Scale; // Scale factors.
212 double Syx; // Shear Syx (induced by \a InclinationZ).
213 double Syz; // Shear Syz (induced by \a InclinationX).
214 double InclinationX; // Inclination of laser plane (rotation about x axis) in [degree].
215 double InclinationZ; // Inclination of laser plane (rotation about z axis) in [degree].
216};
217#pragma pack(pop)
218
219
220CVB_DEF_CAPI(cvbres_t, CVC3DCreateDensePointCloud, (cvbdim_t Width, cvbdim_t Height, cvbval_t Flags, CVCOMPOSITE& PointCloud))
221CVB_DEF_CAPI(cvbres_t, CVC3DCreateSparsePointCloud, (cvbint64_t NumPoints, cvbval_t Flags, CVCOMPOSITE& PointCloud))
222CVB_DEF_CAPI(cvbres_t, CVC3DCreateDensePointCloudFromRangeMap, (OBJ RangeMapImage, CVC3DFactors Factors, cvbval_t Flags, CVCOMPOSITE& PointCloud))
223CVB_DEF_CAPI(cvbres_t, CVC3DCreateCalibratedPointCloudFromRangeMap, (OBJ RangeMapImage, CVC3DCALIBRATOR Calibrator3D, cvbval_t Flags, CVCOMPOSITE& PointCloud))
224CVB_DEF_CAPI(cvbres_t, CVC3DCreateCalibratedPointCloudFromRangeMapWithSettings, (OBJ RangeMapImage, CVC3DCALIBRATOR Calibrator, const CVC3DSensorSettings& sensorSettings, double encoderStep,
225 cvbval_t Flags, CVCOMPOSITE& PointCloud))
226
227CVB_DEF_CAPI_X(cvbres_t, CVC3DLoadFile, (const char* FileName, cvbval_t Flags, CVCOMPOSITE& PointCloud))
228CVB_DEF_CAPI_X(cvbres_t, CVC3DLoadFileW, (const wchar_t* FileName, cvbval_t Flags, CVCOMPOSITE& PointCloud))
229inline cvbres_t _ppCVC3DLoadFileTyped(const char* FileName, cvbval_t Flags, CVCOMPOSITE& PointCloud)
230{
231 return CVC3DLoadFile(FileName, Flags, PointCloud);
232}
233
234inline cvbres_t _ppCVC3DLoadFileTyped(const wchar_t* FileName, cvbval_t Flags, CVCOMPOSITE& PointCloud)
235{
236 return CVC3DLoadFileW(FileName, Flags, PointCloud);
237}
238
239CVB_DEF_CAPI_X(cvbres_t, CVC3DWriteFile, (CVCOMPOSITE PointCloud, cvbval_t Flags, const char* FileName))
240CVB_DEF_CAPI_X(cvbres_t, CVC3DWriteFileW, (CVCOMPOSITE PointCloud, cvbval_t Flags, const wchar_t* FileName))
241inline cvbres_t _ppCVC3DWriteFileTyped(CVCOMPOSITE PointCloud, cvbval_t Flags, const char* FileName)
242{
243 return CVC3DWriteFile(PointCloud, Flags, FileName);
244}
245
246inline cvbres_t _ppCVC3DWriteFileTyped(CVCOMPOSITE PointCloud, cvbval_t Flags, const wchar_t* FileName)
247{
248 return CVC3DWriteFileW(PointCloud, Flags, FileName);
249}
250
251CVB_DEF_CAPI_X(cvbres_t, CVC3DLoadCalibrator, (const char* FileName, CVC3DCALIBRATOR& Calibrator3D))
252CVB_DEF_CAPI_X(cvbres_t, CVC3DLoadCalibratorW, (const wchar_t* FileName, CVC3DCALIBRATOR& Calibrator3D))
253inline cvbres_t _ppCVC3DLoadCalibratorTyped(const char* FileName, CVC3DCALIBRATOR& Calibrator)
254{
255 return CVC3DLoadCalibrator(FileName, Calibrator);
256}
257
258inline cvbres_t _ppCVC3DLoadCalibratorTyped(const wchar_t* FileName, CVC3DCALIBRATOR& Calibrator)
259{
260 return CVC3DLoadCalibratorW(FileName, Calibrator);
261}
262
263CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudToMemory, (CVCOMPOSITE PointCloud, cvbval_t Flags, CVC3DPointCloudFileFormat FileFormat, void* Memory, size_t Size))
264CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudToMemorySize, (CVCOMPOSITE PointCloud, cvbval_t Flags, CVC3DPointCloudFileFormat FileFormat, size_t& Size))
265CVB_DEF_CAPI(cvbres_t, CVC3DMemoryToPointCloud, (void* Memory, size_t Size, cvbval_t Flags, CVC3DPointCloudFileFormat FileFormat, CVCOMPOSITE& PointCloud))
266
267CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudAnalyzeLayout, (CVCOMPOSITE PointCloud, CVC3DPointCloudLayout& Layout))
268CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudGetDatatype, (CVCOMPOSITE PointCloud, cvbdatatype_t& DT))
269CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudGetNumPoints, (CVCOMPOSITE PointCloud, cvbint64_t& NumPoints))
270CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudGetLatticeSize, (CVCOMPOSITE PointCloud, cvbdim_t& Width, cvbdim_t& Height))
271CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudGetPointComponentsPointers, (CVCOMPOSITE PointCloud, void*& pXs, intptr_t& XsInc, void*& pYs, intptr_t& YsInc, void*& pZs, intptr_t& ZsInc, void*& pWs, intptr_t& WsInc, size_t& NumPoints))
272CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudGetPointsConfidencePointer, (CVCOMPOSITE PointCloud, void*& pConfidences, intptr_t& Increment, cvbdatatype_t& DataType))
273CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudGetPointDsPointer, (CVCOMPOSITE PointCloud, CVC3DPointD*& pPoints, size_t& NumPoints))
274CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudGetPointFsPointer, (CVCOMPOSITE PointCloud, CVC3DPointF*& pPoints, size_t& NumPoints))
275CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudGetPointHFsPointer, (CVCOMPOSITE PointCloud, CVC3DPointHF*& pPoints, size_t& NumPoints))
276CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudGetPointHDsPointer, (CVCOMPOSITE PointCloud, CVC3DPointHD*& pPoints, size_t& NumPoints))
277
278CVB_DEF_CAPI(cvbres_t, CVC3DGetCalibratorType, (CVC3DCALIBRATOR Calibrator, CVC3DCalibratorType& Type))
279CVB_DEF_CAPI(cvbres_t, CVC3DCreateFactorsCalibrator, (CVC3DFactors Factors, CVC3DCALIBRATOR& Calibrator3D))
280CVB_DEF_CAPI(cvbres_t, CVC3DCreatePinholeCameraCalibrator, (double Fx, double Fy, double Sz, double CPx, double CPy, CVC3DCALIBRATOR& Calibrator3D))
281CVB_DEF_CAPI(cvbres_t, CVC3DCreateMatrixHCalibrator, (const CVC3DMatrixH &M, CVC3DCALIBRATOR& Calibrator3D))
282CVB_DEF_CAPI(cvbres_t, CVC3DCalibratorGetCorrectionOfLaserPlaneInclination, (CVC3DCALIBRATOR Calibrator3D, CVC3DTransformation& IntrinsicAffineMatrix))
283CVB_DEF_CAPI(cvbres_t, CVC3DCalibratorSetCorrectionOfLaserPlaneInclination, (CVC3DCALIBRATOR Calibrator3D, const CVC3DTransformation& IntrinsicAffineMatrix))
284CVB_DEF_CAPI(cvbres_t, CVC3DCalibratorGetCorrectionOfLaserPlaneInclinationParameters, (CVC3DCALIBRATOR Calibrator, CVC3DTransformation& IntrinsicAffineMatrix, CVC3DAffineTransformationParameters& TransformationParameters))
285CVB_DEF_CAPI(cvbres_t, CVC3DCalibratorSetCorrectionOfLaserPlaneInclinationParameters, (CVC3DCALIBRATOR Calibrator, const CVC3DTransformation& IntrinsicAffineMatrix, const CVC3DAffineTransformationParameters& TransformationParameters))
286CVB_DEF_CAPI(cvbres_t, CVC3DCalibratorGetExtrinsicMatrix, (CVC3DCALIBRATOR Calibrator3D, CVC3DTransformation& AffineTransformation))
287CVB_DEF_CAPI(cvbres_t, CVC3DCalibratorSetExtrinsicMatrix, (CVC3DCALIBRATOR Calibrator3D, const CVC3DTransformation& AffineTransformation))
288CVB_DEF_CAPI(cvbres_t, CVC3DCalibratorSetRangeMapIgnoreValue, (CVC3DCALIBRATOR Calibrator3D, double Value))
289CVB_DEF_CAPI(cvbres_t, CVC3DCalibratorGetRangeMapIgnoreValue, (CVC3DCALIBRATOR Calibrator3D, double& Value))
290CVB_DEF_CAPI(cvbres_t, CVC3DCalibratorGetSettings, (CVC3DCALIBRATOR Calibrator, CVC3DSensorSettings& SensorSettings, double& EncoderStep))
291CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudCalculateBoundingBox, (CVCOMPOSITE PointCloud, CVC3DCuboid& BoundingBox))
292CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudCalculateCenterOfGravity, (CVCOMPOSITE PointCloud, CVC3DPointD& Center))
293CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudCalculateCovarianceMatrix, (CVCOMPOSITE PointCloud, CVC3DMatrix &Covariance))
294
295CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudCalculatePlaneFromCuboid, (CVCOMPOSITE PointCloud, const CVC3DCuboid& AOI, CVC3DPlane& Plane))
296CVB_DEF_CAPI(cvbres_t, CVC3DCalculatePlaneFromPointFs, (const CVC3DPointF* pPoints, size_t NumPoints, CVC3DPlane& Plane))
297CVB_DEF_CAPI(cvbres_t, CVC3DCalculatePlaneFromPointDs, (const CVC3DPointD* pPoints, size_t NumPoints, CVC3DPlane& Plane))
298
299CVB_DEF_CAPI(cvbres_t, CVC3DCreateDuplicatePointCloud, (CVCOMPOSITE PointCloudIn, CVCOMPOSITE& PointCloudOut))
300CVB_DEF_CAPI(cvbres_t, CVC3DCreateShrinkedDensePointCloud, (CVCOMPOSITE PointCloudIn, CVCOMPOSITE& PointCloudOut))
301CVB_DEF_CAPI(cvbres_t, CVC3DCreateCroppedPointCloud, (CVCOMPOSITE PointCloudIn, const CVC3DCuboid& ClipBox, CVCOMPOSITE& PointCloudOut))
302CVB_DEF_CAPI(cvbres_t, CVC3DCreateFrustumCroppedPointCloud, (CVCOMPOSITE PointCloudIn, const CVC3DCuboid& ClipBox, double Theta, double Phi, CVCOMPOSITE& PointCloudOut))
303CVB_DEF_CAPI(cvbres_t, CVC3DCreatePlaneCroppedPointCloud, (CVCOMPOSITE PointCloudIn, const CVC3DPlane& Plane, const CVC3DRange& Range, enum CVC3DCropRange CropRange, CVCOMPOSITE& PointCloudOut));
304CVB_DEF_CAPI(cvbres_t, CVC3DCreateSparseFromDensePointCloud, (CVCOMPOSITE DensePointCloudIn, CVCOMPOSITE& SparsePointCloudOut))
305CVB_DEF_CAPI(cvbres_t, CVC3DCreateDownsampledPointCloud, (CVCOMPOSITE PointCloudIn, CVC3DDownsampleMode Mode, cvbint64_t Value, CVCOMPOSITE& PointCloudOut))
306CVB_DEF_CAPI(cvbres_t, CVC3DCreateScaledPointCloud, (CVCOMPOSITE PointCloudIn, CVC3DFactors Factors, CVCOMPOSITE& PointCloudOut))
307CVB_DEF_CAPI(cvbres_t, CVC3DCreateConvertedPointCloud, (CVCOMPOSITE PointCloudIn, cvbval_t Flags, CVCOMPOSITE& PointCloudOut))
308CVB_DEF_CAPI(cvbres_t, CVC3DCreateTransformedPointCloud, (CVCOMPOSITE PointCloudIn, const CVC3DTransformation& AffineTransformation, CVCOMPOSITE& PointCloudOut))
309CVB_DEF_CAPI(cvbres_t, CVC3DCreateTransformedPointCloudH, (CVCOMPOSITE PointCloudIn, const CVC3DMatrixH &Transformation, CVCOMPOSITE& PointCloudOut))
310
311CVB_DEF_CAPI(cvbres_t, CVC3DTransformPointCloud, (CVCOMPOSITE PointCloudIn, const CVC3DTransformation& AffineTransformation, CVCOMPOSITE PointCloudOut))
312CVB_DEF_CAPI(cvbres_t, CVC3DTransformPointCloudH, (CVCOMPOSITE PointCloudIn, const CVC3DMatrixH &Transformation, CVCOMPOSITE PointCloudOut))
313
314CVB_DEF_CAPI(cvbres_t, CVC3DRotationMatrixFromRotationAngles, (double Alpha, double Beta, double Gamma, CVC3DMatrix R)) // NOLINT(cppcoreguidelines-pro-bounds-array-to-pointer-decay)
315CVB_DEF_CAPI(cvbres_t, CVC3DMatrixFromRotationAnglesScale, (double Alpha, double Beta, double Gamma, CVC3DFactors Scale, CVC3DMatrix TransformationMatrix)) // NOLINT(cppcoreguidelines-pro-bounds-array-to-pointer-decay)
316CVB_DEF_CAPI(cvbres_t, CVC3DRotationAnglesFromRotationMatrix, (const CVC3DMatrix R, double& Alpha, double& Beta, double& Gamma)) // NOLINT(cppcoreguidelines-pro-bounds-array-to-pointer-decay)
317CVB_DEF_CAPI(cvbres_t, CVC3DRotationAnglesScaleFromMatrix, (const CVC3DMatrix TransformationMatrix, double& Alpha, double& Beta, double& Gamma, CVC3DFactors& Scale)) // NOLINT(cppcoreguidelines-pro-bounds-array-to-pointer-decay)
318CVB_DEF_CAPI(cvbres_t, CVC3DRotationAnglesScaleFromMatrixApproximation, (const CVC3DMatrix TransformationMatrix, double& Alpha, double& Beta, double& Gamma, CVC3DFactors& Scale, double& PrecisionOfApproximation)) // NOLINT(cppcoreguidelines-pro-bounds-array-to-pointer-decay)
319
320CVB_DEF_CAPI(cvbres_t, CVC3DRotationMatrixFromRollPitchYaw, (double Roll, double Pitch, double Yaw, CVC3DMatrix &R))
321CVB_DEF_CAPI(cvbres_t, CVC3DRollPitchYawFromRotationMatrix, (const CVC3DMatrix &R, double& Roll, double& Pitch, double& Yaw))
322CVB_DEF_CAPI(cvbres_t, CVC3DMultiplyMatrices, (const CVC3DMatrix &A, const CVC3DMatrix &B, CVC3DMatrix &R))
323CVB_DEF_CAPI(cvbres_t, CVC3DInvertMatrix, (const CVC3DMatrix &A, CVC3DMatrix &AInv))
324CVB_DEF_CAPI(cvbres_t, CVC3DMatrixDeterminant, (const CVC3DMatrix &A, double& Determinant))
325CVB_DEF_CAPI(cvbres_t, CVC3DMultiplyTransformations, (const CVC3DTransformation& A, const CVC3DTransformation& B, CVC3DTransformation& R))
326CVB_DEF_CAPI(cvbres_t, CVC3DInvertTransformation, (const CVC3DTransformation& A, CVC3DTransformation& AInv))
327CVB_DEF_CAPI(cvbres_t, CVC3DTransformationDeterminant, (const CVC3DTransformation& A, double& Determinant))
328
329CVB_DEF_CAPI(cvbres_t, CVC3DAlignToXYPlane, (const CVC3DPlane& Plane, CVC3DTransformation& Transformation))
330
331CVB_DEF_CAPI(cvbres_t, CVC3DCreateRangeMapFromPointCloud, (CVCOMPOSITE PointCloud, CVC3DRange XRange, CVC3DRange YRange, cvbdim_t TargetWidth, cvbdim_t TargetHeight, double BackgroundValue, IMG& RangeMap))
332CVB_DEF_CAPI(cvbres_t, CVC3DRangeMapFillGaps, (const CVC3DGapFilling& Options, IMG RangeMap))
333CVB_DEF_CAPI(cvbres_t, CVC3DCreateDifferenceMap, (IMG RangeMap1, IMG RangeMap2, IMG& DifferenceMap))
334CVB_DEF_CAPI(cvbres_t, CVC3DCreateSparsePointCloudFromPointer, (void** pPlaneBasePtrs, cvbdim_t NumPlanes, cvbdatatype_t Datatype, cvbint64_t NumPoints, intptr_t (&PlaneIncs)[4], PFFINALRELEASE ReleaseCallback, void* pPrivate, CVCOMPOSITE& PointCloud)) // modified signature
335
336CVB_DEF_CAPI(cvbres_t, CVC3DPointCloudGetPolygonTable, (CVCOMPOSITE Mesh, CVC3DPolygonIndexTable& PolygonTable, cvbint64_t& NumPolygons))
337CVB_DEF_CAPI(cvbres_t, CVC3DRasterMeshToDensePointCloud, (CVCOMPOSITE Mesh, const CVC3DMatrix CameraRotation, const CVC3DVector CameraTranslation, CVCOMPOSITE TempBuffer, CVCOMPOSITE DenseCloud))
338CVB_DEF_CAPI(cvbres_t, CVC3DCreateRasterMeshToDensePointCloud, (CVCOMPOSITE Mesh, const CVC3DMatrix CameraRotation, const CVC3DVector CameraTranslation, double XResIncrement, double YResIncrement, CVCOMPOSITE TempBuffer, CVCOMPOSITE& DenseCloudOut))
339CVB_DEF_CAPI(cvbres_t, CVC3DConvertSparseToDensePointCloudAutomatic, (CVCOMPOSITE SparseCloudIn, CVCOMPOSITE& DenseCloudOut, size_t& DroppedPoints))
340
341}
342
343CVB_END_INLINE_NS
344
345}
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17
CropRange
Indicates cropping range.
Definition core_3d.hpp:288
CVB_BEGIN_INLINE_NS std::unique_ptr< Image > DifferenceMap(const ImagePlane &rangeMap1, const ImagePlane &rangeMap2)
Subtracts the given rangeMap2 from rangeMap1.
Definition range_map.hpp:32