CVB++ 15.0
c_core.h
1#pragma once
2
3#if defined __GNUC__ && !defined CVB_SHOW_WARNINGS
4# pragma GCC system_header
5#endif // __GNUC__
6
7#include "../namespace.hpp"
8
9#include "c_img.h"
10
11
12
13namespace Cvb
14{
15
16CVB_BEGIN_INLINE_NS
17
18namespace CExports
19{
20
21typedef void* CVCOMPOSITE;
22
23enum
24{
25 CVCD_X = 0,
26 CVCD_Y = 1,
27 CVCD_Z = 2
28};
29
30typedef void *CVPLANE;
31
32typedef void* CVPLANEENUM;
33
34typedef void* CVBUFFER;
35
36
37
38enum CVCPlaneRole
39{
40 CVCPR_Undefined = -1,
41
42 // Pixel Plane Roles
43 CVCPR_PixMono = 0,
44 CVCPR_PixRGB_R,
45 CVCPR_PixRGB_G,
46 CVCPR_PixRGB_B,
47 CVCPR_PixYUV_Y,
48 CVCPR_PixYUV_U,
49 CVCPR_PixYUV_V,
50 CVCPR_PixHSV_H,
51 CVCPR_PixHSV_S,
52 CVCPR_PixHSV_V,
53 CVCPR_PixLAB_L,
54 CVCPR_PixLAB_A,
55 CVCPR_PixLAB_B,
56 CVCPR_PixConfidence,
57 CVCPR_PixRGB_RGB,
58
59 // Coordinate Plane Roles
60 CVCPR_CoordCartesian_X = 0x1000,
61 CVCPR_CoordCartesian_Y,
62 CVCPR_CoordCartesian_Z,
63 CVCPR_CoordCartesian_W,
64 CVCPR_CoordPolar_Rho,
65 CVCPR_CoordPolar_Phi,
66 CVCPR_CoordCylindrical_Rho,
67 CVCPR_CoordCylindrical_Phi,
68 CVCPR_CoordCylindrical_Z,
69 CVCPR_CoordSpherical_Rho,
70 CVCPR_CoordSpherical_Phi,
71 CVCPR_CoordSpherical_Theta,
72
73 // Additional Point Cloud Features
74 CVCPR_Normal_X = 0x1100,
75 CVCPR_Normal_Y,
76 CVCPR_Normal_Z,
77 CVCPR_Point_Planarity,
78 CVCPR_Point_Variation,
79 CVCPR_Point_Sphericity,
80 CVCPR_Point_Linearity,
81 CVCPR_Point_Curvature,
82
83 // Costum roles
84 CVCPR_Custom = 0x10000000,
85};
86
87enum CVCCompositePurpose
88{
89 CVCCP_Custom = -1,
90 CVCCP_Image = 0,
91 CVCCP_ImageList,
92 CVCCP_MultiAoi,
93 CVCCP_RangeMap,
94 CVCCP_PointCloud,
95 CVCCP_ImageCube,
96};
97
98enum CVCCompressionType
99{
100 CVCCT_Unknown,
101 CVCCT_JPEG,
102 CVCCT_JPEG2000,
103};
104
105
106CVB_DEF_CAPI(cvbbool_t, CVCIsBuffer, (CVBUFFER hBuffer))
107CVB_DEF_CAPI(cvbbool_t, CVCIsPfncBuffer, (CVBUFFER hBuffer))
108CVB_DEF_CAPI(cvbbool_t, CVCIsCompressedPfncBuffer, (CVBUFFER hBuffer))
109
110CVB_DEF_CAPI(cvbres_t, CVCBufferGetBasePtr, (CVBUFFER hBuffer, void*& pBase))
111CVB_DEF_CAPI(cvbres_t, CVCBufferGetSize, (CVBUFFER hBuffer, size_t& Size))
112CVB_DEF_CAPI(cvbres_t, CVCBufferGetCapacity,(CVBUFFER hBuffer, size_t& Capacity))
113
114CVB_DEF_CAPI(cvbres_t, CVCBufferGetPFNCValue, (CVBUFFER hBuffer, cvbuint32_t& PixelFormat))
115CVB_DEF_CAPI(cvbres_t, CVCBufferGetRank, (CVBUFFER hBuffer, cvbdim_t& Rank))
116CVB_DEF_CAPI(cvbres_t, CVCBufferGetLength, (CVBUFFER hBuffer, cvbdim_t Dimension, cvbint64_t& Length))
117CVB_DEF_CAPI(cvbres_t, CVCBufferGetIncrement, (CVBUFFER hBuffer, cvbdim_t Dimension, intptr_t& Increment))
118CVB_DEF_CAPI(cvbres_t, CVCBufferGetCompressedType, (CVBUFFER hBuffer, cvbuint32_t& CompressedType))
119
120CVB_DEF_CAPI(cvbres_t, CVCCreatePlaneFromPointer, (cvbdatatype_t DataType, CVCPlaneRole Role, void* pBase, cvbdim_t Dimension, cvbint64_t Lengths[], intptr_t Increments[], PFFINALRELEASE OnRelease, void* pPrivate, CVPLANE& hPlane));
121
122CVB_DEF_CAPI(cvbbool_t, CVCIsPlaneEnum, (CVPLANEENUM hPlaneEnum))
123
124CVB_DEF_CAPI(cvbres_t, CVCPlaneEnumGetCount, (CVPLANEENUM hPlaneEnum, cvbdim_t& NumElements))
125CVB_DEF_CAPI(cvbres_t, CVCPlaneEnumGetAt, (CVPLANEENUM hPlaneEnum, cvbdim_t PlaneIndex, CVPLANE& hPlane))
126
127
128CVB_DEF_CAPI(cvbbool_t , CVCIsPlane, (CVPLANE hPlane))
129
130CVB_DEF_CAPI(cvbres_t, CVCPlaneGetRole, (CVPLANE hPlane, CVCPlaneRole &Role))
131CVB_DEF_CAPI(cvbres_t, CVCPlaneGetDataType, (CVPLANE hPlane, cvbdatatype_t &DataType))
132CVB_DEF_CAPI(cvbres_t, CVCPlaneGetBasePtr, (CVPLANE hPlane, void * &pBase))
133CVB_DEF_CAPI(cvbres_t, CVCPlaneGetRank, (CVPLANE hPlane, cvbdim_t &Rank))
134CVB_DEF_CAPI(cvbres_t, CVCPlaneGetLength, (CVPLANE hPlane, cvbdim_t Dimension, cvbint64_t &Length))
135CVB_DEF_CAPI(cvbres_t, CVCPlaneGetIncrement, (CVPLANE hPlane, cvbdim_t Dimension, intptr_t &Increment))
136CVB_DEF_CAPI(cvbres_t, CVCPlaneGetPixelPointer, (OBJ hObj, cvbdim_t PlaneIndex, void*& pScan0, intptr_t& XInc, intptr_t& YInc))
137
138
139
140CVB_DEF_CAPI(cvbres_t, CVCGetPFNCValueName, (cvbuint32_t PixelFormat, char *Name, size_t &NameLength))
141CVB_DEF_CAPI(cvbres_t, CVCGetPFNCValueNameW, (cvbuint32_t PixelFormat, wchar_t *Name, size_t &NameLength))
142
143typedef void* CVCANCELLATIONTOKEN;
144typedef void* CVCANCELLATIONTOKENSOURCE;
145
146CVB_DEF_CAPI(cvbres_t, CVCCreateCancellationToken, (CVCANCELLATIONTOKENSOURCE& TokenSource, CVCANCELLATIONTOKEN& Token))
147CVB_DEF_CAPI(cvbres_t, CVCCancellationTokenSourceCancel, (CVCANCELLATIONTOKENSOURCE TokenSource))
148CVB_DEF_CAPI(cvbres_t, CVCCancellationTokenIsCanceled, (CVCANCELLATIONTOKEN Token, cvbbool_t& State))
149
150typedef void* CVCOMPOSITE;
151
152CVB_DEF_CAPI(CVCOMPOSITE, CVCCreateComposite, (CVCCompositePurpose purpose))
153CVB_DEF_CAPI(cvbbool_t, CVCIsComposite, (CVCOMPOSITE hComposite))
154
155CVB_DEF_CAPI(cvbres_t, CVCCompositeGetPurpose, (CVCOMPOSITE hComposite, CVCCompositePurpose& Purpose))
156CVB_DEF_CAPI(cvbres_t, CVCCompositeGetCount, (CVCOMPOSITE hComposite, cvbdim_t& NumElements))
157CVB_DEF_CAPI(cvbres_t, CVCCompositeGetAt, (CVCOMPOSITE hComposite, cvbdim_t Index, OBJ& hObj))
158CVB_DEF_CAPI(cvbres_t, CVCCompositeInsertAt,(CVCOMPOSITE hComposite, cvbdim_t Index, OBJ hObj))
159CVB_DEF_CAPI(cvbres_t, CVCCompositeRemoveAt, (CVCOMPOSITE hComposite, cvbdim_t Index))
160
161inline cvbres_t _ppCVCPlaneGetWidth(CVPLANE hBuffer, cvbint64_t &Width)
162{
163 return CVCPlaneGetLength(hBuffer, CVCD_X, Width);
164}
165
166
167inline cvbres_t _ppCVCPlaneGetHeight(CVPLANE hBuffer, cvbint64_t &Height)
168{
169 return CVCPlaneGetLength(hBuffer, CVCD_Y, Height);
170}
171
172
173inline cvbres_t _ppCVCPlaneGetXIncrement(CVPLANE hBuffer, intptr_t &XInc)
174{
175 return CVCPlaneGetIncrement(hBuffer, CVCD_X, XInc);
176}
177
178
179inline cvbres_t _ppCVCPlaneGetYIncrement(CVPLANE hBuffer, intptr_t &YInc)
180{
181 return CVCPlaneGetIncrement(hBuffer, CVCD_Y, YInc);
182}
183
184inline cvbres_t _ppCVCGetPFNCValueNameTyped(cvbuint32_t PixelFormat, char *Name, size_t &NameLength)
185{
186 return CVCGetPFNCValueName(PixelFormat, Name, NameLength);
187}
188
189inline cvbres_t _ppCVCGetPFNCValueNameTyped(cvbuint32_t PixelFormat, wchar_t *Name, size_t &NameLength)
190{
191 return CVCGetPFNCValueNameW(PixelFormat, Name, NameLength);
192}
193
194CVB_DEF_CAPI(cvbres_t, CVCGetLastErrorW, (cvbres_t& Result, wchar_t* Message, size_t& MessageSize))
195
196
197}
198
199CVB_END_INLINE_NS
200
201}
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17