Gocator API

- Home
- Types
- Files

All Classes Files Functions Variables Typedefs Macros Modules Pages
GoSurfaceTools.h
1 /// @cond (Gocator_2x00 || Gocator_3x00)
2 /**
3 * @file GoSurfaceTools.h
4 * @brief Declares all surface tools and their related classes.
5 *
6 * @internal
7 * Copyright (C) 2016-2018 by LMI Technologies Inc.
8 * Licensed under the MIT License.
9 * Redistributed files must retain the above copyright notice.
10 */
11
12 #ifndef GO_SURFACE_TOOLS_H
13 #define GO_SURFACE_TOOLS_H
14
15 #include <GoSdk/GoSdkDef.h>
16 #include <GoSdk/Tools/GoTool.h>
17 #include <GoSdk/Tools/GoExtTool.h>
18 #include <GoSdk/Tools/GoSurfaceToolUtils.h>
19 #include <GoSdk/GoUtils.h>
20
21 kBeginHeader()
22
23 /**
24 * @class GoSurfaceTool
25 * @extends GoTool
26 * @ingroup GoSdk-SurfaceTools
27 * @brief Represents a base surface tool.
28 */
29 typedef GoTool GoSurfaceTool;
30
31 /**
32 * Sets the data source. Note that source validation will only occur if tool
33 * is in the tool options list.
34 *
35 * @public @memberof GoSurfaceTool
36 * @version Introduced in firmware 4.0.10.27
37 * @param tool GoSurfaceTool object.
38 * @param source GoDataSource object.
39 * @return Operation status.
40 * @see GoTools_ToolOptionCount, GoTools_ToolOptionAt
41 */
42 GoFx(kStatus) GoSurfaceTool_SetSource(GoSurfaceTool tool, GoDataSource source);
43
44 /**
45 * Gets the data source.
46 *
47 * @public @memberof GoSurfaceTool
48 * @version Introduced in firmware 4.0.10.27
49 * @param tool GoSurfaceTool object.
50 * @return The data source.
51 */
52 GoFx(GoDataSource) GoSurfaceTool_Source(GoSurfaceTool tool);
53
54 /**
55 * Gets the data source option list count.
56 *
57 * @public @memberof GoSurfaceTool
58 * @version Introduced in firmware 4.0.10.27
59 * @param tool GoSurfaceTool object.
60 * @return The current tool data source option list count.
61 */
62 GoFx(kSize) GoSurfaceTool_SourceOptionCount(GoSurfaceTool tool);
63
64 /**
65 * Gets the data source option at the given index.
66 *
67 * @public @memberof GoSurfaceTool
68 * @version Introduced in firmware 4.0.10.27
69 * @param tool GoSurfaceTool object.
70 * @param index The index of the option list to access.
71 * @return The tool data source option at the given index, or k32U_MAX if an invalid index is given.
72 */
73
74 GoFx(k32u) GoSurfaceTool_SourceOptionAt(GoSurfaceTool tool, kSize index);
75
76 /**
77 * Gets the X-anchoring option list count.
78 *
79 * @public @memberof GoSurfaceTool
80 * @version Introduced in firmware 4.0.10.27
81 * @param tool GoSurfaceTool object.
82 * @return The X-anchoring option list count.
83 */
84 GoFx(kSize) GoSurfaceTool_XAnchorOptionCount(GoSurfaceTool tool);
85
86 /**
87 * Gets the X-anchoring option at the given index.
88 *
89 * @public @memberof GoSurfaceTool
90 * @version Introduced in firmware 4.0.10.27
91 * @param tool GoSurfaceTool object.
92 * @param index The index of the option list to access.
93 * @return The X-anchoring option at the given index or k32U_MAX if invalid.
94 */
95 GoFx(k32u) GoSurfaceTool_XAnchorOptionAt(GoSurfaceTool tool, kSize index);
96
97 /**
98 * Gets the current X-anchoring source.
99 *
100 * @public @memberof GoSurfaceTool
101 * @version Introduced in firmware 4.0.10.27
102 * @param tool GoSurfaceTool object.
103 * @return The X-anchoring source or -1 if no source is currently set.
104 */
105 GoFx(k32s) GoSurfaceTool_XAnchor(GoSurfaceTool tool);
106
107 /**
108 * Sets the X-anchoring source.
109 *
110 * @public @memberof GoSurfaceTool
111 * @version Introduced in firmware 4.0.10.27
112 * @param tool GoSurfaceTool object.
113 * @param id The measurement ID of a valid X-anchoring source.
114 * @return Operation status.
115 */
116 GoFx(kStatus) GoSurfaceTool_SetXAnchor(GoSurfaceTool tool, k32s id);
117
118 /**
119 * Returns a boolean value representing whether or not a valid X-anchoring source has been set for X-anchoring.
120 *
121 * @public @memberof GoSurfaceTool
122 * @version Introduced in firmware 4.0.10.27
123 * @param tool GoSurfaceTool object.
124 * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
125 */
126 GoFx(kBool) GoSurfaceTool_XAnchorEnabled(GoSurfaceTool tool);
127
128 /**
129 * Gets the Y-anchoring option list count.
130 *
131 * @public @memberof GoSurfaceTool
132 * @version Introduced in firmware 4.0.10.27
133 * @param tool GoSurfaceTool object.
134 * @return The Y-anchoring option list count.
135 */
136 GoFx(kSize) GoSurfaceTool_YAnchorOptionCount(GoSurfaceTool tool);
137
138 /**
139 * Gets the Y-anchoring option at the given index.
140 *
141 * @public @memberof GoSurfaceTool
142 * @version Introduced in firmware 4.0.10.27
143 * @param tool GoSurfaceTool object.
144 * @param index The index of the option list to access.
145 * @return The Y-anchoring option at the given index or k32U_MAX if invalid.
146 */
147 GoFx(k32u) GoSurfaceTool_YAnchorOptionAt(GoSurfaceTool tool, kSize index);
148
149 /**
150 * Gets the current Y-anchoring source.
151 *
152 * @public @memberof GoSurfaceTool
153 * @version Introduced in firmware 4.0.10.27
154 * @param tool GoSurfaceTool object.
155 * @return The Y-anchoring source or -1 if no source is currently set.
156 */
157 GoFx(k32s) GoSurfaceTool_YAnchor(GoSurfaceTool tool);
158
159 /**
160 * Sets the Y-anchoring source.
161 *
162 * @public @memberof GoSurfaceTool
163 * @version Introduced in firmware 4.0.10.27
164 * @param tool GoSurfaceTool object.
165 * @param id The measurement ID of a valid Y-anchoring source.
166 * @return Operation status.
167 */
168 GoFx(kStatus) GoSurfaceTool_SetYAnchor(GoSurfaceTool tool, k32s id);
169
170 /**
171 * Returns a boolean value representing whether or not a valid Y-anchoring source has been set for Y-anchoring.
172 *
173 * @public @memberof GoSurfaceTool
174 * @version Introduced in firmware 4.0.10.27
175 * @param tool GoSurfaceTool object.
176 * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
177 */
178 GoFx(kBool) GoSurfaceTool_YAnchorEnabled(GoSurfaceTool tool);
179
180 /**
181 * Gets the Z-anchoring option list count.
182 *
183 * @public @memberof GoSurfaceTool
184 * @version Introduced in firmware 4.0.10.27
185 * @param tool GoSurfaceTool object.
186 * @return The X-anchoring option list count.
187 */
188 GoFx(kSize) GoSurfaceTool_ZAnchorOptionCount(GoSurfaceTool tool);
189
190 /**
191 * Gets the Z-anchoring option at the given index.
192 *
193 * @public @memberof GoSurfaceTool
194 * @version Introduced in firmware 4.0.10.27
195 * @param tool GoSurfaceTool object.
196 * @param index The index of the option list to access.
197 * @return The Z-anchoring option at the given index or k32U_MAX if invalid.
198 */
199 GoFx(k32u) GoSurfaceTool_ZAnchorOptionAt(GoSurfaceTool tool, kSize index);
200
201 /**
202 * Gets the current Z-anchoring source.
203 *
204 * @public @memberof GoSurfaceTool
205 * @version Introduced in firmware 4.0.10.27
206 * @param tool GoSurfaceTool object.
207 * @return The Z-anchoring source or -1 if no source is currently set.
208 */
209 GoFx(k32s) GoSurfaceTool_ZAnchor(GoSurfaceTool tool);
210
211 /**
212 * Sets the Z-anchoring source.
213 *
214 * @public @memberof GoSurfaceTool
215 * @version Introduced in firmware 4.0.10.27
216 * @param tool GoSurfaceTool object.
217 * @param id The measurement ID of a valid Z-anchoring source.
218 * @return Operation status.
219 */
220 GoFx(kStatus) GoSurfaceTool_SetZAnchor(GoSurfaceTool tool, k32s id);
221
222 /**
223 * Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anchoring.
224 *
225 * @public @memberof GoSurfaceTool
226 * @version Introduced in firmware 4.0.10.27
227 * @param tool GoSurfaceTool object.
228 * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
229 */
230 GoFx(kBool) GoSurfaceTool_ZAnchorEnabled(GoSurfaceTool tool);
231
232 /**
233 * Gets the Z-anchoring option list count.
234 *
235 * @public @memberof GoSurfaceTool
236 * @version Introduced in firmware 4.6.1.123
237 * @param tool GoSurfaceTool object.
238 * @return The X-anchoring option list count.
239 */
240 GoFx(kSize) GoSurfaceTool_ZAngleAnchorOptionCount(GoSurfaceTool tool);
241
242 /**
243 * Gets the ZAngle-anchoring option at the given index.
244 *
245 * @public @memberof GoSurfaceTool
246 * @version Introduced in firmware 4.6.1.123
247 * @param tool GoSurfaceTool object.
248 * @param index The index of the option list to access.
249 * @return The Z-anchoring option at the given index or k32U_MAX if invalid.
250 */
251 GoFx(k32u) GoSurfaceTool_ZAngleAnchorOptionAt(GoSurfaceTool tool, kSize index);
252
253 /**
254 * Sets the ZAngle-anchoring source.
255 *
256 * @public @memberof GoSurfaceTool
257 * @version Introduced in firmware 4.6.1.123
258 * @param tool GoSurfaceTool object.
259 * @param id The measurement ID of a valid Z-anchoring source.
260 * @return Operation status.
261 */
262 GoFx(kStatus) GoSurfaceTool_SetZAngleAnchor(GoSurfaceTool tool, k32s id);
263
264 /**
265 * Returns a boolean value representing whether or not a valid ZAngle - anchoring source has been set for ZAngle - anchoring.
266 *
267 * @public @memberof GoSurfaceTool
268 * @version Introduced in firmware 4.6.1.123
269 * @param tool GoSurfaceTool object.
270 * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
271 */
272 GoFx(kBool) GoSurfaceTool_ZAngleAnchorEnabled(GoSurfaceTool tool);
273
274 /**
275 * Sets the ZAngle-anchoring source.
276 *
277 * @public @memberof GoSurfaceTool
278 * @version Introduced in firmware 4.6.1.123
279 * @param tool GoSurfaceTool object.
280 * @return Operation status.
281 */
282 GoFx(k32s) GoSurfaceTool_ZAngleAnchor(GoSurfaceTool tool);
283
284 /**
285 * @class GoSurfaceBox
286 * @extends GoSurfaceTool
287 * @ingroup GoSdk-SurfaceTools
288 * @brief Represents a surface bounding box tool.\n all width/height/length/radius and x/y/z units are in mm, angles in degrees
289 */
290 typedef GoSurfaceTool GoSurfaceBox;
291
292 /**
293 * Returns the enabled state of Z-rotation.
294 *
295 * @public @memberof GoSurfaceBox
296 * @version Introduced in firmware 4.0.10.27
297 * @param tool GoSurfaceBox object.
298 * @return kTRUE if enabled and kFALSE if disabled.
299 */
300 GoFx(kBool) GoSurfaceBox_ZRotationEnabled(GoSurfaceBox tool);
301
302 /**
303 * Enables or disables Z-rotation.
304 *
305 * @public @memberof GoSurfaceBox
306 * @version Introduced in firmware 4.0.10.27
307 * @param tool GoSurfaceBox object.
308 * @param enable kTRUE to enable Z-rotation, kFALSE to disable it.
309 * @return Operation status.
310 */
311 GoFx(kStatus) GoSurfaceBox_EnableZRotation(GoSurfaceBox tool, kBool enable);
312
313 /**
314 * Returns the enabled state of the tool region.
315 *
316 * @public @memberof GoSurfaceBox
317 * @version Introduced in firmware 4.0.10.27
318 * @param tool GoSurfaceBox object.
319 * @return kTRUE if enabled and kFALSE if disabled.
320 */
321 GoFx(kBool) GoSurfaceBox_RegionEnabled(GoSurfaceBox tool);
322
323 /**
324 * Enables or disables the tool region.
325 *
326 * @public @memberof GoSurfaceBox
327 * @version Introduced in firmware 4.0.10.27
328 * @param tool GoSurfaceBox object.
329 * @param enable kTRUE to enable the tool region, kFALSE to disable it.
330 * @return Operation status.
331 */
332 GoFx(kStatus) GoSurfaceBox_EnableRegion(GoSurfaceBox tool, kBool enable);
333
334 /**
335 * Gets the surface bounding box region.
336 *
337 * @public @memberof GoSurfaceBox
338 * @version Introduced in firmware 4.0.10.27
339 * @param tool GoSurfaceBox object.
340 * @return A GoRegion3d object.
341 */
342 GoFx(GoRegion3d) GoSurfaceBox_Region(GoSurfaceBox tool);
343
344 /**
345 * Sets the asymmetry detection type.
346 *
347 * @public @memberof GoSurfaceBox
348 * @version Introduced in firmware 4.4.4.14
349 * @param tool GoSurfaceBox object.
350 * @param value The asymmetry detection type to set.
351 * @return Operation status.
352 */
353 GoFx(kStatus) GoSurfaceBox_SetAsymmetryDetectionType(GoSurfaceBox tool, GoBoxAsymmetryType value);
354
355 /**
356 * Gets the asymmetry detection type.
357 *
358 * @public @memberof GoSurfaceBox
359 * @version Introduced in firmware 4.4.4.14
360 * @param tool GoSurfaceBox object.
361 * @return The asymmetry detection type.
362 */
363 GoFx(GoBoxAsymmetryType) GoSurfaceBox_AsymmetryDetectionType(GoSurfaceBox tool);
364
365 /**
366 * Returns a GoSurfaceBox X measurement object.
367 *
368 * @public @memberof GoSurfaceBox
369 * @version Introduced in firmware 4.0.10.27
370 * @param tool GoSurfaceBox object.
371 * @return A GoSurfaceBox X measurement.
372 */
373 GoFx(GoSurfaceBoxX) GoSurfaceBox_XMeasurement(GoSurfaceBox tool);
374
375 /**
376 * Returns a GoSurfaceBox Y measurement object.
377 *
378 * @public @memberof GoSurfaceBox
379 * @version Introduced in firmware 4.0.10.27
380 * @param tool GoSurfaceBox object.
381 * @return A GoSurfaceBox Y measurement.
382 */
383 GoFx(GoSurfaceBoxY) GoSurfaceBox_YMeasurement(GoSurfaceBox tool);
384
385 /**
386 * Returns a GoSurfaceBox Z measurement object.
387 *
388 * @public @memberof GoSurfaceBox
389 * @version Introduced in firmware 4.0.10.27
390 * @param tool GoSurfaceBox object.
391 * @return A GoSurfaceBox Z measurement.
392 */
393 GoFx(GoSurfaceBoxZ) GoSurfaceBox_ZMeasurement(GoSurfaceBox tool);
394
395 /**
396 * Returns a GoSurfaceBox Width measurement object.
397 *
398 * @public @memberof GoSurfaceBox
399 * @version Introduced in firmware 4.0.10.27
400 * @param tool GoSurfaceBox object.
401 * @return A GoSurfaceBox Width measurement.
402 */
403 GoFx(GoSurfaceBoxWidth) GoSurfaceBox_WidthMeasurement(GoSurfaceBox tool);
404
405 /**
406 * Returns a GoSurfaceBox Length measurement object.
407 *
408 * @public @memberof GoSurfaceBox
409 * @version Introduced in firmware 4.0.10.27
410 * @param tool GoSurfaceBox object.
411 * @return A GoSurfaceBox Length measurement.
412 */
413 GoFx(GoSurfaceBoxLength) GoSurfaceBox_LengthMeasurement(GoSurfaceBox tool);
414
415 /**
416 * Returns a GoSurfaceBox Height measurement object.
417 *
418 * @public @memberof GoSurfaceBox
419 * @version Introduced in firmware 4.0.10.27
420 * @param tool GoSurfaceBox object.
421 * @return A GoSurfaceBox Height measurement.
422 */
423 GoFx(GoSurfaceBoxHeight) GoSurfaceBox_HeightMeasurement(GoSurfaceBox tool);
424
425 /**
426 * Returns a GoSurfaceBox Z Angle measurement object.
427 *
428 * @public @memberof GoSurfaceBox
429 * @version Introduced in firmware 4.0.10.27
430 * @param tool GoSurfaceBox object.
431 * @return A GoSurfaceBox Z Angle measurement.
432 */
433 GoFx(GoSurfaceBoxZAngle) GoSurfaceBox_ZAngleMeasurement(GoSurfaceBox tool);
434
435 /**
436 * Returns a GoSurfaceBox global X measurement object.
437 *
438 * @public @memberof GoSurfaceBox
439 * @version Introduced in firmware 4.0.10.27
440 * @param tool GoSurfaceBox object.
441 * @return A GoSurfaceBox global X measurement.
442 */
443 GoFx(GoSurfaceBoxGlobalX) GoSurfaceBox_GlobalXMeasurement(GoSurfaceBox tool);
444
445 /**
446 * Returns a GoSurfaceBox global Y measurement object.
447 *
448 * @public @memberof GoSurfaceBox
449 * @version Introduced in firmware 4.0.10.27
450 * @param tool GoSurfaceBox object.
451 * @return A GoSurfaceBox global Y measurement.
452 */
453 GoFx(GoSurfaceBoxGlobalY) GoSurfaceBox_GlobalYMeasurement(GoSurfaceBox tool);
454
455 /**
456 * Returns a GoSurfaceBox global Z Angle measurement object.
457 *
458 * @public @memberof GoSurfaceBox
459 * @version Introduced in firmware 4.2.4.7
460 * @param tool GoSurfaceBox object.
461 * @return A GoSurfaceBox global Z angle measurement.
462 */
463 GoFx(GoSurfaceBoxGlobalZAngle) GoSurfaceBox_GlobalZAngleMeasurement(GoSurfaceBox tool);
464
465 /**
466 * Returns a GoSurfaceBoundingBoxCenterPoint center point feature object.
467 *
468 * @public @memberof GoSurfaceBox
469 * @version Introduced in firmware 4.2.4.7
470 * @param tool GoSurfaceBox object.
471 * @return A GoSurfaceBoundingBoxCenterPoint center point feature.
472 */
473 GoFx(GoSurfaceBoundingBoxCenterPoint) GoSurfaceBox_CenterPoint(GoSurfaceBoundingBoxCenterPoint tool);
474
475 /**
476 * @class GoSurfaceCountersunkHole
477 * @extends GoSurfaceTool
478 * @ingroup GoSdk-SurfaceTools
479 * @brief Represents a Surface Counter Sunk Hole tool. all width/height/length/radius and x/y/z units are in mm, angles in degrees
480 */
481 typedef GoSurfaceTool GoSurfaceCountersunkHole;
482
483 /**
484 * Sets the shape.
485 *
486 * @public @memberof GoSurfaceCountersunkHole
487 * @version Introduced in firmware 4.3.3.124
488 * @param tool GoSurfaceCountersunkHole object.
489 * @param value The value to set.
490 * @return Operation status.
491 */
492 GoFx(kStatus) GoSurfaceCountersunkHole_SetShape(GoSurfaceCountersunkHole tool, GoSurfaceCountersunkHoleShape value);
493
494 /**
495 * Returns the shape.
496 *
497 * @public @memberof GoSurfaceCountersunkHole
498 * @version Introduced in firmware 4.3.3.124
499 * @param tool GoSurfaceCountersunkHole object.
500 * @return The nominal bevel angle.
501 */
502 GoFx(GoSurfaceCountersunkHoleShape) GoSurfaceCountersunkHole_Shape(GoSurfaceCountersunkHole tool);
503
504 /**
505 * Sets the nominal bevel angle.
506 *
507 * @public @memberof GoSurfaceCountersunkHole
508 * @version Introduced in firmware 4.0.10.27
509 * @param tool GoSurfaceCountersunkHole object.
510 * @param value The value to set.
511 * @return Operation status.
512 */
513 GoFx(kStatus) GoSurfaceCountersunkHole_SetNominalBevelAngle(GoSurfaceCountersunkHole tool, k64f value);
514
515 /**
516 * Returns the nominal bevel angle.
517 *
518 * @public @memberof GoSurfaceCountersunkHole
519 * @version Introduced in firmware 4.0.10.27
520 * @param tool GoSurfaceCountersunkHole object.
521 * @return The nominal bevel angle.
522 */
523 GoFx(k64f) GoSurfaceCountersunkHole_NominalBevelAngle(GoSurfaceCountersunkHole tool);
524
525 /**
526 * Sets the nominal outer radius.
527 *
528 * @public @memberof GoSurfaceCountersunkHole
529 * @version Introduced in firmware 4.0.10.27
530 * @param tool GoSurfaceCountersunkHole object.
531 * @param value The value to set.
532 * @return Operation status.
533 */
534 GoFx(kStatus) GoSurfaceCountersunkHole_SetNominalOuterRadius(GoSurfaceCountersunkHole tool, k64f value);
535
536 /**
537 * Returns the nominal outer radius.
538 *
539 * @public @memberof GoSurfaceCountersunkHole
540 * @version Introduced in firmware 4.0.10.27
541 * @param tool GoSurfaceCountersunkHole object.
542 * @return The nominal outer radius.
543 */
544 GoFx(k64f) GoSurfaceCountersunkHole_NominalOuterRadius(GoSurfaceCountersunkHole tool);
545
546 /**
547 * Sets the nominal inner radius.
548 *
549 * @public @memberof GoSurfaceCountersunkHole
550 * @version Introduced in firmware 4.0.10.27
551 * @param tool GoSurfaceCountersunkHole object.
552 * @param value The value to set.
553 * @return Operation status.
554 */
555 GoFx(kStatus) GoSurfaceCountersunkHole_SetNominalInnerRadius(GoSurfaceCountersunkHole tool, k64f value);
556
557 /**
558 * Returns the nominal inner radius.
559 *
560 * @public @memberof GoSurfaceCountersunkHole
561 * @version Introduced in firmware 4.0.10.27
562 * @param tool GoSurfaceCountersunkHole object.
563 * @return The nominal inner radius.
564 */
565 GoFx(k64f) GoSurfaceCountersunkHole_NominalInnerRadius(GoSurfaceCountersunkHole tool);
566
567 /**
568 * Sets the bevel radius offset.
569 *
570 * @public @memberof GoSurfaceCountersunkHole
571 * @version Introduced in firmware 4.0.10.27
572 * @param tool GoSurfaceCountersunkHole object.
573 * @param value The value to set.
574 * @return Operation status.
575 */
576 GoFx(kStatus) GoSurfaceCountersunkHole_SetBevelRadiusOffset(GoSurfaceCountersunkHole tool, k64f value);
577
578 /**
579 * Returns the bevel radius offset.
580 *
581 * @public @memberof GoSurfaceCountersunkHole
582 * @version Introduced in firmware 4.0.10.27
583 * @param tool GoSurfaceCountersunkHole object.
584 * @return The bevel radius offset.
585 */
586 GoFx(k64f) GoSurfaceCountersunkHole_BevelRadiusOffset(GoSurfaceCountersunkHole tool);
587
588 /**
589 * Enables or disables partial counter sunk hole detection.
590 *
591 * @public @memberof GoSurfaceCountersunkHole
592 * @version Introduced in firmware 4.0.10.27
593 * @param tool GoSurfaceCountersunkHole object.
594 * @param enable kTRUE to enable partial detection and kFALSE to disable it.
595 * @return Operation status.
596 */
597 GoFx(kStatus) GoSurfaceCountersunkHole_EnablePartialDetection(GoSurfaceCountersunkHole tool, kBool enable);
598
599 /**
600 * Returns the state of partial detection.
601 *
602 * @public @memberof GoSurfaceCountersunkHole
603 * @version Introduced in firmware 4.0.10.27
604 * @param tool GoSurfaceCountersunkHole object.
605 * @return kTRUE if partial detection is enabled. kFALSE otherwise.
606 */
607 GoFx(kBool) GoSurfaceCountersunkHole_PartialDetectionEnabled(GoSurfaceCountersunkHole tool);
608
609 /**
610 * Enables or disables the tool region.
611 *
612 * @public @memberof GoSurfaceCountersunkHole
613 * @version Introduced in firmware 4.0.10.27
614 * @param tool GoSurfaceCountersunkHole object.
615 * @param enable kTRUE to enable the tool region and kFALSE to disable it.
616 * @return Operation status.
617 */
618 GoFx(kStatus) GoSurfaceCountersunkHole_EnableRegion(GoSurfaceCountersunkHole tool, kBool enable);
619
620 /**
621 * Returns the state of the tool region.
622 *
623 * @public @memberof GoSurfaceCountersunkHole
624 * @version Introduced in firmware 4.0.10.27
625 * @param tool GoSurfaceCountersunkHole object.
626 * @return kTRUE if the tool region is enabled. kFALSE otherwise.
627 */
628 GoFx(kBool) GoSurfaceCountersunkHole_RegionEnabled(GoSurfaceCountersunkHole tool);
629
630 /**
631 * Returns the tool region.
632 *
633 * @public @memberof GoSurfaceCountersunkHole
634 * @version Introduced in firmware 4.0.10.27
635 * @param tool GoSurfaceCountersunkHole object.
636 * @return The tool region.
637 */
638 GoFx(GoRegion3d) GoSurfaceCountersunkHole_Region(GoSurfaceCountersunkHole tool);
639
640 /**
641 * Enables or disables reference regions.
642 *
643 * @public @memberof GoSurfaceCountersunkHole
644 * @version Introduced in firmware 4.0.10.27
645 * @param tool GoSurfaceCountersunkHole object.
646 * @param enable kTRUE to enable reference regions and kFALSE to disable them.
647 * @return Operation status.
648 */
649 GoFx(kStatus) GoSurfaceCountersunkHole_EnableRefRegions(GoSurfaceCountersunkHole tool, kBool enable);
650
651 /**
652 * Returns the state of the tool reference regions.
653 *
654 * @public @memberof GoSurfaceCountersunkHole
655 * @version Introduced in firmware 4.0.10.27
656 * @param tool GoSurfaceCountersunkHole object.
657 * @return kTRUE if refrence regions are enabled. kFALSE otherwise.
658 */
659 GoFx(kBool) GoSurfaceCountersunkHole_RefRegionsEnabled(GoSurfaceCountersunkHole tool);
660
661 /**
662 * Sets the reference region count.
663 *
664 * @public @memberof GoSurfaceCountersunkHole
665 * @version Introduced in firmware 4.0.10.27
666 * @param tool GoSurfaceCountersunkHole object.
667 * @param count The number of references regions to use when enabled.
668 * @return Reference region count.
669 * @see GO_SURFACE_COUNTERSUNK_HOLE_MAX_REF_REGIONS
670
671 */
672 GoFx(kStatus) GoSurfaceCountersunkHole_SetRefRegionCount(GoSurfaceCountersunkHole tool, kSize count);
673
674 /**
675 * Returns the reference region count.
676 *
677 * @public @memberof GoSurfaceCountersunkHole
678 * @version Introduced in firmware 4.0.10.27
679 * @param tool GoSurfaceCountersunkHole object.
680 * @return Reference region count.
681 */
682 GoFx(kSize) GoSurfaceCountersunkHole_RefRegionCount(GoSurfaceCountersunkHole tool);
683
684 /**
685 * Returns the reference region at the given index.
686 *
687 * @public @memberof GoSurfaceCountersunkHole
688 * @version Introduced in firmware 4.0.10.27
689 * @param tool GoSurfaceCountersunkHole object.
690 * @param index The index of the reference region to retrieve.
691 * @return A reference region.
692 */
693 GoFx(GoSurfaceRegion2d) GoSurfaceCountersunkHole_RefRegionAt(GoSurfaceCountersunkHole tool, kSize index);
694
695 /**
696 * Enables or disables automatic tilt.
697 *
698 * @public @memberof GoSurfaceCountersunkHole
699 * @version Introduced in firmware 4.0.10.27
700 * @param tool GoSurfaceCountersunkHole object.
701 * @param enable kTRUE to enable auto tilt and kFALSE to disable it.
702 * @return Operation status.
703 */
704 GoFx(kStatus) GoSurfaceCountersunkHole_EnableAutoTilt(GoSurfaceCountersunkHole tool, kBool enable);
705
706 /**
707 * Returns the state of auto tilt.
708 *
709 * @public @memberof GoSurfaceCountersunkHole
710 * @version Introduced in firmware 4.0.10.27
711 * @param tool GoSurfaceCountersunkHole object.
712 * @return kTRUE if auto tilt is enabled. kFALSE otherwise.
713 */
714 GoFx(kBool) GoSurfaceCountersunkHole_AutoTiltEnabled(GoSurfaceCountersunkHole tool);
715
716 /**
717 * Sets the tilt X angle.
718 *
719 * @public @memberof GoSurfaceCountersunkHole
720 * @version Introduced in firmware 4.0.10.27
721 * @param tool GoSurfaceCountersunkHole object.
722 * @param value The value to set.
723 * @return Operation status.
724 */
725 GoFx(kStatus) GoSurfaceCountersunkHole_SetTiltXAngle(GoSurfaceCountersunkHole tool, k64f value);
726
727 /**
728 * Returns the tilt X angle value.
729 *
730 * @public @memberof GoSurfaceCountersunkHole
731 * @version Introduced in firmware 4.0.10.27
732 * @param tool GoSurfaceCountersunkHole object.
733 * @return Tilt X angle value.
734 */
735 GoFx(k64f) GoSurfaceCountersunkHole_TiltXAngle(GoSurfaceCountersunkHole tool);
736
737 /**
738 * Sets the tilt Y angle.
739 *
740 * @public @memberof GoSurfaceCountersunkHole
741 * @version Introduced in firmware 4.0.10.27
742 * @param tool GoSurfaceCountersunkHole object.
743 * @param value The value to set.
744 * @return Operation status.
745 */
746 GoFx(kStatus) GoSurfaceCountersunkHole_SetTiltYAngle(GoSurfaceCountersunkHole tool, k64f value);
747
748 /**
749 * Returns the tilt Y angle value.
750 *
751 * @public @memberof GoSurfaceCountersunkHole
752 * @version Introduced in firmware 4.0.10.27
753 * @param tool GoSurfaceCountersunkHole object.
754 * @return Tilt Y angle value.
755 */
756 GoFx(k64f) GoSurfaceCountersunkHole_TiltYAngle(GoSurfaceCountersunkHole tool);
757
758 /**
759 * Enables or disables curve fitting.
760 *
761 * @public @memberof GoSurfaceCountersunkHole
762 * @version Introduced in firmware 4.1.3.106
763 * @param tool GoSurfaceCountersunkHole object.
764 * @param enable kTRUE to enable curve fitting and kFALSE to disable it.
765 * @return Operation status.
766 */
767 GoFx(kStatus) GoSurfaceCountersunkHole_EnableCurveFit(GoSurfaceCountersunkHole tool, kBool enable);
768
769
770 /**
771 * Returns the state of auto tilt.
772 *
773 * @public @memberof GoSurfaceCountersunkHole
774 * @version Introduced in firmware 4.1.3.106
775 * @param tool GoSurfaceCountersunkHole object.
776 * @return kTRUE if curve fitting is enabled. kFALSE otherwise.
777 */
778 GoFx(kBool) GoSurfaceCountersunkHole_CurveFitEnabled(GoSurfaceCountersunkHole tool);
779
780 /**
781 * Sets the curve orientation angle.
782 *
783 * @public @memberof GoSurfaceCountersunkHole
784 * @version Introduced in firmware 4.1.3.106
785 * @param tool GoSurfaceCountersunkHole object.
786 * @param value The value to set.
787 * @return Operation status.
788 */
789 GoFx(kStatus) GoSurfaceCountersunkHole_SetCurveOrientation(GoSurfaceCountersunkHole tool, k64f value);
790
791 /**
792 * Returns the curve orientation angle value.
793 *
794 * @public @memberof GoSurfaceCountersunkHole
795 * @version Introduced in firmware 4.1.3.106
796 * @param tool GoSurfaceCountersunkHole object.
797 * @return Curve orientation angle value.
798 */
799 GoFx(k64f) GoSurfaceCountersunkHole_CurveOrientation(GoSurfaceCountersunkHole tool);
800
801 /**
802 * Sets the plane fit range.
803 *
804 * @public @memberof GoSurfaceCountersunkHole
805 * @version Introduced in firmware 4.5.3.57
806 * @param tool GoSurfaceCountersunkHole object.
807 * @param value The value to set.
808 * @return Operation status.
809 */
810 GoFx(kStatus) GoSurfaceCountersunkHole_SetPlaneFitRange(GoSurfaceCountersunkHole tool, k64f value);
811
812 /**
813 * Gets the enabled state of the plane fit range.
814 *
815 * @public @memberof GoSurfaceCountersunkHole
816 * @version Introduced in firmware 4.5.3.57
817 * @param tool GoSurfaceCountersunkHole object.
818 * @return kTRUE if enabled and kFALSE if disabled.
819 */
820 GoFx(kBool) GoSurfaceCountersunkHole_PlaneFitRangeEnabled(GoSurfaceCountersunkHole tool);
821
822 /**
823 * Sets the enabled state of the plane fit range.
824 *
825 * @public @memberof GoSurfaceCountersunkHole
826 * @version Introduced in firmware 4.5.3.57
827 * @param tool GoSurfaceCountersunkHole object.
828 * @param enable kTRUE to enable it and kFALSE to disable it.
829 * @return Operation status.
830 */
831 GoFx(kStatus) GoSurfaceCountersunkHole_EnablePlaneFitRange(GoSurfaceCountersunkHole tool, kBool enable);
832
833 /**
834 * Returns the plane fit range.
835 *
836 * @public @memberof GoSurfaceCountersunkHole
837 * @version Introduced in firmware 4.5.3.57
838 * @param tool GoSurfaceCountersunkHole object.
839 * @return Plane fit range value.
840 */
841 GoFx(k64f) GoSurfaceCountersunkHole_PlaneFitRange(GoSurfaceCountersunkHole tool);
842
843 /**
844 * Returns a GoSurfaceCountersunkHole tool X position measurement object.
845 *
846 * @public @memberof GoSurfaceCountersunkHole
847 * @version Introduced in firmware 4.0.10.27
848 * @param tool GoSurfaceCountersunkHole object.
849 * @return A GoSurfaceCountersunkHole X position measurement.
850 */
851 GoFx(GoSurfaceCountersunkHoleX) GoSurfaceCountersunkHole_XMeasurement(GoSurfaceCountersunkHole tool);
852
853 /**
854 * Returns a GoSurfaceCountersunkHole tool Y position measurement object.
855 *
856 * @public @memberof GoSurfaceCountersunkHole
857 * @version Introduced in firmware 4.0.10.27
858 * @param tool GoSurfaceCountersunkHole object.
859 * @return A GoSurfaceCountersunkHole Y position measurement.
860 */
861 GoFx(GoSurfaceCountersunkHoleY) GoSurfaceCountersunkHole_YMeasurement(GoSurfaceCountersunkHole tool);
862
863 /**
864 * Returns a GoSurfaceCountersunkHole tool Z position measurement object.
865 *
866 * @public @memberof GoSurfaceCountersunkHole
867 * @version Introduced in firmware 4.0.10.27
868 * @param tool GoSurfaceCountersunkHole object.
869 * @return A GoSurfaceCountersunkHole Z position measurement.
870 */
871 GoFx(GoSurfaceCountersunkHoleZ) GoSurfaceCountersunkHole_ZMeasurement(GoSurfaceCountersunkHole tool);
872
873 /**
874 * Returns a GoSurfaceCountersunkHole tool Outer Radius measurement object.
875 *
876 * @public @memberof GoSurfaceCountersunkHole
877 * @version Introduced in firmware 4.0.10.27
878 * @param tool GoSurfaceCountersunkHole object.
879 * @return A GoSurfaceCountersunkHoleOuterRadius Outer Radius measurement.
880 */
881 GoFx(GoSurfaceCountersunkHoleOuterRadius) GoSurfaceCountersunkHole_OuterRadiusMeasurement(GoSurfaceCountersunkHole tool);
882
883 /**
884 * Returns a GoSurfaceCountersunkHole tool Depth measurement object.
885 *
886 * @public @memberof GoSurfaceCountersunkHole
887 * @version Introduced in firmware 4.0.10.27
888 * @param tool GoSurfaceCountersunkHole object.
889 * @return A GoSurfaceCoGoSurfaceCountersunkHoleDepthuntersunkHole Depth measurement.
890 */
891 GoFx(GoSurfaceCountersunkHoleDepth) GoSurfaceCountersunkHole_DepthMeasurement(GoSurfaceCountersunkHole tool);
892
893 /**
894 * Returns a GoSurfaceCountersunkHole tool counterbore depth measurement object.
895 *
896 * @public @memberof GoSurfaceCountersunkHole
897 * @version Introduced in firmware 4.3.3.124
898 * @param tool GoSurfaceCountersunkHole object.
899 * @return A GoSurfaceCountersunkHoleCounterboreDepth counterbore depth measurement.
900 */
901 GoFx(GoSurfaceCountersunkHoleCounterboreDepth) GoSurfaceCountersunkHole_CounterboreDepth(GoSurfaceCountersunkHole tool);
902
903 /**
904 * Returns a GoSurfaceCountersunkHole tool Bevel Radius measurement object.
905 *
906 * @public @memberof GoSurfaceCountersunkHole
907 * @version Introduced in firmware 4.0.10.27
908 * @param tool GoSurfaceCountersunkHole object.
909 * @return A GoSurfaceCountersunkHoleBevelRadius Bevel Radius measurement.
910 */
911 GoFx(GoSurfaceCountersunkHoleBevelRadius) GoSurfaceCountersunkHole_BevelRadiusMeasurement(GoSurfaceCountersunkHole tool);
912
913 /**
914 * Returns a GoSurfaceCountersunkHole tool Bevel Angle measurement object.
915 *
916 * @public @memberof GoSurfaceCountersunkHole
917 * @version Introduced in firmware 4.0.10.27
918 * @param tool GoSurfaceCountersunkHole object.
919 * @return A GoSurfaceCountersunkHoleBevelAngle Bevel Angle measurement.
920 */
921 GoFx(GoSurfaceCountersunkHoleBevelAngle) GoSurfaceCountersunkHole_BevelAngleMeasurement(GoSurfaceCountersunkHole tool);
922
923 /**
924 * Returns a GoSurfaceCountersunkHole tool X Angle measurement object.
925 *
926 * @public @memberof GoSurfaceCountersunkHole
927 * @version Introduced in firmware 4.0.10.27
928 * @param tool GoSurfaceCountersunkHole object.
929 * @return A GoSurfaceCountersunkHoleXAngle X angle measurement.
930 */
931 GoFx(GoSurfaceCountersunkHoleXAngle) GoSurfaceCountersunkHole_XAngleMeasurement(GoSurfaceCountersunkHole tool);
932
933 /**
934 * Returns a GoSurfaceCountersunkHole tool Y Angle measurement object.
935 *
936 * @public @memberof GoSurfaceCountersunkHole
937 * @version Introduced in firmware 4.0.10.27
938 * @param tool GoSurfaceCountersunkHole object.
939 * @return A GoSurfaceCountersunkHoleYAngle Y angle measurement.
940 */
941 GoFx(GoSurfaceCountersunkHoleYAngle) GoSurfaceCountersunkHole_YAngleMeasurement(GoSurfaceCountersunkHole tool);
942
943 /**
944 * Returns a GoSurfaceCountersunkHole tool axis tilt measurement object.
945 *
946 * @public @memberof GoSurfaceCountersunkHole
947 * @version Introduced in firmware 4.5.3.57
948 * @param tool GoSurfaceCountersunkHole object.
949 * @return A GoSurfaceCountersunkHoleAxisTilt axis tilt measurement.
950 */
951 GoFx(GoSurfaceCountersunkHoleAxisTilt) GoSurfaceCountersunkHole_AxisTilt(GoSurfaceCountersunkHole tool);
952
953 /**
954 * Returns a GoSurfaceCountersunkHole tool axis orientation measurement object.
955 *
956 * @public @memberof GoSurfaceCountersunkHole
957 * @version Introduced in firmware 4.5.3.57
958 * @param tool GoSurfaceCountersunkHole object.
959 * @return A GoSurfaceCountersunkHoleAxisOrientation axis orientation measurement.
960 */
961 GoFx(GoSurfaceCountersunkHoleAxisOrientation) GoSurfaceCountersunkHole_AxisOrientation(GoSurfaceCountersunkHole tool);
962
963 /**
964 * Returns a GoSurfaceCountersunkHoleCenterPoint tool center point feature.
965 *
966 * @public @memberof GoSurfaceCountersunkHoleCenterPoint
967 * @version Introduced in firmware 4.5.3.57
968 * @param tool GoSurfaceCountersunkHole object.
969 * @return A GoSurfaceCountersunkHoleCenterPoint center point feature.
970 */
971 GoFx(GoSurfaceCountersunkHoleCenterPoint) GoSurfaceCountersunkHole_CenterPoint(GoSurfaceCountersunkHoleCenterPoint tool);
972
973
974
975
976 /**
977 * @class GoSurfaceDim
978 * @extends GoSurfaceTool
979 * @ingroup GoSdk-SurfaceTools
980 * @brief Represents a Surface dimension tool. all width/height/length/radius and x/y/z units are in mm, angles in degrees
981 */
982 typedef GoSurfaceTool GoSurfaceDim;
983
984 /**
985 * Gets the reference Surface feature.
986 *
987 * @public @memberof GoSurfaceDim
988 * @version Introduced in firmware 4.4.4.14
989 * @param tool GoSurfaceDim object.
990 * @return The reference Surface feature object.
991 */
992 GoFx(GoSurfaceFeature) GoSurfaceDim_RefFeature(GoSurfaceDim tool);
993
994
995 /**
996 * Gets the non-reference Surface feature.
997 *
998 * @public @memberof GoSurfaceDim
999 * @version Introduced in firmware 4.4.4.14
1000 * @param tool GoSurfaceDim object.
1001 * @return The non-reference Surface feature object.
1002 */
1003 GoFx(GoSurfaceFeature) GoSurfaceDim_Feature(GoSurfaceDim tool);
1004
1005 /**
1006 * Returns a GoSurfaceDim Width measurement object.
1007 *
1008 * @public @memberof GoSurfaceDim
1009 * @version Introduced in firmware 4.4.4.14
1010 * @param tool GoSurfaceDim object.
1011 * @return A GoSurfaceDimWidth measurement.
1012 */
1013 GoFx(GoSurfaceDimWidth) GoSurfaceDim_WidthMeasurement(GoSurfaceDim tool);
1014
1015 /**
1016 * Returns a GoSurfaceDim Height measurement object.
1017 *
1018 * @public @memberof GoSurfaceDim
1019 * @version Introduced in firmware 4.4.4.14
1020 * @param tool GoSurfaceDim object.
1021 * @return A GoSurfaceDimHeight measurement.
1022 */
1023 GoFx(GoSurfaceDimHeight) GoSurfaceDim_HeightMeasurement(GoSurfaceDim tool);
1024
1025 /**
1026 * Returns a GoSurfaceDim Length measurement object.
1027 *
1028 * @public @memberof GoSurfaceDim
1029 * @version Introduced in firmware 4.4.4.14
1030 * @param tool GoSurfaceDim object.
1031 * @return A GoSurfaceDimLength measurement.
1032 */
1033 GoFx(GoSurfaceDimLength) GoSurfaceDim_LengthMeasurement(GoSurfaceDim tool);
1034
1035 /**
1036 * Returns a GoSurfaceDim Distance measurement object.
1037 *
1038 * @public @memberof GoSurfaceDim
1039 * @version Introduced in firmware 4.4.4.14
1040 * @param tool GoSurfaceDim object.
1041 * @return A GoSurfaceDimDistance measurement.
1042 */
1043 GoFx(GoSurfaceDimDistance) GoSurfaceDim_DistanceMeasurement(GoSurfaceDim tool);
1044
1045 /**
1046 * Returns a GoSurfaceDim Plane Distance measurement object.
1047 *
1048 * @public @memberof GoSurfaceDim
1049 * @version Introduced in firmware 4.4.4.14
1050 * @param tool GoSurfaceDim object.
1051 * @return A GoSurfaceDimPlaneDistance measurement.
1052 */
1053 GoFx(GoSurfaceDimPlaneDistance) GoSurfaceDim_PlaneDistanceMeasurement(GoSurfaceDim tool);
1054
1055 /**
1056 * Returns a GoSurfaceDim Center X measurement object.
1057 *
1058 * @public @memberof GoSurfaceDim
1059 * @version Introduced in firmware 4.4.4.14
1060 * @param tool GoSurfaceDim object.
1061 * @return A GoSurfaceDimCenterX measurement.
1062 */
1063 GoFx(GoSurfaceDimCenterX) GoSurfaceDim_CenterXMeasurement(GoSurfaceDim tool);
1064
1065 /**
1066 * Returns a GoSurfaceDim Center Y measurement object.
1067 *
1068 * @public @memberof GoSurfaceDim
1069 * @version Introduced in firmware 4.4.4.14
1070 * @param tool GoSurfaceDim object.
1071 * @return A GoSurfaceDimCenterY measurement.
1072 */
1073 GoFx(GoSurfaceDimCenterY) GoSurfaceDim_CenterYMeasurement(GoSurfaceDim tool);
1074
1075 /**
1076 * Returns a GoSurfaceDim Center Z measurement object.
1077 *
1078 * @public @memberof GoSurfaceDim
1079 * @version Introduced in firmware 4.4.4.14
1080 * @param tool GoSurfaceDim object.
1081 * @return A GoSurfaceDimCenterZ measurement.
1082 */
1083 GoFx(GoSurfaceDimCenterZ) GoSurfaceDim_CenterZMeasurement(GoSurfaceDim tool);
1084
1085 /**
1086 * Returns a GoSurfaceDim center point feature object.
1087 *
1088 * @public @memberof GoSurfaceDim
1089 * @version Introduced in firmware 4.4.4.14
1090 * @param tool GoSurfaceDim object.
1091 * @return A GoSurfaceDimensionCenterPoint measurement.
1092 */
1093 GoFx(GoSurfaceDimensionCenterPoint) GoSurfaceDim_CenterPoint(GoSurfaceDimensionCenterPoint tool);
1094
1095 /**
1096 * @class GoSurfaceEllipse
1097 * @extends GoSurfaceTool
1098 * @ingroup GoSdk-SurfaceTools
1099 * @brief Represents a surface ellipse tool. all width/height/length/radius and x/y/z units are in mm, angles in degrees
1100 */
1101 typedef GoSurfaceTool GoSurfaceEllipse;
1102
1103 /**
1104 * Enables or disables the tool region.
1105 *
1106 * @public @memberof GoSurfaceEllipse
1107 * @version Introduced in firmware 4.0.10.27
1108 * @param tool GoSurfaceEllipse object.
1109 * @param enable kTRUE to enable the tool region, kFALSE to disable it.
1110 * @return Operation status.
1111 */
1112 GoFx(kStatus) GoSurfaceEllipse_EnableRegion(GoSurfaceEllipse tool, kBool enable);
1113
1114 /**
1115 * Returns the enabled state of the tool region.
1116 *
1117 * @public @memberof GoSurfaceEllipse
1118 * @version Introduced in firmware 4.0.10.27
1119 * @param tool GoSurfaceEllipse object.
1120 * @return kTRUE if enabled and kFALSE if disabled.
1121 */
1122 GoFx(kBool) GoSurfaceEllipse_RegionEnabled(GoSurfaceEllipse tool);
1123
1124 /**
1125 * Gets the tool region.
1126 *
1127 * @public @memberof GoSurfaceEllipse
1128 * @version Introduced in firmware 4.0.10.27
1129 * @param tool GoSurfaceEllipse object.
1130 * @return A GoRegion3d object.
1131 */
1132 GoFx(GoRegion3d) GoSurfaceEllipse_Region(GoSurfaceEllipse tool);
1133
1134 /**
1135 * Sets the asymmetry detection type.
1136 *
1137 * @public @memberof GoSurfaceEllipse
1138 * @version Introduced in firmware 4.4.4.14
1139 * @param tool GoSurfaceEllipse object.
1140 * @param value The asymmetry detection type to set.
1141 * @return Operation status.
1142 */
1143 GoFx(kStatus) GoSurfaceEllipse_SetAsymmetryDetectionType(GoSurfaceEllipse tool, GoEllipseAsymmetryType value);
1144
1145 /**
1146 * Gets the asymmetry detection type.
1147 *
1148 * @public @memberof GoSurfaceEllipse
1149 * @version Introduced in firmware 4.4.4.14
1150 * @param tool GoSurfaceEllipse object.
1151 * @return The asymmetry detection type.
1152 */
1153 GoFx(GoEllipseAsymmetryType) GoSurfaceEllipse_AsymmetryDetectionType(GoSurfaceEllipse tool);
1154
1155 /**
1156 * Returns a GoSurfaceEllipse Major measurement object.
1157 *
1158 * @public @memberof GoSurfaceEllipse
1159 * @version Introduced in firmware 4.0.10.27
1160 * @param tool GoSurfaceEllipse object.
1161 * @return A GoSurfaceEllipse Major measurement.
1162 */
1163 GoFx(GoSurfaceEllipseMajor) GoSurfaceEllipse_MajorMeasurement(GoSurfaceEllipse tool);
1164
1165 /**
1166 * Returns a GoSurfaceEllipse Minor measurement object.
1167 *
1168 * @public @memberof GoSurfaceEllipse
1169 * @version Introduced in firmware 4.0.10.27
1170 * @param tool GoSurfaceEllipse object.
1171 * @return A GoSurfaceEllipse Minor measurement.
1172 */
1173 GoFx(GoSurfaceEllipseMinor) GoSurfaceEllipse_MinorMeasurement(GoSurfaceEllipse tool);
1174
1175 /**
1176 * Returns a GoSurfaceEllipse Ratio measurement object.
1177 *
1178 * @public @memberof GoSurfaceEllipse
1179 * @version Introduced in firmware 4.0.10.27
1180 * @param tool GoSurfaceEllipse object.
1181 * @return A GoSurfaceEllipse Ratio measurement.
1182 */
1183 GoFx(GoSurfaceEllipseRatio) GoSurfaceEllipse_RatioMeasurement(GoSurfaceEllipse tool);
1184
1185 /**
1186 * Returns a GoSurfaceEllipse Z Angle measurement object.
1187 *
1188 * @public @memberof GoSurfaceEllipse
1189 * @version Introduced in firmware 4.0.10.27
1190 * @param tool GoSurfaceEllipse object.
1191 * @return A GoSurfaceEllipse Z Angle measurement.
1192 */
1193 GoFx(GoSurfaceEllipseZAngle) GoSurfaceEllipse_ZAngleMeasurement(GoSurfaceEllipse tool);
1194
1195 /**
1196 * Returns a GoSurfaceEllipse point feature.
1197 *
1198 * @public @memberof GoSurfaceEllipse
1199 * @version Introduced in firmware 4.0.10.27
1200 * @param tool GoSurfaceEllipse object.
1201 * @return A GoSurfaceEllipseCenterPoint point feature
1202 */
1203 GoFx(GoSurfaceEllipseCenterPoint) GoSurfaceEllipse_CenterPoint(GoSurfaceEllipse tool);
1204
1205 /**
1206 * Returns a GoSurfaceEllipse major axis line feature.
1207 *
1208 * @public @memberof GoSurfaceEllipse
1209 * @version Introduced in firmware 4.0.10.27
1210 * @param tool GoSurfaceEllipse object.
1211 * @return A GoSurfaceEllipseMajorAxisLine axis line feature..
1212 */
1213 GoFx(GoSurfaceEllipseMajorAxisLine) GoSurfaceEllipse_MajorAxisLine(GoSurfaceEllipse tool);
1214
1215 /**
1216 * Returns a GoSurfaceEllipse major axis line feature.
1217 *
1218 * @public @memberof GoSurfaceEllipse
1219 * @version Introduced in firmware 4.0.10.27
1220 * @param tool GoSurfaceEllipse object.
1221 * @return A GoSurfaceEllipseMinorAxisLine major axis line feature.
1222 */
1223 GoFx(GoSurfaceEllipseMinorAxisLine) GoSurfaceEllipse_MinorAxisLine(GoSurfaceEllipse tool);
1224
1225
1226 /**
1227 * @class GoSurfaceHole
1228 * @extends GoSurfaceTool
1229 * @ingroup GoSdk-SurfaceTools
1230 * @brief Represents a surface hole tool. all width/height/length/radius and x/y/z units are in mm, angles in degrees
1231 */
1232 typedef GoSurfaceTool GoSurfaceHole;
1233
1234 /**
1235 * Gets the current nominal radius value.
1236 *
1237 * @public @memberof GoSurfaceHole
1238 * @version Introduced in firmware 4.0.10.27
1239 * @param tool GoSurfaceHole object.
1240 * @return The nominal radius value.
1241 */
1242 GoFx(k64f) GoSurfaceHole_NominalRadius(GoSurfaceHole tool);
1243
1244 /**
1245 * Sets the nominal radius value.
1246 *
1247 * @public @memberof GoSurfaceHole
1248 * @version Introduced in firmware 4.0.10.27
1249 * @param tool GoSurfaceHole object.
1250 * @param nominalRadius Nominal radius value to set.
1251 * @return Operation status.
1252 */
1253 GoFx(kStatus) GoSurfaceHole_SetNominalRadius(GoSurfaceHole tool, k64f nominalRadius);
1254
1255 /**
1256 * Gets the current radius tolerance value.
1257 *
1258 * @public @memberof GoSurfaceHole
1259 * @version Introduced in firmware 4.0.10.27
1260 * @param tool GoSurfaceHole object.
1261 * @return The radius tolerance value.
1262 */
1263 GoFx(k64f) GoSurfaceHole_RadiusTolerance(GoSurfaceHole tool);
1264
1265 /**
1266 * Sets the radius tolerance value.
1267 *
1268 * @public @memberof GoSurfaceHole
1269 * @version Introduced in firmware 4.0.10.27
1270 * @param tool GoSurfaceHole object.
1271 * @param radiusTolerance The radius tolerance value to set.
1272 * @return Operation status.
1273 */
1274 GoFx(kStatus) GoSurfaceHole_SetRadiusTolerance(GoSurfaceHole tool, k64f radiusTolerance);
1275
1276 /**
1277 * Gets the enabled state of partial detection.
1278 *
1279 * @public @memberof GoSurfaceHole
1280 * @version Introduced in firmware 4.0.10.27
1281 * @param tool GoSurfaceHole object.
1282 * @return kTRUE if enabled and kFALSE if disabled.
1283 */
1284 GoFx(kBool) GoSurfaceHole_PartialDetectionEnabled(GoSurfaceHole tool);
1285
1286 /**
1287 * Sets the enabled state of partial detection.
1288 *
1289 * @public @memberof GoSurfaceHole
1290 * @version Introduced in firmware 4.0.10.27
1291 * @param tool GoSurfaceHole object.
1292 * @param enable kTRUE to enable partial detection and kFALSE to disable it.
1293 * @return Operation status.
1294 */
1295 GoFx(kStatus) GoSurfaceHole_EnablePartialDetection(GoSurfaceHole tool, kBool enable);
1296
1297 /**
1298 * Gets the enabled state of the tool region.
1299 *
1300 * @public @memberof GoSurfaceHole
1301 * @version Introduced in firmware 4.0.10.27
1302 * @param tool GoSurfaceHole object.
1303 * @return kTRUE if enabled and kFALSE if disabled.
1304 */
1305 GoFx(kBool) GoSurfaceHole_RegionEnabled(GoSurfaceHole tool);
1306
1307 /**
1308 * Sets the enabled state of the tool region.
1309 *
1310 * @public @memberof GoSurfaceHole
1311 * @version Introduced in firmware 4.0.10.27
1312 * @param tool GoSurfaceHole object.
1313 * @param enable kTRUE to enable the tool region and kFALSE to disable it.
1314 * @return Operation status.
1315 */
1316 GoFx(kStatus) GoSurfaceHole_EnableRegion(GoSurfaceHole tool, kBool enable);
1317
1318 /**
1319 * Returns the tool's region object.
1320 *
1321 * @public @memberof GoSurfaceHole
1322 * @version Introduced in firmware 4.0.10.27
1323 * @param tool GoSurfaceHole object.
1324 * @return A GoRegion3d object.
1325 */
1326 GoFx(GoRegion3d) GoSurfaceHole_Region(GoSurfaceHole tool);
1327
1328 /**
1329 * Gets the enabled state of reference regions.
1330 *
1331 * @public @memberof GoSurfaceHole
1332 * @version Introduced in firmware 4.0.10.27
1333 * @param tool GoSurfaceHole object.
1334 * @return kTRUE if enabled and kFALSE if disabled.
1335 */
1336 GoFx(kBool) GoSurfaceHole_RefRegionsEnabled(GoSurfaceHole tool);
1337
1338 /**
1339 * Sets the enabled state of reference regions.
1340 *
1341 * @public @memberof GoSurfaceHole
1342 * @version Introduced in firmware 4.0.10.27
1343 * @param tool GoSurfaceHole object.
1344 * @param enable kTRUE to enable reference regions and kFALSE to disable it.
1345 * @return Operation status.
1346 */
1347 GoFx(kStatus) GoSurfaceHole_EnableRefRegions(GoSurfaceHole tool, kBool enable);
1348
1349 /**
1350 * Gets the reference region count.
1351 *
1352 * @public @memberof GoSurfaceHole
1353 * @version Introduced in firmware 4.0.10.27
1354 * @param tool GoSurfaceHole object.
1355 * @return The reference region count.
1356 */
1357 GoFx(kSize) GoSurfaceHole_RefRegionCount(GoSurfaceHole tool);
1358
1359 /**
1360 * Sets the reference region count.
1361 *
1362 * @public @memberof GoSurfaceHole
1363 * @version Introduced in firmware 4.0.10.27
1364 * @param tool GoSurfaceHole object.
1365 * @param count The reference region count.
1366 * @return Operation status.
1367 * @see GO_SURFACE_HOLE_MAX_REF_REGIONS
1368 */
1369 GoFx(kStatus) GoSurfaceHole_SetRefRegionCount(GoSurfaceHole tool, kSize count);
1370
1371 /**
1372 * Gets a reference region object at the given index.
1373 *
1374 * @public @memberof GoSurfaceHole
1375 * @version Introduced in firmware 4.0.10.27
1376 * @param tool GoSurfaceHole object.
1377 * @param index The index with which to retrieve a reference region.
1378 * @return A GoSurfaceRegion2d object.
1379 * @see GoSurfaceHole_RefRegionCount
1380 */
1381 GoFx(GoSurfaceRegion2d) GoSurfaceHole_RefRegionAt(GoSurfaceHole tool, kSize index);
1382
1383 /**
1384 * Gets the enabled state of auto-tilt.
1385 *
1386 * @public @memberof GoSurfaceHole
1387 * @version Introduced in firmware 4.0.10.27
1388 * @param tool GoSurfaceHole object.
1389 * @return kTRUE if enabled and kFALSE if disabled.
1390 */
1391 GoFx(kBool) GoSurfaceHole_AutoTiltEnabled(GoSurfaceHole tool);
1392
1393 /**
1394 * Sets the enabled state of auto-tilt.
1395 *
1396 * @public @memberof GoSurfaceHole
1397 * @version Introduced in firmware 4.0.10.27
1398 * @param tool GoSurfaceHole object.
1399 * @param enable kTRUE to enable it and kFALSE to disable it.
1400 * @return Operation status.
1401 */
1402 GoFx(kStatus) GoSurfaceHole_EnableAutoTilt(GoSurfaceHole tool, kBool enable);
1403
1404 /**
1405 * Gets the tilt X-angle value.
1406 *
1407 * @public @memberof GoSurfaceHole
1408 * @version Introduced in firmware 4.0.10.27
1409 * @param tool GoSurfaceHole object.
1410 * @return Tilt X-angle value.
1411 */
1412 GoFx(k64f) GoSurfaceHole_TiltXAngle(GoSurfaceHole tool);
1413
1414 /**
1415 * Sets the tilt X-angle value.
1416 *
1417 * @public @memberof GoSurfaceHole
1418 * @version Introduced in firmware 4.0.10.27
1419 * @param tool GoSurfaceHole object.
1420 * @param value The tilt X-angle value to set.
1421 * @return Operation status.
1422 */
1423 GoFx(kStatus) GoSurfaceHole_SetTiltXAngle(GoSurfaceHole tool, k64f value);
1424
1425 /**
1426 * Gets the tilt Y-angle value.
1427 *
1428 * @public @memberof GoSurfaceHole
1429 * @version Introduced in firmware 4.0.10.27
1430 * @param tool GoSurfaceHole object.
1431 * @return Tilt Y-angle value.
1432 */
1433 GoFx(k64f) GoSurfaceHole_TiltYAngle(GoSurfaceHole tool);
1434
1435 /**
1436 * Sets the tilt Y-angle value.
1437 *
1438 * @public @memberof GoSurfaceHole
1439 * @version Introduced in firmware 4.0.10.27
1440 * @param tool GoSurfaceHole object.
1441 * @param value The tilt Y-angle value to set.
1442 * @return Operation status.
1443 */
1444 GoFx(kStatus) GoSurfaceHole_SetTiltYAngle(GoSurfaceHole tool, k64f value);
1445
1446 /**
1447 * Gets the enabled state of the depth limit.
1448 *
1449 * @public @memberof GoSurfaceHole
1450 * @version Introduced in firmware 4.3.3.124
1451 * @param tool GoSurfaceHole object.
1452 * @return kTRUE if enabled and kFALSE if disabled.
1453 */
1454 GoFx(kBool) GoSurfaceHole_DepthLimitEnabled(GoSurfaceHole tool);
1455
1456 /**
1457 * Sets the enabled state of the depth limit.
1458 *
1459 * @public @memberof GoSurfaceHole
1460 * @version Introduced in firmware 4.3.3.124
1461 * @param tool GoSurfaceHole object.
1462 * @param enable kTRUE to enable it and kFALSE to disable it.
1463 * @return Operation status.
1464 */
1465 GoFx(kStatus) GoSurfaceHole_EnableDepthLimit(GoSurfaceHole tool, kBool enable);
1466
1467 /**
1468 * Gets the depth limit value.
1469 *
1470 * @public @memberof GoSurfaceHole
1471 * @version Introduced in firmware 4.3.3.124
1472 * @param tool GoSurfaceHole object.
1473 * @return Depth limit value.
1474
1475 */
1476 GoFx(k64f) GoSurfaceHole_DepthLimit(GoSurfaceHole tool);
1477
1478 /**
1479 * Sets the depth limit value.
1480 *
1481 * @public @memberof GoSurfaceHole
1482 * @version Introduced in firmware 4.3.3.124
1483 * @param tool GoSurfaceHole object.
1484 * @param value The depth limit value to set.
1485 * @return Operation status.
1486 * @see GoSurfaceHole_DepthLimitEnabled, GoSurfaceHole_EnableDepthLimit
1487 */
1488 GoFx(kStatus) GoSurfaceHole_SetDepthLimit(GoSurfaceHole tool, k64f value);
1489
1490 /**
1491 * Returns a GoSurfaceHole X measurement object.
1492 *
1493 * @public @memberof GoSurfaceHole
1494 * @version Introduced in firmware 4.0.10.27
1495 * @param tool GoSurfaceHole object.
1496 * @return A GoSurfaceHoleX X measurement.
1497 */
1498 GoFx(GoSurfaceHoleX) GoSurfaceHole_XMeasurement(GoSurfaceHole tool);
1499
1500 /**
1501 * Returns a GoSurfaceHole Y measurement object.
1502 *
1503 * @public @memberof GoSurfaceHole
1504 * @version Introduced in firmware 4.0.10.27
1505 * @param tool GoSurfaceHole object.
1506 * @return A GoSurfaceHoleY Y measurement.
1507 */
1508 GoFx(GoSurfaceHoleY) GoSurfaceHole_YMeasurement(GoSurfaceHole tool);
1509
1510 /**
1511 * Returns a GoSurfaceHole Z measurement object.
1512 *
1513 * @public @memberof GoSurfaceHole
1514 * @version Introduced in firmware 4.0.10.27
1515 * @param tool GoSurfaceHole object.
1516 * @return A GoSurfaceHoleZ Z measurement.
1517 */
1518 GoFx(GoSurfaceHoleZ) GoSurfaceHole_ZMeasurement(GoSurfaceHole tool);
1519
1520 /**
1521 * Returns a GoSurfaceHole Radius measurement object.
1522 *
1523 * @public @memberof GoSurfaceHole
1524 * @version Introduced in firmware 4.0.10.27
1525 * @param tool GoSurfaceHole object.
1526 * @return A GoSurfaceHoleRadius Radius measurement.
1527 */
1528 GoFx(GoSurfaceHoleRadius) GoSurfaceHole_RadiusMeasurement(GoSurfaceHole tool);
1529
1530 /**
1531 * Returns a GoSurfaceHole point feature object.
1532 *
1533 * @public @memberof GoSurfaceHole
1534 * @version Introduced in firmware 4.0.10.27
1535 * @param tool GoSurfaceHole object.
1536 * @return A GoSurfaceHoleCenterPoint point feature.
1537 */
1538 GoFx(GoSurfaceHoleCenterPoint) GoSurfaceHole_Point(GoSurfaceHole tool);
1539
1540
1541 /**
1542 * @class GoSurfaceOpening
1543 * @extends GoSurfaceTool
1544 * @ingroup GoSdk-SurfaceTools
1545 * @brief Represents a surface opening tool. all width/height/length/radius and x/y/z units are in mm, angles in degrees
1546 */
1547 typedef GoSurfaceTool GoSurfaceOpening;
1548
1549 GoFx(kStatus) GoSurfaceOpening_SetType(GoSurfaceOpening tool, GoSurfaceOpeningType type);
1550
1551 /**
1552 * Gets the surface opening type.
1553 *
1554 * @public @memberof GoSurfaceOpening
1555 * @version Introduced in firmware 4.0.10.27
1556 * @param tool GoSurfaceOpening object.
1557 * @return The surface opening type.
1558 */
1559 GoFx(GoSurfaceOpeningType) GoSurfaceOpening_Type(GoSurfaceOpening tool);
1560
1561 /**
1562 * Gets the nominal width.
1563 *
1564 * @public @memberof GoSurfaceOpening
1565 * @version Introduced in firmware 4.0.10.27
1566 * @param tool GoSurfaceOpening object.
1567 * @return The nominal width (in mm).
1568 */
1569 GoFx(k64f) GoSurfaceOpening_NominalWidth(GoSurfaceOpening tool);
1570
1571 /**
1572 * Sets the nominal width.
1573 *
1574 * @public @memberof GoSurfaceOpening
1575 * @version Introduced in firmware 4.0.10.27
1576 * @param tool GoSurfaceOpening object.
1577 * @param value The nominal width to set (in mm).
1578 * @return Operation status.
1579 */
1580 GoFx(kStatus) GoSurfaceOpening_SetNominalWidth(GoSurfaceOpening tool, k64f value);
1581
1582 /**
1583 * Gets the nominal length.
1584 *
1585 * @public @memberof GoSurfaceOpening
1586 * @version Introduced in firmware 4.0.10.27
1587 * @param tool GoSurfaceOpening object.
1588 * @return The nominal length (in mm).
1589 */
1590 GoFx(k64f) GoSurfaceOpening_NominalLength(GoSurfaceOpening tool);
1591
1592 /**
1593 * Sets the nominal length.
1594 *
1595 * @public @memberof GoSurfaceOpening
1596 * @version Introduced in firmware 4.0.10.27
1597 * @param tool GoSurfaceOpening object.
1598 * @param value The nominal length to set (in mm).
1599 * @return Operation status.
1600 */
1601 GoFx(kStatus) GoSurfaceOpening_SetNominalLength(GoSurfaceOpening tool, k64f value);
1602
1603 /**
1604 * Gets the nominal angle.
1605 *
1606 * @public @memberof GoSurfaceOpening
1607 * @version Introduced in firmware 4.0.10.27
1608 * @param tool GoSurfaceOpening object.
1609 * @return The nominal angle (in degrees).
1610 */
1611 GoFx(k64f) GoSurfaceOpening_NominalAngle(GoSurfaceOpening tool);
1612
1613 /**
1614 * Sets the nominal angle.
1615 *
1616 * @public @memberof GoSurfaceOpening
1617 * @version Introduced in firmware 4.0.10.27
1618 * @param tool GoSurfaceOpening object.
1619 * @param value The nominal angle to set (in degrees).
1620 * @return Operation status.
1621 */
1622 GoFx(kStatus) GoSurfaceOpening_SetNominalAngle(GoSurfaceOpening tool, k64f value);
1623
1624 /**
1625 * Gets the nominal radius.
1626 *
1627 * @public @memberof GoSurfaceOpening
1628 * @version Introduced in firmware 4.0.10.27
1629 * @param tool GoSurfaceOpening object.
1630 * @return The nominal radius (in mm).
1631 */
1632 GoFx(k64f) GoSurfaceOpening_NominalRadius(GoSurfaceOpening tool);
1633
1634 /**
1635 * Sets the nominal radius.
1636 *
1637 * @public @memberof GoSurfaceOpening
1638 * @version Introduced in firmware 4.0.10.27
1639 * @param tool GoSurfaceOpening object.
1640 * @param value The nominal radius to set (in mm).
1641 * @return Operation status.
1642 */
1643 GoFx(kStatus) GoSurfaceOpening_SetNominalRadius(GoSurfaceOpening tool, k64f value);
1644
1645 /**
1646 * Gets the width tolerance.
1647 *
1648 * @public @memberof GoSurfaceOpening
1649 * @version Introduced in firmware 4.0.10.27
1650 * @param tool GoSurfaceOpening object.
1651 * @return The width tolerance (in mm).
1652 */
1653 GoFx(k64f) GoSurfaceOpening_WidthTolerance(GoSurfaceOpening tool);
1654
1655 /**
1656 * Sets the width tolerance.
1657 *
1658 * @public @memberof GoSurfaceOpening
1659 * @version Introduced in firmware 4.0.10.27
1660 * @param tool GoSurfaceOpening object.
1661 * @param value The width tolerance to set (in mm).
1662 * @return Operation status.
1663 */
1664 GoFx(kStatus) GoSurfaceOpening_SetWidthTolerance(GoSurfaceOpening tool, k64f value);
1665
1666 /**
1667 * Gets the length tolerance.
1668 *
1669 * @public @memberof GoSurfaceOpening
1670 * @version Introduced in firmware 4.0.10.27
1671 * @param tool GoSurfaceOpening object.
1672 * @return The length tolerance (in mm).
1673 */
1674 GoFx(k64f) GoSurfaceOpening_LengthTolerance(GoSurfaceOpening tool);
1675
1676 /**
1677 * Sets the length tolerance.
1678 *
1679 * @public @memberof GoSurfaceOpening
1680 * @version Introduced in firmware 4.0.10.27
1681 * @param tool GoSurfaceOpening object.
1682 * @param value The length tolerance to set (in mm).
1683 * @return Operation status.
1684 */
1685 GoFx(kStatus) GoSurfaceOpening_SetLengthTolerance(GoSurfaceOpening tool, k64f value);
1686
1687 /**
1688 * Gets the angle tolerance.
1689 *
1690 * @public @memberof GoSurfaceOpening
1691 * @version Introduced in firmware 4.0.10.27
1692 * @param tool GoSurfaceOpening object.
1693 * @return The angle tolerance (in degrees).
1694 */
1695 GoFx(k64f) GoSurfaceOpening_AngleTolerance(GoSurfaceOpening tool);
1696
1697 /**
1698 * Sets the angle tolerance.
1699 *
1700 * @public @memberof GoSurfaceOpening
1701 * @version Introduced in firmware 4.0.10.27
1702 * @param tool GoSurfaceOpening object.
1703 * @param value The angle tolerance to set (in degrees).
1704 * @return Operation status.
1705 */
1706 GoFx(kStatus) GoSurfaceOpening_SetAngleTolerance(GoSurfaceOpening tool, k64f value);
1707
1708 /**
1709 * Gets the enabled state of partial detection.
1710 *
1711 * @public @memberof GoSurfaceOpening
1712 * @version Introduced in firmware 4.0.10.27
1713 * @param tool GoSurfaceOpening object.
1714 * @return kTRUE if partial detection is enabled and kFALSE otherwise.
1715 */
1716 GoFx(kBool) GoSurfaceOpening_PartialDetectionEnabled(GoSurfaceOpening tool);
1717
1718 /**
1719 * Sets the enabled state of partial detection.
1720 *
1721 * @public @memberof GoSurfaceOpening
1722 * @version Introduced in firmware 4.0.10.27
1723 * @param tool GoSurfaceOpening object.
1724 * @param enable kTRUE to enable partial detection and kFALSE to disable it.
1725 * @return Operation status.
1726 */
1727 GoFx(kStatus) GoSurfaceOpening_EnablePartialDetection(GoSurfaceOpening tool, kBool enable);
1728
1729 /**
1730 * Gets the enabled state of the tool region.
1731 *
1732 * @public @memberof GoSurfaceOpening
1733 * @version Introduced in firmware 4.0.10.27
1734 * @param tool GoSurfaceOpening object.
1735 * @return kTRUE if the tool region is enabled and kFALSE otherwise.
1736 */
1737 GoFx(kBool) GoSurfaceOpening_RegionEnabled(GoSurfaceOpening tool);
1738
1739 /**
1740 * Sets the enabled state of the tool region.
1741 *
1742 * @public @memberof GoSurfaceOpening
1743 * @version Introduced in firmware 4.0.10.27
1744 * @param tool GoSurfaceOpening object.
1745 * @param enable kTRUE to enable the tool region and kFALSE to disable it.
1746 * @return Operation status.
1747 */
1748 GoFx(kStatus) GoSurfaceOpening_EnableRegion(GoSurfaceOpening tool, kBool enable);
1749
1750 /**
1751 * Returns the region object for the tool.
1752 *
1753 * @public @memberof GoSurfaceOpening
1754 * @version Introduced in firmware 4.0.10.27
1755 * @param tool GoSurfaceOpening object.
1756 * @return A GoRegion3d object.
1757 */
1758 GoFx(GoRegion3d) GoSurfaceOpening_Region(GoSurfaceOpening tool);
1759
1760 /**
1761 * Gets the enabled state of reference regions.
1762 *
1763 * @public @memberof GoSurfaceOpening
1764 * @version Introduced in firmware 4.0.10.27
1765 * @param tool GoSurfaceOpening object.
1766 * @return kTRUE if reference regions are enabled and kFALSE otherwise.
1767 */
1768 GoFx(kBool) GoSurfaceOpening_RefRegionsEnabled(GoSurfaceOpening tool);
1769
1770 /**
1771 * Sets the enabled state of reference regions.
1772 *
1773 * @public @memberof GoSurfaceOpening
1774 * @version Introduced in firmware 4.0.10.27
1775 * @param tool GoSurfaceOpening object.
1776 * @param enable kTRUE to enable reference regions and kFALSE to disable it.
1777 * @return Operation status.
1778 */
1779 GoFx(kStatus) GoSurfaceOpening_EnableRefRegions(GoSurfaceOpening tool, kBool enable);
1780
1781 /**
1782 * Gets the reference region count.
1783 *
1784 * @public @memberof GoSurfaceOpening
1785 * @version Introduced in firmware 4.0.10.27
1786 * @param tool GoSurfaceOpening object.
1787 * @return The count of reference regions.
1788 */
1789 GoFx(kSize) GoSurfaceOpening_RefRegionCount(GoSurfaceOpening tool);
1790
1791 /**
1792 * Sets the reference region count.
1793 *
1794 * @public @memberof GoSurfaceOpening
1795 * @version Introduced in firmware 4.0.10.27
1796 * @param tool GoSurfaceOpening object.
1797 * @param count The reference region count to set.
1798 * @return Operation status.
1799 * @see GO_SURFACE_OPENING_MAX_REF_REGIONS
1800 */
1801 GoFx(kStatus) GoSurfaceOpening_SetRefRegionCount(GoSurfaceOpening tool, kSize count);
1802
1803 /**
1804 * Gets the reference region object at the specified index.
1805 *
1806 * @public @memberof GoSurfaceOpening
1807 * @version Introduced in firmware 4.0.10.27
1808 * @param tool GoSurfaceOpening object.
1809 * @param index The index with which to retrieve a reference region.
1810 * @return A GoSurfaceRegion2d object or kNULL if the index is invalid.
1811 * @see GoSurfaceOpening_RefRegionCount
1812 */
1813 GoFx(GoSurfaceRegion2d) GoSurfaceOpening_RefRegionAt(GoSurfaceOpening tool, kSize index);
1814
1815 /**
1816 * Gets the enabled state of auto-tilt.
1817 *
1818 * @public @memberof GoSurfaceOpening
1819 * @version Introduced in firmware 4.0.10.27
1820 * @param tool GoSurfaceOpening object.
1821 * @return kTRUE if auto-tilt is enabled and kFALSE otherwise.
1822 */
1823 GoFx(kBool) GoSurfaceOpening_AutoTiltEnabled(GoSurfaceOpening tool);
1824
1825 /**
1826 * Sets the enabled state of auto-tilt.
1827 *
1828 * @public @memberof GoSurfaceOpening
1829 * @version Introduced in firmware 4.0.10.27
1830 * @param tool GoSurfaceOpening object.
1831 * @param enable kTRUE to enable auto-tilt and kFALSE to disable it.
1832 * @return Operation status.
1833 */
1834 GoFx(kStatus) GoSurfaceOpening_EnableAutoTilt(GoSurfaceOpening tool, kBool enable);
1835
1836 /**
1837 * Gets the tilt X-angle.
1838 *
1839 * @public @memberof GoSurfaceOpening
1840 * @version Introduced in firmware 4.0.10.27
1841 * @param tool GoSurfaceOpening object.
1842 * @return The tilt X-angle.
1843 */
1844 GoFx(k64f) GoSurfaceOpening_TiltXAngle(GoSurfaceOpening tool);
1845
1846 /**
1847 * Sets the tilt X-angle.
1848 *
1849 * @public @memberof GoSurfaceOpening
1850 * @version Introduced in firmware 4.0.10.27
1851 * @param tool GoSurfaceOpening object.
1852 * @param value The tilt X-angle to set.
1853 * @return Operation status.
1854 */
1855 GoFx(kStatus) GoSurfaceOpening_SetTiltXAngle(GoSurfaceOpening tool, k64f value);
1856
1857 /**
1858 * Gets the tilt Y-angle.
1859 *
1860 * @public @memberof GoSurfaceOpening
1861 * @version Introduced in firmware 4.0.10.27
1862 * @param tool GoSurfaceOpening object.
1863 * @return The tilt Y-angle.
1864 */
1865 GoFx(k64f) GoSurfaceOpening_TiltYAngle(GoSurfaceOpening tool);
1866
1867 /**
1868 * Sets the tilt Y-angle.
1869 *
1870 * @public @memberof GoSurfaceOpening
1871 * @version Introduced in firmware 4.0.10.27
1872 * @param tool GoSurfaceOpening object.
1873 * @param value The tilt Y-angle to set.
1874 * @return Operation status.
1875 */
1876 GoFx(kStatus) GoSurfaceOpening_SetTiltYAngle(GoSurfaceOpening tool, k64f value);
1877
1878 /**
1879 * Gets the enabled state of the depth limit.
1880 *
1881 * @public @memberof GoSurfaceOpening
1882 * @version Introduced in firmware 4.3.3.124
1883 * @param tool GoSurfaceOpening object.
1884 * @return kTRUE if enabled and kFALSE if disabled.
1885 */
1886 GoFx(kBool) GoSurfaceOpening_DepthLimitEnabled(GoSurfaceOpening tool);
1887
1888 /**
1889 * Sets the enabled state of the depth limit.
1890 *
1891 * @public @memberof GoSurfaceOpening
1892 * @version Introduced in firmware 4.3.3.124
1893 * @param tool GoSurfaceOpening object.
1894 * @param enable kTRUE to enable it and kFALSE to disable it.
1895 * @return Operation status.
1896 */
1897 GoFx(kStatus) GoSurfaceOpening_EnableDepthLimit(GoSurfaceOpening tool, kBool enable);
1898
1899 /**
1900 * Gets the depth limit value.
1901 *
1902 * @public @memberof GoSurfaceOpening
1903 * @version Introduced in firmware 4.3.3.124
1904 * @param tool GoSurfaceOpening object.
1905 * @return Depth limit value.
1906
1907 */
1908 GoFx(k64f) GoSurfaceOpening_DepthLimit(GoSurfaceOpening tool);
1909
1910 /**
1911 * Sets the depth limit value.
1912 *
1913 * @public @memberof GoSurfaceOpening
1914 * @version Introduced in firmware 4.3.3.124
1915 * @param tool GoSurfaceOpening object.
1916 * @param value The depth limit value to set.
1917 * @return Operation status.
1918 * @see GoSurfaceOpening_DepthLimitEnabled, GoSurfaceOpening_EnableDepthLimit
1919 */
1920 GoFx(kStatus) GoSurfaceOpening_SetDepthLimit(GoSurfaceOpening tool, k64f value);
1921
1922
1923 /**
1924 * Returns a GoSurfaceOpening X measurement object.
1925 *
1926 * @public @memberof GoSurfaceOpening
1927 * @version Introduced in firmware 4.0.10.27
1928 * @param tool GoSurfaceOpening object.
1929 * @return A GoSurfaceOpeningX X measurement.
1930 */
1931 GoFx(GoSurfaceOpeningX) GoSurfaceOpening_XMeasurement(GoSurfaceOpening tool);
1932
1933 /**
1934 * Returns a GoSurfaceOpening Y measurement object.
1935 *
1936 * @public @memberof GoSurfaceOpening
1937 * @version Introduced in firmware 4.0.10.27
1938 * @param tool GoSurfaceOpening object.
1939 * @return A GoSurfaceOpeningY Y measurement.
1940 */
1941 GoFx(GoSurfaceOpeningY) GoSurfaceOpening_YMeasurement(GoSurfaceOpening tool);
1942
1943 /**
1944 * Returns a GoSurfaceOpening Z measurement object.
1945 *
1946 * @public @memberof GoSurfaceOpening
1947 * @version Introduced in firmware 4.0.10.27
1948 * @param tool GoSurfaceOpening object.
1949 * @return A GoSurfaceOpening Z measurement.
1950 */
1951 GoFx(GoSurfaceOpeningZ) GoSurfaceOpening_ZMeasurement(GoSurfaceOpening tool);
1952
1953 /**
1954 * Returns a GoSurfaceOpening Width measurement object.
1955 *
1956 * @public @memberof GoSurfaceOpening
1957 * @version Introduced in firmware 4.0.10.27
1958 * @param tool GoSurfaceOpening object.
1959 * @return A GoSurfaceOpeningWidth Width measurement.
1960 */
1961 GoFx(GoSurfaceOpeningWidth) GoSurfaceOpening_WidthMeasurement(GoSurfaceOpening tool);
1962
1963 /**
1964 * Returns a GoSurfaceOpening Length measurement object.
1965 *
1966 * @public @memberof GoSurfaceOpening
1967 * @version Introduced in firmware 4.0.10.27
1968 * @param tool GoSurfaceOpening object.
1969 * @return A GoSurfaceOpeningLength Length measurement.
1970 */
1971 GoFx(GoSurfaceOpeningLength) GoSurfaceOpening_LengthMeasurement(GoSurfaceOpening tool);
1972
1973 /**
1974 * Returns a GoSurfaceOpening Angle measurement object.
1975 *
1976 * @public @memberof GoSurfaceOpening
1977 * @version Introduced in firmware 4.0.10.27
1978 * @param tool GoSurfaceOpening object.
1979 * @return A GoSurfaceOpeningAngle Angle measurement.
1980 */
1981 GoFx(GoSurfaceOpeningAngle) GoSurfaceOpening_AngleMeasurement(GoSurfaceOpening tool);
1982
1983 /**
1984 * Returns a GoSurfaceOpening center point feature object.
1985 *
1986 * @public @memberof GoSurfaceOpening
1987 * @version Introduced in firmware 4.0.10.27
1988 * @param tool GoSurfaceOpening object.
1989 * @return A GoSurfaceOpeningCenterPoint center point feature.
1990 */
1991 GoFx(GoSurfaceOpeningCenterPoint) GoSurfaceOpening_CenterPoint(GoSurfaceHole tool);
1992
1993 /**
1994 * @class GoSurfacePlane
1995 * @extends GoSurfaceTool
1996 * @ingroup GoSdk-SurfaceTools
1997 * @brief Represents a surface plane tool.all width/height/length/radius and x/y/z units are in mm, angles in degrees
1998 */
1999 typedef GoSurfaceTool GoSurfacePlane;
2000
2001 /**
2002 * Gets the enabled state of the reference regions.
2003 *
2004 * @public @memberof GoSurfacePlane
2005 * @version Introduced in firmware 4.0.10.27
2006 * @param tool GoSurfacePlane object.
2007 * @return kTRUE if the tool region is enabled and kFALSE otherwise.
2008 */
2009 GoFx(kBool) GoSurfacePlane_RegionsEnabled(GoSurfacePlane tool);
2010
2011 /**
2012 * Sets the enabled state of the reference regions.
2013 *
2014 * @public @memberof GoSurfacePlane
2015 * @version Introduced in firmware 4.0.10.27
2016 * @param tool GoSurfacePlane object.
2017 * @param enable kTRUE to enable regions and kFALSE to disable them.
2018 * @return Operation status.
2019 */
2020 GoFx(kStatus) GoSurfacePlane_EnableRegions(GoSurfacePlane tool, kBool enable);
2021
2022 /**
2023 * Gets the tool's region count.
2024 *
2025 * @public @memberof GoSurfacePlane
2026 * @version Introduced in firmware 4.0.10.27
2027 * @param tool GoSurfacePlane object.
2028 * @return The number of regions in the tool.
2029 */
2030 GoFx(kSize) GoSurfacePlane_RegionCount(GoSurfacePlane tool);
2031
2032 /**
2033 * Sets the tool region count.
2034 *
2035 * @public @memberof GoSurfacePlane
2036 * @version Introduced in firmware 4.0.10.27
2037 * @param tool GoSurfacePlane object.
2038 * @param count The region count to set.
2039 * @return Operation status.
2040 */
2041 GoFx(kStatus) GoSurfacePlane_SetRegionCount(GoSurfacePlane tool, kSize count);
2042
2043 /**
2044 * Gets a region at the specified index.
2045 *
2046 * @public @memberof GoSurfacePlane
2047 * @version Introduced in firmware 4.0.10.27
2048 * @param tool GoSurfacePlane object.
2049 * @param index The index with which to return a tool region.
2050 * @return A GoRegion3d object or kNULL if the index is in invalid.
2051 * @see GoSurfacePlane_RegionCount
2052 */
2053 GoFx(GoRegion3d) GoSurfacePlane_RegionAt(GoSurfacePlane tool, kSize index);
2054
2055 /**
2056 * Returns a GoSurfacePlane X Angle measurement object.
2057 *
2058 * @public @memberof GoSurfacePlane
2059 * @version Introduced in firmware 4.0.10.27
2060 * @param tool GoSurfacePlane object.
2061 * @return A GoSurfacePlaneXAngle X Angle measurement.
2062 */
2063 GoFx(GoSurfacePlaneXAngle) GoSurfacePlane_XAngleMeasurement(GoSurfacePlane tool);
2064
2065 /**
2066 * Returns a GoSurfacePlane Y Angle measurement object.
2067 *
2068 * @public @memberof GoSurfacePlane
2069 * @version Introduced in firmware 4.0.10.27
2070 * @param tool GoSurfacePlane object.
2071 * @return A GoSurfacePlaneYAngle Y Angle measurement.
2072 */
2073 GoFx(GoSurfacePlaneYAngle) GoSurfacePlane_YAngleMeasurement(GoSurfacePlane tool);
2074
2075 /**
2076 * Returns a GoSurfacePlane Z Offset measurement object.
2077 *
2078 * @public @memberof GoSurfacePlane
2079 * @version Introduced in firmware 4.0.10.27
2080 * @param tool GoSurfacePlane object.
2081 * @return A GoSurfacePlaneZOffset Z Offset measurement.
2082 */
2083 GoFx(GoSurfacePlaneZOffset) GoSurfacePlane_ZOffsetMeasurement(GoSurfacePlane tool);
2084
2085 /**
2086 * Returns a GoSurfacePlane Standard Deviation measurement object.
2087 *
2088 * @public @memberof GoSurfacePlane
2089 * @version Introduced in firmware 4.4.4.14
2090 * @param tool GoSurfacePlane object.
2091 * @return A GoSurfacePlane Standard Deviation measurement.
2092 */
2093 GoFx(GoSurfacePlaneStdDev) GoSurfacePlane_StdDevMeasurement(GoSurfacePlane tool);
2094
2095 /**
2096 * Returns a GoSurfacePlane Minimum Error measurement object.
2097 *
2098 * @public @memberof GoSurfacePlane
2099 * @version Introduced in firmware 4.4.4.14
2100 * @param tool GoSurfacePlane object.
2101 * @return A GoSurfacePlaneMinError Minimum Error measurement.
2102 */
2103 GoFx(GoSurfacePlaneMinError) GoSurfacePlane_MinErrorMeasurement(GoSurfacePlane tool);
2104
2105 /**
2106 * Returns a GoSurfacePlane Maximum Error measurement object.
2107 *
2108 * @public @memberof GoSurfacePlane
2109 * @version Introduced in firmware 4.4.4.14
2110 * @param tool GoSurfacePlane object.
2111 * @return A GoSurfacePlaneMaxError Maximum Error measurement.
2112 */
2113 GoFx(GoSurfacePlaneMaxError) GoSurfacePlane_MaxErrorMeasurement(GoSurfacePlane tool);
2114
2115 /**
2116 * Returns a GoSurfacePlane X Normal measurement object.
2117 *
2118 * @public @memberof GoSurfacePlane
2119 * @version Introduced in firmware 4.6.0.49
2120 * @param tool GoSurfacePlane object.
2121 * @return A GoSurfacePlaneXNormal X Normal measurement.
2122 */
2123 GoFx(GoSurfacePlaneXNormal) GoSurfacePlane_XNormalMeasurement(GoSurfacePlane tool);
2124 /**
2125 * Returns a GoSurfacePlane Y Normal measurement object.
2126 *
2127 * @public @memberof GoSurfacePlane
2128 * @version Introduced in firmware 4.6.0.49
2129 * @param tool GoSurfacePlane object.
2130 * @return A GoSurfacePlane Y Normal measurement.
2131 */
2132 GoFx(GoSurfacePlaneYNormal) GoSurfacePlane_YNormalMeasurement(GoSurfacePlane tool);
2133 /**
2134 * Returns a GoSurfacePlane X Normal measurement object.
2135 *
2136 * @public @memberof GoSurfacePlane
2137 * @version Introduced in firmware 4.6.0.49
2138 * @param tool GoSurfacePlane object.
2139 * @return A GoSurfacePlane X Normal measurement.
2140 */
2141 GoFx(GoSurfacePlaneZNormal) GoSurfacePlane_ZNormalMeasurement(GoSurfacePlane tool);
2142 /**
2143 * Returns a GoSurfacePlane Distance measurement object.
2144 *
2145 * @public @memberof GoSurfacePlane
2146 * @version Introduced in firmware 4.6.0.49
2147 * @param tool GoSurfacePlane object.
2148 * @return A GoSurfacePlaneDistance Distance measurement.
2149 */
2150 GoFx(GoSurfacePlaneDistance) GoSurfacePlane_DistanceMeasurement(GoSurfacePlane tool);
2151
2152 /**
2153 * Returns a GoSurfacePlane plane feature object.
2154 *
2155 * @public @memberof GoSurfacePlane
2156 * @version Introduced in firmware 4.7.2.x
2157 * @param tool GoSurfacePlane object.
2158 * @return A GoSurfacePlanePlane plane feature.
2159 */
2160 GoFx(GoSurfacePlanePlane) GoSurfacePlane_Plane(GoSurfacePlane tool);
2161
2162
2163 /**
2164 * @class GoSurfacePosition
2165 * @extends GoSurfaceTool
2166 * @ingroup GoSdk-SurfaceTools
2167 * @brief Represents a surface position tool. all width/height/length/radius and x/y/z units are in mm, angles in degrees
2168 */
2169 typedef GoSurfaceTool GoSurfacePosition;
2170
2171 GoFx(GoSurfaceFeature) GoSurfacePosition_Feature(GoSurfacePosition tool);
2172
2173 /**
2174 * Returns a GoSurfacePosition X measurement object.
2175 *
2176 * @public @memberof GoSurfacePosition
2177 * @version Introduced in firmware 4.0.10.27
2178 * @param tool GoSurfacePosition object.
2179 * @return A GoSurfacePositionX X measurement.
2180 */
2181 GoFx(GoSurfacePositionX) GoSurfacePosition_XMeasurement(GoSurfacePosition tool);
2182
2183 /**
2184 * Returns a GoSurfacePosition Y measurement object.
2185 *
2186 * @public @memberof GoSurfacePosition
2187 * @version Introduced in firmware 4.0.10.27
2188 * @param tool GoSurfacePosition object.
2189 * @return A GoSurfacePosition Y measurement.
2190 */
2191 GoFx(GoSurfacePositionY) GoSurfacePosition_YMeasurement(GoSurfacePosition tool);
2192
2193 /**
2194 * Returns a GoSurfacePosition Z measurement object.
2195 *
2196 * @public @memberof GoSurfacePosition
2197 * @version Introduced in firmware 4.0.10.27
2198 * @param tool GoSurfacePosition object.
2199 * @return A GoSurfacePosition Z measurement.
2200 */
2201 GoFx(GoSurfacePositionZ) GoSurfacePosition_ZMeasurement(GoSurfacePosition tool);
2202
2203 /**
2204 * Returns a GoSurfacePosition point feature object.
2205 *
2206 * @public @memberof GoSurfacePosition
2207 * @version Introduced in firmware 4.0.10.27
2208 * @param tool GoSurfacePosition object.
2209 * @return A GoSurfacePositionPoint point feature.
2210 */
2211 GoFx(GoSurfacePositionPoint) GoSurfacePosition_Point(GoSurfaceHole tool);
2212
2213 /**
2214 * @class GoSurfaceRivet
2215 * @extends GoSurfaceTool
2216 * @ingroup GoSdk-SurfaceTools
2217 * @brief Represents a surface rivet tool.
2218 */
2219 typedef GoSurfaceTool GoSurfaceRivet;
2220
2221 /**
2222 * @class GoSurfaceStud
2223 * @extends GoSurfaceTool
2224 * @ingroup GoSdk-SurfaceTools
2225 * @brief Represents a surface stud tool. all width/height/length/radius and x/y/z units are in mm, angles in degrees
2226 */
2227 typedef GoSurfaceTool GoSurfaceStud;
2228
2229 /**
2230 * Returns the stud radius value.
2231 *
2232 * @public @memberof GoSurfaceStud
2233 * @version Introduced in firmware 4.0.10.27
2234 * @param tool GoSurfaceStud object.
2235 * @return The stud radius value.
2236 */
2237 GoFx(k64f) GoSurfaceStud_StudRadius(GoSurfaceStud tool);
2238
2239 /**
2240 * Sets the stud radius value.
2241 *
2242 * @public @memberof GoSurfaceStud
2243 * @version Introduced in firmware 4.0.10.27
2244 * @param tool GoSurfaceStud object.
2245 * @param value The stud radius value to set.
2246 * @return Operation status.
2247 */
2248 GoFx(kStatus) GoSurfaceStud_SetStudRadius(GoSurfaceStud tool, k64f value);
2249
2250 /**
2251 * Returns the stud height value.
2252 *
2253 * @public @memberof GoSurfaceStud
2254 * @version Introduced in firmware 4.0.10.27
2255 * @param tool GoSurfaceStud object.
2256 * @return The stud height value.
2257 */
2258 GoFx(k64f) GoSurfaceStud_StudHeight(GoSurfaceStud tool);
2259
2260 /**
2261 * Sets the stud height value.
2262 *
2263 * @public @memberof GoSurfaceStud
2264 * @version Introduced in firmware 4.0.10.27
2265 * @param tool GoSurfaceStud object.
2266 * @param value The stud height value to set.
2267 * @return Operation status.
2268 */
2269 GoFx(kStatus) GoSurfaceStud_SetStudHeight(GoSurfaceStud tool, k64f value);
2270
2271 /**
2272 * Returns the stud base height value.
2273 *
2274 * @public @memberof GoSurfaceStud
2275 * @version Introduced in firmware 4.0.10.27
2276 * @param tool GoSurfaceStud object.
2277 * @return The stud base height value.
2278 */
2279 GoFx(k64f) GoSurfaceStud_BaseHeight(GoSurfaceStud tool);
2280
2281 /**
2282 * Sets the base height value.
2283 *
2284 * @public @memberof GoSurfaceStud
2285 * @version Introduced in firmware 4.0.10.27
2286 * @param tool GoSurfaceStud object.
2287 * @param value The base height value to set.
2288 * @return Operation status.
2289 */
2290 GoFx(kStatus) GoSurfaceStud_SetBaseHeight(GoSurfaceStud tool, k64f value);
2291
2292 /**
2293 * Returns the stud tip height value.
2294 *
2295 * @public @memberof GoSurfaceStud
2296 * @version Introduced in firmware 4.0.10.27
2297 * @param tool GoSurfaceStud object.
2298 * @return The stud tip height value.
2299 */
2300 GoFx(k64f) GoSurfaceStud_TipHeight(GoSurfaceStud tool);
2301
2302 /**
2303 * Sets the tip height value.
2304 *
2305 * @public @memberof GoSurfaceStud
2306 * @version Introduced in firmware 4.0.10.27
2307 * @param tool GoSurfaceStud object.
2308 * @param value The tip height value to set.
2309 * @return Operation status.
2310 */
2311 GoFx(kStatus) GoSurfaceStud_SetTipHeight(GoSurfaceStud tool, k64f value);
2312
2313 /**
2314 * Gets the enabled state of the tool region.
2315 *
2316 * @public @memberof GoSurfaceStud
2317 * @version Introduced in firmware 4.0.10.27
2318 * @param tool GoSurfaceStud object.
2319 * @return kTRUE if enabled and kFALSE if disabled.
2320 */
2321 GoFx(kBool) GoSurfaceStud_RegionEnabled(GoSurfaceStud tool);
2322
2323 /**
2324 * Sets the enabled state of the tool region.
2325 *
2326 * @public @memberof GoSurfaceStud
2327 * @version Introduced in firmware 4.0.10.27
2328 * @param tool GoSurfaceStud object.
2329 * @param enable kTRUE to enable the region and kFALSE to disable it.
2330 * @return Operation status.
2331 */
2332 GoFx(kStatus) GoSurfaceStud_EnableRegion(GoSurfaceStud tool, kBool enable);
2333
2334 /**
2335 * Returns the tool region object.
2336 *
2337 * @public @memberof GoSurfaceStud
2338 * @version Introduced in firmware 4.0.10.27
2339 * @param tool GoSurfaceStud object.
2340 * @return A GoRegion3d object.
2341 */
2342 GoFx(GoRegion3d) GoSurfaceStud_Region(GoSurfaceStud tool);
2343
2344 /**
2345 * Gets the enabled state of the reference regions.
2346 *
2347 * @public @memberof GoSurfaceStud
2348 * @version Introduced in firmware 4.0.10.27
2349 * @param tool GoSurfaceStud object.
2350 * @return enable kTRUE if the reference regions are enabled and kFALSE otherwise.
2351 */
2352 GoFx(kBool) GoSurfaceStud_RefRegionsEnabled(GoSurfaceStud tool);
2353
2354 /**
2355 * Sets the enabled state of the reference regions.
2356 *
2357 * @public @memberof GoSurfaceStud
2358 * @version Introduced in firmware 4.0.10.27
2359 * @param tool GoSurfaceStud object.
2360 * @param enable kTRUE to enable the region and kFALSE to disable it.
2361 * @return Operation status.
2362 */
2363 GoFx(kStatus) GoSurfaceStud_EnableRefRegions(GoSurfaceStud tool, kBool enable);
2364
2365 /**
2366 * Sets the reference region count.
2367 *
2368 * @public @memberof GoSurfaceStud
2369 * @version Introduced in firmware 4.0.10.27
2370 * @param tool GoSurfaceStud object.
2371 * @param count The number of reference regions to use.
2372 * @return Operation status.
2373 * @see GO_SURFACE_STUD_MAX_REF_REGIONS
2374 */
2375 GoFx(kStatus) GoSurfaceStud_SetRefRegionCount(GoSurfaceStud tool, kSize count);
2376
2377 /**
2378 * Returns the reference region count.
2379 *
2380 * @public @memberof GoSurfaceStud
2381 * @version Introduced in firmware 4.0.10.27
2382 * @param tool GoSurfaceStud object.
2383 * @return The reference region count.
2384 */
2385 GoFx(kSize) GoSurfaceStud_RefRegionCount(GoSurfaceStud tool);
2386
2387 /**
2388 * Returns the reference region object at the given index.
2389 *
2390 * @public @memberof GoSurfaceStud
2391 * @version Introduced in firmware 4.0.10.27
2392 * @param tool GoSurfaceStud object.
2393 * @param index The index with which to return a reference region.
2394 * @return A GoSurfaceRegion2d object.
2395 * @see GoSurfaceStud_RefRegionCount
2396 */
2397 GoFx(GoSurfaceRegion2d) GoSurfaceStud_RefRegionAt(GoSurfaceStud tool, kSize index);
2398
2399 /**
2400 * Gets the enabled state of auto-tilt.
2401 *
2402 * @public @memberof GoSurfaceStud
2403 * @version Introduced in firmware 4.0.10.27
2404 * @param tool GoSurfaceStud object.
2405 * @return kTRUE if enabled and kFALSE if disabled.
2406 */
2407 GoFx(kBool) GoSurfaceStud_AutoTiltEnabled(GoSurfaceStud tool);
2408
2409 /**
2410 * Sets the enabled state of auto-tilt.
2411 *
2412 * @public @memberof GoSurfaceStud
2413 * @version Introduced in firmware 4.0.10.27
2414 * @param tool GoSurfaceStud object.
2415 * @param enable kTRUE to enable the region and kFALSE to disable it.
2416 * @return Operation status.
2417 */
2418 GoFx(kStatus) GoSurfaceStud_EnableAutoTilt(GoSurfaceStud tool, kBool enable);
2419
2420 /**
2421 * Gets the tilt X-angle value.
2422 *
2423 * @public @memberof GoSurfaceStud
2424 * @version Introduced in firmware 4.0.10.27
2425 * @param tool GoSurfaceStud object.
2426 * @return The tilt X-angle value.
2427 */
2428 GoFx(k64f) GoSurfaceStud_TiltXAngle(GoSurfaceStud tool);
2429
2430 /**
2431 * Sets the tilt X-angle value.
2432 *
2433 * @public @memberof GoSurfaceStud
2434 * @version Introduced in firmware 4.0.10.27
2435 * @param tool GoSurfaceStud object.
2436 * @param value The tilt X-angle value to set.
2437 * @return Operation status.
2438 */
2439 GoFx(kStatus) GoSurfaceStud_SetTiltXAngle(GoSurfaceStud tool, k64f value);
2440
2441 /**
2442 * Returns the tilt Y-angle value.
2443 *
2444 * @public @memberof GoSurfaceStud
2445 * @version Introduced in firmware 4.0.10.27
2446 * @param tool GoSurfaceStud object.
2447 * @return The tilt Y-angle value.
2448 */
2449 GoFx(k64f) GoSurfaceStud_TiltYAngle(GoSurfaceStud tool);
2450
2451 /**
2452 * Sets the tilt Y-angle value.
2453 *
2454 * @public @memberof GoSurfaceStud
2455 * @version Introduced in firmware 4.0.10.27
2456 * @param tool GoSurfaceStud object.
2457 * @param value The tilt Y-angle value to set.
2458 * @return Operation status.
2459 */
2460 GoFx(kStatus) GoSurfaceStud_SetTiltYAngle(GoSurfaceStud tool, k64f value);
2461
2462 /**
2463 * Returns a GoSurfaceStud Base X measurement object.
2464 *
2465 * @public @memberof GoSurfaceStud
2466 * @version Introduced in firmware 4.0.10.27
2467 * @param tool GoSurfaceStud object.
2468 * @return A GoSurfaceStudBaseX Base X measurement.
2469 */
2470 GoFx(GoSurfaceStudBaseX) GoSurfaceStud_BaseXMeasurement(GoSurfaceStud tool);
2471
2472 /**
2473 * Returns a GoSurfaceStud Base Y measurement object.
2474 *
2475 * @public @memberof GoSurfaceStud
2476 * @version Introduced in firmware 4.0.10.27
2477 * @param tool GoSurfaceStud object.
2478 * @return A GoSurfaceStudBaseY Base Y measurement.
2479 */
2480 GoFx(GoSurfaceStudBaseY) GoSurfaceStud_BaseYMeasurement(GoSurfaceStud tool);
2481
2482 /**
2483 * Returns a GoSurfaceStud Base Z measurement object.
2484 *
2485 * @public @memberof GoSurfaceStud
2486 * @version Introduced in firmware 4.0.10.27
2487 * @param tool GoSurfaceStud object.
2488 * @return A GoSurfaceStud Base Z measurement.
2489 */
2490 GoFx(GoSurfaceStudBaseZ) GoSurfaceStud_BaseZMeasurement(GoSurfaceStud tool);
2491
2492 /**
2493 * Returns a GoSurfaceStud Tip X measurement object.
2494 *
2495 * @public @memberof GoSurfaceStud
2496 * @version Introduced in firmware 4.0.10.27
2497 * @param tool GoSurfaceStud object.
2498 * @return A GoSurfaceStudTipX Tip X measurement.
2499 */
2500 GoFx(GoSurfaceStudTipX) GoSurfaceStud_TipXMeasurement(GoSurfaceStud tool);
2501
2502 /**
2503 * Returns a GoSurfaceStud Tip Y measurement object.
2504 *
2505 * @public @memberof GoSurfaceStud
2506 * @version Introduced in firmware 4.0.10.27
2507 * @param tool GoSurfaceStud object.
2508 * @return A GoSurfaceStudTipY Tip Y measurement.
2509 */
2510 GoFx(GoSurfaceStudTipY) GoSurfaceStud_TipYMeasurement(GoSurfaceStud tool);
2511
2512 /**
2513 * Returns a GoSurfaceStud Tip Z measurement object.
2514 *
2515 * @public @memberof GoSurfaceStud
2516 * @version Introduced in firmware 4.0.10.27
2517 * @param tool GoSurfaceStud object.
2518 * @return A GoSurfaceStudTipZ Tip Z measurement.
2519 */
2520 GoFx(GoSurfaceStudTipZ) GoSurfaceStud_TipZMeasurement(GoSurfaceStud tool);
2521
2522 /**
2523 * Returns a GoSurfaceStud Radius measurement object.
2524 *
2525 * @public @memberof GoSurfaceStud
2526 * @version Introduced in firmware 4.0.10.27
2527 * @param tool GoSurfaceStud object.
2528 * @return A GoSurfaceStudRadius Radius measurement.
2529 */
2530 GoFx(GoSurfaceStudRadius) GoSurfaceStud_RadiusMeasurement(GoSurfaceStud tool);
2531
2532 /**
2533 * Returns a GoSurfaceStud tip point feature object.
2534 *
2535 * @public @memberof GoSurfaceStud
2536 * @version Introduced in firmware 4.0.10.27
2537 * @param tool GoSurfaceStud object.
2538 * @return A GoSurfaceStudTipPoint tip point feature .
2539 */
2540 GoFx(GoSurfaceStudTipPoint) GoSurfaceStud_TipPoint(GoSurfaceHole tool);
2541
2542 /**
2543 * Returns a GoSurfaceStud base point feature object.
2544 *
2545 * @public @memberof GoSurfaceStud
2546 * @version Introduced in firmware 4.0.10.27
2547 * @param tool GoSurfaceStud object.
2548 * @return A GoSurfaceStudBasePoint base point feature.
2549 */
2550 GoFx(GoSurfaceStudBasePoint) GoSurfaceStud_BasePoint(GoSurfaceHole tool);
2551
2552 /**
2553 * @class GoSurfaceVolume
2554 * @extends GoSurfaceTool
2555 * @ingroup GoSdk-SurfaceTools
2556 * @brief Represents a surface volume tool. measurements in mm, mm^2 for area and mm^3 for volume
2557 */
2558 typedef GoSurfaceTool GoSurfaceVolume;
2559
2560 /**
2561 * Gets the enabled state of the tool region.
2562 *
2563 * @public @memberof GoSurfaceVolume
2564 * @version Introduced in firmware 4.0.10.27
2565 * @param tool GoSurfaceVolume object.
2566 * @return kTRUE if enabled and kFALSE if disabled.
2567 */
2568 GoFx(kBool) GoSurfaceVolume_RegionEnabled(GoSurfaceVolume tool);
2569
2570 /**
2571 * Sets the enabled state of the tool region.
2572 *
2573 * @public @memberof GoSurfaceVolume
2574 * @version Introduced in firmware 4.0.10.27
2575 * @param tool GoSurfaceVolume object.
2576 * @param enable kTRUE to enable the tool region and kFALSE to disable it.
2577 */
2578 GoFx(kStatus) GoSurfaceVolume_EnableRegion(GoSurfaceVolume tool, kBool enable);
2579
2580 /**
2581 * Returns the tool region object.
2582 *
2583 * @public @memberof GoSurfaceVolume
2584 * @version Introduced in firmware 4.0.10.27
2585 * @param tool GoSurfaceVolume object.
2586 * @return A GoRegion3d object.
2587 */
2588 GoFx(GoRegion3d) GoSurfaceVolume_Region(GoSurfaceVolume tool);
2589
2590 /**
2591 * Returns a GoSurfaceVolume Volume measurement object.
2592 *
2593 * @public @memberof GoSurfaceVolume
2594 * @version Introduced in firmware 4.0.10.27
2595 * @param tool GoSurfaceVolume object.
2596 * @return A GoSurfaceVolumeVolume Volume measurement.
2597 */
2598 GoFx(GoSurfaceVolumeVolume) GoSurfaceVolume_VolumeMeasurement(GoSurfaceVolume tool);
2599
2600 /**
2601 * Returns a GoSurfaceVolume Area measurement object.
2602 *
2603 * @public @memberof GoSurfaceVolume
2604 * @version Introduced in firmware 4.0.10.27
2605 * @param tool GoSurfaceVolume object.
2606 * @return A GoSurfaceVolumeArea Area measurement.
2607 */
2608 GoFx(GoSurfaceVolumeArea) GoSurfaceVolume_AreaMeasurement(GoSurfaceVolume tool);
2609
2610 /**
2611 * Returns a GoSurfaceVolume Thickness measurement object.
2612 *
2613 * @public @memberof GoSurfaceVolume
2614 * @version Introduced in firmware 4.0.10.27
2615 * @param tool GoSurfaceVolume object.
2616 * @return A GoSurfaceVolumeThickness Thickness measurement.
2617 */
2618 GoFx(GoSurfaceVolumeThickness) GoSurfaceVolume_ThicknessMeasurement(GoSurfaceVolume tool);
2619
2620 kEndHeader()
2621 #include <GoSdk/Tools/GoSurfaceTools.x.h>
2622
2623 #endif
2624
2625 /// @endcond
k32u
GoTool.h
Declares the base GoTool class.
GoSurfaceEllipseMajorAxisLine
Represents the major axis line of an Surface Ellipse tool.
GoSurfaceStudTipPoint
Represents a point of a Surface Stud Tip tool.
GoSurfaceBoundingBoxCenterPoint
Represents the center point of a Surface Bounding Box tool.
GoSurfaceHoleCenterPoint
Represents the center point of a Surface Hole tool.
GoExtTool.h
Declares the base GoExtTool class.
GoSurfaceOpeningCenterPoint
Represents the center point of a Surface Opening tool.
GoSurfaceStudBasePoint
Represents a point of a Surface Stud Base tool.
kSize
GoDataSource
Represents a data source.
GoSurfaceEllipseMinorAxisLine
Represents the minor axis line of an Surface Ellipse tool.
GoUtils.h
Contains various helper functions.
GoSdkDef.h
Essential SDK declarations.
GoTool
Represents the base tool class.
k32s
GoSurfaceDimensionCenterPoint
Represents the center point for a Surface Dimension tool.
GoSurfaceEllipseCenterPoint
Represents the center point of an Surface Ellipse tool.
GoSurfaceCountersunkHoleCenterPoint
Represents the center point of a Surface Countersunk Hole tool.
GoSurfacePlanePlane
Represents a plane for a Surface Plane tool.
kStatus
k64f
kBool
GoSurfacePositionPoint
Represents a point of a Surface Position tool.