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