Gocator API

GoPartMatching.h
1 /// @cond (Gocator_2x00 || Gocator_3x00)
2
3 /**
4 * @file GoPartMatching.h
5 * @brief Declares the GoPartMatching class.
6 *
7 * @internal
8 * Copyright (C) 2016-2020 by LMI Technologies Inc.
9 * Licensed under the MIT License.
10 * Redistributed files must retain the above copyright notice.
11 */
12 #ifndef GO_PART_MATCHING_H
13 #define GO_PART_MATCHING_H
14
15 #include <GoSdk/GoSdkDef.h>
16 kBeginHeader()
17
18 /**
19 * @class GoPartMatching
20 * @extends kObject
21 * @ingroup GoSdk-Surface
22 * @brief Represents the part matching parameters of the surface mode configuration.
23 */
24 typedef kObject GoPartMatching;
25
26 /**
27 * Enables part matching.
28 *
29 * @public @memberof GoPartMatching
30 * @version Introduced in firmware 4.2.4.7
31 * @param matching GoPartMatching object.
32 * @param enable kTRUE to enable, or kFALSE to disable.
33 * @return Operation status.
34 */
35 GoFx(kStatus) GoPartMatching_EnablePartMatching(GoPartMatching matching, kBool enable);
36
37 /**
38 * Gets the current state of part matching.
39 *
40 * @public @memberof GoPartMatching
41 * @version Introduced in firmware 4.2.4.7
42 * @param matching GoPartMatching object.
43 * @return kTRUE if enabled and kFALSE if disabled.
44 */
45 GoFx(kBool) GoPartMatching_PartMatchingEnabled(GoPartMatching matching);
46
47 /**
48 * Returns the state of whether or not the user specified part matching value is used.
49 *
50 * @public @memberof GoPartMatching
51 * @version Introduced in firmware 4.2.4.7
52 * @param matching GoPartMatching object.
53 * @return kTRUE if used and kFALSE if not.
54 */
55 GoFx(kBool) GoPartMatching_EnablePartMatchingUsed(GoPartMatching matching);
56
57 /**
58 * Sets the desired part matching algorithm.
59 *
60 * @public @memberof GoPartMatching
61 * @version Introduced in firmware 4.2.4.7
62 * @param matching GoPartMatching object.
63 * @param algorithm The algorithm to use for part matching.
64 * @return Operation status.
65 */
66 GoFx(kStatus) GoPartMatching_SetAlgorithm(GoPartMatching matching, GoPartMatchAlgorithm algorithm);
67
68 /**
69 * Gets the currently selected part matching algorithm.
70 *
71 * @public @memberof GoPartMatching
72 * @version Introduced in firmware 4.2.4.7
73 * @param matching GoPartMatching object.
74 * @return The currently selected part matching algorithm.
75 */
76 GoFx(GoPartMatchAlgorithm) GoParthMatching_Algorithm(GoPartMatching matching);
77
78 /**
79 * Sets the current edge model name.
80 *
81 * @public @memberof GoPartMatching
82 * @version Introduced in firmware 4.2.4.7
83 * @param matching GoPartMatching object.
84 * @param name The desired name to set for the edge model.
85 * @return Operation status.
86 */
87 GoFx(kStatus) GoPartMatching_SetEdgeModelName(GoPartMatching matching, const kChar* name);
88
89 /**
90 * Gets the name of the currently selected part matching edge model.
91 *
92 * @public @memberof GoPartMatching
93 * @version Introduced in firmware 4.2.4.7
94 * @param matching GoPartMatching object.
95 * @return The name of the current edge matching model.
96 */
97 GoFx(const kChar*) GoPartMatching_EdgeModelName(GoPartMatching matching);
98
99 /**
100 * Sets the edge matching decision minimum quality value.
101 *
102 * @public @memberof GoPartMatching
103 * @version Introduced in firmware 4.2.4.7
104 * @param matching GoPartMatching object.
105 * @param value The value to set.
106 * @return Operation status.
107 */
108 GoFx(kStatus) GoPartMatching_SetEdgeQualityDecisionMin(GoPartMatching matching, k64f value);
109
110 /**
111 * Gets the minimum decision value for the edge part matching configuration.
112 *
113 * @public @memberof GoPartMatching
114 * @version Introduced in firmware 4.2.4.7
115 * @param matching GoPartMatching object.
116 * @return The minimum decision value.
117 */
118 GoFx(k64f) GoPartMatching_EdgeQualityDecisionMin(GoPartMatching matching);
119
120 /**
121 * Sets the ellipse match major decision maximum value.
122 *
123 * @public @memberof GoPartMatching
124 * @version Introduced in firmware 4.2.4.7
125 * @param matching GoPartMatching object.
126 * @param value The value to set.(mm)
127 * @return Operation status.
128 */
129 GoFx(kStatus) GoPartMatching_SetEllipseMajorMax(GoPartMatching matching, k64f value);
130
131 /**
132 * Gets the maximum major decision value for the ellipse part matching configuration.
133 *
134 * @public @memberof GoPartMatching
135 * @version Introduced in firmware 4.2.4.7
136 * @param matching GoPartMatching object.
137 * @return The maximum major decision value.(mm)
138 */
139 GoFx(k64f) GoPartMatching_EllipseMajorMax(GoPartMatching matching);
140
141 /**
142 * Sets the ellipse match major decision minimum value.
143 *
144 * @public @memberof GoPartMatching
145 * @version Introduced in firmware 4.2.4.7
146 * @param matching GoPartMatching object.
147 * @param value The value to set.(mm)
148 * @return Operation status.
149 */
150 GoFx(kStatus) GoPartMatching_SetEllipseMajorMin(GoPartMatching matching, k64f value);
151
152 /**
153 * Gets the minimum major decision value for the ellipse part matching configuration.
154 *
155 * @public @memberof GoPartMatching
156 * @version Introduced in firmware 4.2.4.7
157 * @param matching GoPartMatching object.
158 * @return The minimum major decision value.(mm)
159 */
160 GoFx(k64f) GoPartMatching_EllipseMajorMin(GoPartMatching matching);
161
162 /**
163 * Sets the ellipse match minor decision maximum value.
164 *
165 * @public @memberof GoPartMatching
166 * @version Introduced in firmware 4.2.4.7
167 * @param matching GoPartMatching object.
168 * @param value The value to set.(mm)
169 * @return Operation status.
170 */
171 GoFx(kStatus) GoPartMatching_SetEllipseMinorMax(GoPartMatching matching, k64f value);
172
173 /**
174 * Gets the maximum minor decision value for the ellipse part matching configuration.
175 *
176 * @public @memberof GoPartMatching
177 * @version Introduced in firmware 4.2.4.7
178 * @param matching GoPartMatching object.
179 * @return The maximum minor decision value.(mm)
180 */
181 GoFx(k64f) GoPartMatching_EllipseMinorMax(GoPartMatching matching);
182
183 /**
184 * Sets the ellipse match minor decision minimum value.
185 *
186 * @public @memberof GoPartMatching
187 * @version Introduced in firmware 4.2.4.7
188 * @param matching GoPartMatching object.
189 * @param value The value to set.(mm)
190 * @return Operation status.
191 */
192 GoFx(kStatus) GoPartMatching_SetEllipseMinorMin(GoPartMatching matching, k64f value);
193
194 /**
195 * Gets the minimum minor decision value for the ellipse part matching configuration.
196 *
197 * @public @memberof GoPartMatching
198 * @version Introduced in firmware 4.2.4.7
199 * @param matching GoPartMatching object.
200 * @return The minimum minor decision value.(mm)
201 */
202 GoFx(k64f) GoPartMatching_EllipseMinorMin(GoPartMatching matching);
203
204 /**
205 * Sets the ellipse match Z angle value.
206 *
207 * @public @memberof GoPartMatching
208 * @version Introduced in firmware 4.2.4.7
209 * @param matching GoPartMatching object.
210 * @param value The value to set. (degrees)
211 * @return Operation status.
212 */
213 GoFx(kStatus) GoPartMatching_SetEllipseZAngle(GoPartMatching matching, k64f value);
214
215 /**
216 * Gets the ellipse Z angle value for the ellipse part matching configuration.
217 *
218 * @public @memberof GoPartMatching
219 * @version Introduced in firmware 4.2.4.7
220 * @param matching GoPartMatching object.
221 * @return The Z angle value.(degrees)
222 */
223 GoFx(k64f) GoPartMatching_EllipseZAngle(GoPartMatching matching);
224
225 /**
226 * Sets the ellipse match decision asymmetry detection type.
227 *
228 * @public @memberof GoPartMatching
229 * @version Introduced in firmware 4.4.4.14
230 * @param matching GoPartMatching object.
231 * @param value The value to set.
232 * @return Operation status.
233 */
234 GoFx(kStatus) GoPartMatching_SetEllipseAsymmetryDetectionType(GoPartMatching matching, GoEllipseAsymmetryType value);
235
236 /**
237 * Gets the asymmetry detection type for the ellipse part matching configuration.
238 *
239 * @public @memberof GoPartMatching
240 * @version Introduced in firmware 4.4.4.14
241 * @param matching GoPartMatching object.
242 * @return The asymmetry detection type.
243 */
244 GoFx(GoEllipseAsymmetryType) GoPartMatching_EllipseAsymmetryDetectionType(GoPartMatching matching);
245
246 /**
247 * Sets the bounding box match decision maximum width value.
248 *
249 * @public @memberof GoPartMatching
250 * @version Introduced in firmware 4.2.4.7
251 * @param matching GoPartMatching object.
252 * @param value The value to set.(mm)
253 * @return Operation status.
254 */
255 GoFx(kStatus) GoPartMatching_SetBoundingBoxWidthMax(GoPartMatching matching, k64f value);
256
257 /**
258 * Gets the maximum width decision value for the bounding box part matching configuration.
259 *
260 * @public @memberof GoPartMatching
261 * @version Introduced in firmware 4.2.4.7
262 * @param matching GoPartMatching object.
263 * @return The maximum width decision value.(mm)
264 */
265 GoFx(k64f) GoPartMatching_BoundingBoxWidthMax(GoPartMatching matching);
266
267 /**
268 * Sets the bounding box match decision minimum width value.
269 *
270 * @public @memberof GoPartMatching
271 * @version Introduced in firmware 4.2.4.7
272 * @param matching GoPartMatching object.
273 * @param value The value to set.(mm)
274 * @return Operation status.
275 */
276 GoFx(kStatus) GoPartMatching_SetBoundingBoxWidthMin(GoPartMatching matching, k64f value);
277
278 /**
279 * Gets the minimum width decision value for the bounding box part matching configuration.
280 *
281 * @public @memberof GoPartMatching
282 * @version Introduced in firmware 4.2.4.7
283 * @param matching GoPartMatching object.
284 * @return The minimum width decision value.(mm)
285 */
286 GoFx(k64f) GoPartMatching_BoundingBoxWidthMin(GoPartMatching matching);
287
288 /**
289 * Sets the bounding box match decision maximum length value.
290 *
291 * @public @memberof GoPartMatching
292 * @version Introduced in firmware 4.2.4.7
293 * @param matching GoPartMatching object.
294 * @param value The value to set.(mm)
295 * @return Operation status.
296 */
297 GoFx(kStatus) GoPartMatching_SetBoundingBoxLengthMax(GoPartMatching matching, k64f value);
298
299 /**
300 * Gets the maximum length decision value for the bounding box part matching configuration.
301 *
302 * @public @memberof GoPartMatching
303 * @version Introduced in firmware 4.2.4.7
304 * @param matching GoPartMatching object.
305 * @return The maximum length decision value.(mm)
306 */
307 GoFx(k64f) GoPartMatching_BoundingBoxLengthMax(GoPartMatching matching);
308
309 /**
310 * Sets the bounding box match decision minimum length value.
311 *
312 * @public @memberof GoPartMatching
313 * @version Introduced in firmware 4.2.4.7
314 * @param matching GoPartMatching object.
315 * @param value The value to set.(mm)
316 * @return Operation status.
317 */
318 GoFx(kStatus) GoPartMatching_SetBoundingBoxLengthMin(GoPartMatching matching, k64f value);
319
320 /**
321 * Gets the minimum length decision value for the bounding box part matching configuration.
322 *
323 * @public @memberof GoPartMatching
324 * @version Introduced in firmware 4.2.4.7
325 * @param matching GoPartMatching object.
326 * @return The minimum length decision value.(mm)
327 */
328 GoFx(k64f) GoPartMatching_BoundingBoxLengthMin(GoPartMatching matching);
329
330 /**
331 * Sets the bounding box match decision Z angle value.
332 *
333 * @public @memberof GoPartMatching
334 * @version Introduced in firmware 4.2.4.7
335 * @param matching GoPartMatching object.
336 * @param value The value to set.(mm)
337 * @return Operation status.
338 */
339 GoFx(kStatus) GoPartMatching_SetBoundingBoxZAngle(GoPartMatching matching, k64f value);
340
341 /**
342 * Gets the Z angle value for the bounding box part matching configuration.
343 *
344 * @public @memberof GoPartMatching
345 * @version Introduced in firmware 4.2.4.7
346 * @param matching GoPartMatching object.
347 * @return The Z angle value.(degrees)
348 */
349 GoFx(k64f) GoPartMatching_BoundingBoxZAngle(GoPartMatching matching);
350
351 /**
352 * Sets the bounding box match decision asymmetry detection type.
353 *
354 * @public @memberof GoPartMatching
355 * @version Introduced in firmware 4.4.4.14
356 * @param matching GoPartMatching object.
357 * @param value The value to set.(degrees)
358 * @return Operation status.
359 */
360 GoFx(kStatus) GoPartMatching_SetBoundingBoxAsymmetryDetectionType(GoPartMatching matching, GoBoxAsymmetryType value);
361
362 /**
363 * Gets the asymmetry detection type for the bounding box part matching configuration.
364 *
365 * @public @memberof GoPartMatching
366 * @version Introduced in firmware 4.4.4.14
367 * @param matching GoPartMatching object.
368 * @return The asymmetry detection type.
369 */
370 GoFx(GoBoxAsymmetryType) GoPartMatching_BoundingBoxAsymmetryDetectionType(GoPartMatching matching);
371
372 kEndHeader()
373 #include <GoSdk/GoPartMatching.x.h>
374
375 #endif
376
377 /// @endcond
kChar
GoSdkDef.h
Essential SDK declarations.
kObject
kStatus
k64f
kBool