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) 2015 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  * Returns a GoSurfaceBox X measurement object.
294  *
295  * @public @memberof GoSurfaceBox
296  * @version Introduced in firmware 4.0.10.27
297  * @param tool GoSurfaceBox object.
298  * @return A GoSurfaceBox X measurement.
299  */
300 GoFx(GoSurfaceBoxX) GoSurfaceBox_XMeasurement(GoSurfaceBox tool);
301 
302 /**
303  * Returns a GoSurfaceBox Y measurement object.
304  *
305  * @public @memberof GoSurfaceBox
306  * @version Introduced in firmware 4.0.10.27
307  * @param tool GoSurfaceBox object.
308  * @return A GoSurfaceBox Y measurement.
309  */
310 GoFx(GoSurfaceBoxY) GoSurfaceBox_YMeasurement(GoSurfaceBox tool);
311 
312 /**
313  * Returns a GoSurfaceBox Z measurement object.
314  *
315  * @public @memberof GoSurfaceBox
316  * @version Introduced in firmware 4.0.10.27
317  * @param tool GoSurfaceBox object.
318  * @return A GoSurfaceBox Z measurement.
319  */
320 GoFx(GoSurfaceBoxZ) GoSurfaceBox_ZMeasurement(GoSurfaceBox tool);
321 
322 /**
323  * Returns a GoSurfaceBox Width measurement object.
324  *
325  * @public @memberof GoSurfaceBox
326  * @version Introduced in firmware 4.0.10.27
327  * @param tool GoSurfaceBox object.
328  * @return A GoSurfaceBox Width measurement.
329  */
330 GoFx(GoSurfaceBoxWidth) GoSurfaceBox_WidthMeasurement(GoSurfaceBox tool);
331 
332 /**
333  * Returns a GoSurfaceBox Length measurement object.
334  *
335  * @public @memberof GoSurfaceBox
336  * @version Introduced in firmware 4.0.10.27
337  * @param tool GoSurfaceBox object.
338  * @return A GoSurfaceBox Length measurement.
339  */
340 GoFx(GoSurfaceBoxLength) GoSurfaceBox_LengthMeasurement(GoSurfaceBox tool);
341 
342 /**
343  * Returns a GoSurfaceBox Height measurement object.
344  *
345  * @public @memberof GoSurfaceBox
346  * @version Introduced in firmware 4.0.10.27
347  * @param tool GoSurfaceBox object.
348  * @return A GoSurfaceBox Height measurement.
349  */
350 GoFx(GoSurfaceBoxHeight) GoSurfaceBox_HeightMeasurement(GoSurfaceBox tool);
351 
352 /**
353  * Returns a GoSurfaceBox Z Angle measurement object.
354  *
355  * @public @memberof GoSurfaceBox
356  * @version Introduced in firmware 4.0.10.27
357  * @param tool GoSurfaceBox object.
358  * @return A GoSurfaceBox Z Angle measurement.
359  */
360 GoFx(GoSurfaceBoxZAngle) GoSurfaceBox_ZAngleMeasurement(GoSurfaceBox tool);
361 
362 /**
363  * Returns a GoSurfaceBox global X measurement object.
364  *
365  * @public @memberof GoSurfaceBox
366  * @version Introduced in firmware 4.0.10.27
367  * @param tool GoSurfaceBox object.
368  * @return A GoSurfaceBox global X measurement.
369  */
370 GoFx(GoSurfaceBoxGlobalX) GoSurfaceBox_GlobalXMeasurement(GoSurfaceBox tool);
371 
372 /**
373  * Returns a GoSurfaceBox global Y measurement object.
374  *
375  * @public @memberof GoSurfaceBox
376  * @version Introduced in firmware 4.0.10.27
377  * @param tool GoSurfaceBox object.
378  * @return A GoSurfaceBox global Y measurement.
379  */
380 GoFx(GoSurfaceBoxGlobalY) GoSurfaceBox_GlobalYMeasurement(GoSurfaceBox tool);
381 
382 /**
383  * Returns a GoSurfaceBox global Z Angle measurement object.
384  *
385  * @public @memberof GoSurfaceBox
386  * @version Introduced in firmware 4.2.4.7
387  * @param tool GoSurfaceBox object.
388  * @return A GoSurfaceBox global Z angle measurement.
389  */
390 GoFx(GoSurfaceBoxGlobalZAngle) GoSurfaceBox_GlobalZAngleMeasurement(GoSurfaceBox tool);
391 
392 
393 /**
394 * @class GoSurfaceCountersunkHole
395 * @extends GoSurfaceTool
396 * @ingroup GoSdk-SurfaceTools
397 * @brief Represents a Surface Counter Sunk Hole tool.
398 */
399 typedef GoSurfaceTool GoSurfaceCountersunkHole;
400 
401 /**
402  * Sets the shape.
403  *
404  * @public @memberof GoSurfaceCountersunkHole
405  * @version Introduced in firmware 4.3.3.124
406  * @param tool GoSurfaceCountersunkHole object.
407  * @param value The value to set.
408  * @return Operation status.
409  */
410 GoFx(kStatus) GoSurfaceCountersunkHole_SetShape(GoSurfaceCountersunkHole tool, GoSurfaceCountersunkHoleShape value);
411 
412 /**
413  * Returns the shape.
414  *
415  * @public @memberof GoSurfaceCountersunkHole
416  * @version Introduced in firmware 4.3.3.124
417  * @param tool GoSurfaceCountersunkHole object.
418  * @return The nominal bevel angle.
419  */
420 GoFx(GoSurfaceCountersunkHoleShape) GoSurfaceCountersunkHole_Shape(GoSurfaceCountersunkHole tool);
421 
422 /**
423  * Sets the nominal bevel angle.
424  *
425  * @public @memberof GoSurfaceCountersunkHole
426  * @version Introduced in firmware 4.0.10.27
427  * @param tool GoSurfaceCountersunkHole object.
428  * @param value The value to set.
429  * @return Operation status.
430  */
431 GoFx(kStatus) GoSurfaceCountersunkHole_SetNominalBevelAngle(GoSurfaceCountersunkHole tool, k64f value);
432 
433 /**
434  * Returns the nominal bevel angle.
435  *
436  * @public @memberof GoSurfaceCountersunkHole
437  * @version Introduced in firmware 4.0.10.27
438  * @param tool GoSurfaceCountersunkHole object.
439  * @return The nominal bevel angle.
440  */
441 GoFx(k64f) GoSurfaceCountersunkHole_NominalBevelAngle(GoSurfaceCountersunkHole tool);
442 
443 /**
444  * Sets the nominal outer radius.
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_SetNominalOuterRadius(GoSurfaceCountersunkHole tool, k64f value);
453 
454 /**
455  * Returns the nominal outer radius.
456  *
457  * @public @memberof GoSurfaceCountersunkHole
458  * @version Introduced in firmware 4.0.10.27
459  * @param tool GoSurfaceCountersunkHole object.
460  * @return The nominal outer radius.
461  */
462 GoFx(k64f) GoSurfaceCountersunkHole_NominalOuterRadius(GoSurfaceCountersunkHole tool);
463 
464 /**
465  * Sets the nominal inner 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_SetNominalInnerRadius(GoSurfaceCountersunkHole tool, k64f value);
474 
475 /**
476  * Returns the nominal inner radius.
477  *
478  * @public @memberof GoSurfaceCountersunkHole
479  * @version Introduced in firmware 4.0.10.27
480  * @param tool GoSurfaceCountersunkHole object.
481  * @return The nominal inner radius.
482  */
483 GoFx(k64f) GoSurfaceCountersunkHole_NominalInnerRadius(GoSurfaceCountersunkHole tool);
484 
485 /**
486  * Sets the bevel radius offset.
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_SetBevelRadiusOffset(GoSurfaceCountersunkHole tool, k64f value);
495 
496 /**
497  * Returns the bevel radius offset.
498  *
499  * @public @memberof GoSurfaceCountersunkHole
500  * @version Introduced in firmware 4.0.10.27
501  * @param tool GoSurfaceCountersunkHole object.
502  * @return The bevel radius offset.
503  */
504 GoFx(k64f) GoSurfaceCountersunkHole_BevelRadiusOffset(GoSurfaceCountersunkHole tool);
505 
506 /**
507  * Enables or disables partial counter sunk hole detection.
508  *
509  * @public @memberof GoSurfaceCountersunkHole
510  * @version Introduced in firmware 4.0.10.27
511  * @param tool GoSurfaceCountersunkHole object.
512  * @param enable kTRUE to enable partial detection and kFALSE to disable it.
513  * @return Operation status.
514  */
515 GoFx(kStatus) GoSurfaceCountersunkHole_EnablePartialDetection(GoSurfaceCountersunkHole tool, kBool enable);
516 
517 /**
518  * Returns the state of partial detection.
519  *
520  * @public @memberof GoSurfaceCountersunkHole
521  * @version Introduced in firmware 4.0.10.27
522  * @param tool GoSurfaceCountersunkHole object.
523  * @return kTRUE if partial detection is enabled. kFALSE otherwise.
524  */
525 GoFx(kBool) GoSurfaceCountersunkHole_PartialDetectionEnabled(GoSurfaceCountersunkHole tool);
526 
527 /**
528  * Enables or disables the tool region.
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 the tool region and kFALSE to disable it.
534  * @return Operation status.
535  */
536 GoFx(kStatus) GoSurfaceCountersunkHole_EnableRegion(GoSurfaceCountersunkHole tool, kBool enable);
537 
538 /**
539  * Returns the state of the tool region.
540  *
541  * @public @memberof GoSurfaceCountersunkHole
542  * @version Introduced in firmware 4.0.10.27
543  * @param tool GoSurfaceCountersunkHole object.
544  * @return kTRUE if the tool region is enabled. kFALSE otherwise.
545  */
546 GoFx(kBool) GoSurfaceCountersunkHole_RegionEnabled(GoSurfaceCountersunkHole tool);
547 
548 /**
549  * Returns the tool region.
550  *
551  * @public @memberof GoSurfaceCountersunkHole
552  * @version Introduced in firmware 4.0.10.27
553  * @param tool GoSurfaceCountersunkHole object.
554  * @return The tool region.
555  */
556 GoFx(GoRegion3d) GoSurfaceCountersunkHole_Region(GoSurfaceCountersunkHole tool);
557 
558 /**
559  * Enables or disables reference regions.
560  *
561  * @public @memberof GoSurfaceCountersunkHole
562  * @version Introduced in firmware 4.0.10.27
563  * @param tool GoSurfaceCountersunkHole object.
564  * @param enable kTRUE to enable reference regions and kFALSE to disable them.
565  * @return Operation status.
566  */
567 GoFx(kStatus) GoSurfaceCountersunkHole_EnableRefRegions(GoSurfaceCountersunkHole tool, kBool enable);
568 
569 /**
570  * Returns the state of the tool reference regions.
571  *
572  * @public @memberof GoSurfaceCountersunkHole
573  * @version Introduced in firmware 4.0.10.27
574  * @param tool GoSurfaceCountersunkHole object.
575  * @return kTRUE if refrence regions are enabled. kFALSE otherwise.
576  */
577 GoFx(kBool) GoSurfaceCountersunkHole_RefRegionsEnabled(GoSurfaceCountersunkHole tool);
578 
579 /**
580  * Sets the reference region count.
581  *
582  * @public @memberof GoSurfaceCountersunkHole
583  * @version Introduced in firmware 4.0.10.27
584  * @param tool GoSurfaceCountersunkHole object.
585  * @param count The number of references regions to use when enabled.
586  * @return Reference region count.
587  * @see GO_SURFACE_COUNTERSUNK_HOLE_MAX_REF_REGIONS
588 
589  */
590 GoFx(kStatus) GoSurfaceCountersunkHole_SetRefRegionCount(GoSurfaceCountersunkHole tool, kSize count);
591 
592 /**
593  * Returns the reference region count.
594  *
595  * @public @memberof GoSurfaceCountersunkHole
596  * @version Introduced in firmware 4.0.10.27
597  * @param tool GoSurfaceCountersunkHole object.
598  * @return Reference region count.
599  */
600 GoFx(kSize) GoSurfaceCountersunkHole_RefRegionCount(GoSurfaceCountersunkHole tool);
601 
602 /**
603  * Returns the reference region at the given index.
604  *
605  * @public @memberof GoSurfaceCountersunkHole
606  * @version Introduced in firmware 4.0.10.27
607  * @param tool GoSurfaceCountersunkHole object.
608  * @param index The index of the reference region to retrieve.
609  * @return A reference region.
610  */
611 GoFx(GoSurfaceRegion2d) GoSurfaceCountersunkHole_RefRegionAt(GoSurfaceCountersunkHole tool, kSize index);
612 
613 /**
614  * Enables or disables automatic tilt.
615  *
616  * @public @memberof GoSurfaceCountersunkHole
617  * @version Introduced in firmware 4.0.10.27
618  * @param tool GoSurfaceCountersunkHole object.
619  * @param enable kTRUE to enable auto tilt and kFALSE to disable it.
620  * @return Operation status.
621  */
622 GoFx(kStatus) GoSurfaceCountersunkHole_EnableAutoTilt(GoSurfaceCountersunkHole tool, kBool enable);
623 
624 /**
625  * Returns the state of auto tilt.
626  *
627  * @public @memberof GoSurfaceCountersunkHole
628  * @version Introduced in firmware 4.0.10.27
629  * @param tool GoSurfaceCountersunkHole object.
630  * @return kTRUE if auto tilt is enabled. kFALSE otherwise.
631  */
632 GoFx(kBool) GoSurfaceCountersunkHole_AutoTiltEnabled(GoSurfaceCountersunkHole tool);
633 
634 /**
635  * Sets the tilt X angle.
636  *
637  * @public @memberof GoSurfaceCountersunkHole
638  * @version Introduced in firmware 4.0.10.27
639  * @param tool GoSurfaceCountersunkHole object.
640  * @param value The value to set.
641  * @return Operation status.
642  */
643 GoFx(kStatus) GoSurfaceCountersunkHole_SetTiltXAngle(GoSurfaceCountersunkHole tool, k64f value);
644 
645 /**
646  * Returns the tilt X angle value.
647  *
648  * @public @memberof GoSurfaceCountersunkHole
649  * @version Introduced in firmware 4.0.10.27
650  * @param tool GoSurfaceCountersunkHole object.
651  * @return Tilt X angle value.
652  */
653 GoFx(k64f) GoSurfaceCountersunkHole_TiltXAngle(GoSurfaceCountersunkHole tool);
654 
655 /**
656  * Sets the tilt Y 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_SetTiltYAngle(GoSurfaceCountersunkHole tool, k64f value);
665 
666 /**
667  * Returns the tilt Y angle value.
668  *
669  * @public @memberof GoSurfaceCountersunkHole
670  * @version Introduced in firmware 4.0.10.27
671  * @param tool GoSurfaceCountersunkHole object.
672  * @return Tilt Y angle value.
673  */
674 GoFx(k64f) GoSurfaceCountersunkHole_TiltYAngle(GoSurfaceCountersunkHole tool);
675 
676 /**
677  * Enables or disables curve fitting.
678  *
679  * @public @memberof GoSurfaceCountersunkHole
680  * @version Introduced in firmware 4.1.3.106
681  * @param tool GoSurfaceCountersunkHole object.
682  * @param enable kTRUE to enable curve fitting and kFALSE to disable it.
683  * @return Operation status.
684  */
685 GoFx(kStatus) GoSurfaceCountersunkHole_EnableCurveFit(GoSurfaceCountersunkHole tool, kBool enable);
686 
687 
688 /**
689  * Returns the state of auto tilt.
690  *
691  * @public @memberof GoSurfaceCountersunkHole
692  * @version Introduced in firmware 4.1.3.106
693  * @param tool GoSurfaceCountersunkHole object.
694  * @return kTRUE if curve fitting is enabled. kFALSE otherwise.
695  */
696 GoFx(kBool) GoSurfaceCountersunkHole_CurveFitEnabled(GoSurfaceCountersunkHole tool);
697 
698 /**
699  * Sets the curve orientation angle.
700  *
701  * @public @memberof GoSurfaceCountersunkHole
702  * @version Introduced in firmware 4.1.3.106
703  * @param tool GoSurfaceCountersunkHole object.
704  * @param value The value to set.
705  * @return Operation status.
706  */
707 GoFx(kStatus) GoSurfaceCountersunkHole_SetCurveOrientation(GoSurfaceCountersunkHole tool, k64f value);
708 
709 /**
710  * Returns the curve orientation angle value.
711  *
712  * @public @memberof GoSurfaceCountersunkHole
713  * @version Introduced in firmware 4.1.3.106
714  * @param tool GoSurfaceCountersunkHole object.
715  * @return Curve orientation angle value.
716  */
717 GoFx(k64f) GoSurfaceCountersunkHole_CurveOrientation(GoSurfaceCountersunkHole tool);
718 
719 /**
720  * Returns a GoSurfaceCountersunkHole tool X position measurement object.
721  *
722  * @public @memberof GoSurfaceCountersunkHole
723  * @version Introduced in firmware 4.0.10.27
724  * @param tool GoSurfaceCountersunkHole object.
725  * @return A GoSurfaceCountersunkHole X position measurement.
726  */
727 GoFx(GoSurfaceCountersunkHoleX) GoSurfaceCountersunkHole_XMeasurement(GoSurfaceCountersunkHole tool);
728 
729 /**
730  * Returns a GoSurfaceCountersunkHole tool Y position measurement object.
731  *
732  * @public @memberof GoSurfaceCountersunkHole
733  * @version Introduced in firmware 4.0.10.27
734  * @param tool GoSurfaceCountersunkHole object.
735  * @return A GoSurfaceCountersunkHole Y position measurement.
736  */
737 GoFx(GoSurfaceCountersunkHoleY) GoSurfaceCountersunkHole_YMeasurement(GoSurfaceCountersunkHole tool);
738 
739 /**
740  * Returns a GoSurfaceCountersunkHole tool Z position measurement object.
741  *
742  * @public @memberof GoSurfaceCountersunkHole
743  * @version Introduced in firmware 4.0.10.27
744  * @param tool GoSurfaceCountersunkHole object.
745  * @return A GoSurfaceCountersunkHole Z position measurement.
746  */
747 GoFx(GoSurfaceCountersunkHoleZ) GoSurfaceCountersunkHole_ZMeasurement(GoSurfaceCountersunkHole tool);
748 
749 /**
750  * Returns a GoSurfaceCountersunkHole tool Outer Radius measurement object.
751  *
752  * @public @memberof GoSurfaceCountersunkHole
753  * @version Introduced in firmware 4.0.10.27
754  * @param tool GoSurfaceCountersunkHole object.
755  * @return A GoSurfaceCountersunkHole Outer Radius measurement.
756  */
757 GoFx(GoSurfaceCountersunkHoleOuterRadius) GoSurfaceCountersunkHole_OuterRadiusMeasurement(GoSurfaceCountersunkHole tool);
758 
759 /**
760  * Returns a GoSurfaceCountersunkHole tool Depth measurement object.
761  *
762  * @public @memberof GoSurfaceCountersunkHole
763  * @version Introduced in firmware 4.0.10.27
764  * @param tool GoSurfaceCountersunkHole object.
765  * @return A GoSurfaceCountersunkHole Depth measurement.
766  */
767 GoFx(GoSurfaceCountersunkHoleDepth) GoSurfaceCountersunkHole_DepthMeasurement(GoSurfaceCountersunkHole tool);
768 
769 /**
770  * Returns a GoSurfaceCountersunkHole tool counterbore depth measurement object.
771  *
772  * @public @memberof GoSurfaceCountersunkHole
773  * @version Introduced in firmware 4.3.3.124
774  * @param tool GoSurfaceCountersunkHole object.
775  * @return A GoSurfaceCountersunkHole counterbore depth measurement.
776  */
777 GoFx(GoSurfaceCountersunkHoleCounterboreDepth) GoSurfaceCountersunkHole_CounterboreDepth(GoSurfaceCountersunkHole tool);
778 
779 /**
780  * Returns a GoSurfaceCountersunkHole tool Bevel Radius measurement object.
781  *
782  * @public @memberof GoSurfaceCountersunkHole
783  * @version Introduced in firmware 4.0.10.27
784  * @param tool GoSurfaceCountersunkHole object.
785  * @return A GoSurfaceCountersunkHole Bevel Radius measurement.
786  */
787 GoFx(GoSurfaceCountersunkHoleBevelRadius) GoSurfaceCountersunkHole_BevelRadiusMeasurement(GoSurfaceCountersunkHole tool);
788 
789 /**
790  * Returns a GoSurfaceCountersunkHole tool Bevel Angle measurement object.
791  *
792  * @public @memberof GoSurfaceCountersunkHole
793  * @version Introduced in firmware 4.0.10.27
794  * @param tool GoSurfaceCountersunkHole object.
795  * @return A GoSurfaceCountersunkHole Bevel Angle measurement.
796  */
797 GoFx(GoSurfaceCountersunkHoleBevelAngle) GoSurfaceCountersunkHole_BevelAngleMeasurement(GoSurfaceCountersunkHole tool);
798 
799 /**
800  * Returns a GoSurfaceCountersunkHole tool X Angle measurement object.
801  *
802  * @public @memberof GoSurfaceCountersunkHole
803  * @version Introduced in firmware 4.0.10.27
804  * @param tool GoSurfaceCountersunkHole object.
805  * @return A GoSurfaceCountersunkHole X angle measurement.
806  */
807 GoFx(GoSurfaceCountersunkHoleXAngle) GoSurfaceCountersunkHole_XAngleMeasurement(GoSurfaceCountersunkHole tool);
808 
809 /**
810  * Returns a GoSurfaceCountersunkHole tool Y Angle measurement object.
811  *
812  * @public @memberof GoSurfaceCountersunkHole
813  * @version Introduced in firmware 4.0.10.27
814  * @param tool GoSurfaceCountersunkHole object.
815  * @return A GoSurfaceCountersunkHole Y angle measurement.
816  */
817 GoFx(GoSurfaceCountersunkHoleYAngle) GoSurfaceCountersunkHole_YAngleMeasurement(GoSurfaceCountersunkHole tool);
818 
819 
820 /**
821  * @class GoSurfaceEllipse
822  * @extends GoSurfaceTool
823  * @ingroup GoSdk-SurfaceTools
824  * @brief Represents a surface ellipse tool.
825  */
826 typedef GoSurfaceTool GoSurfaceEllipse;
827 
828 /**
829  * Enables or disables the tool region.
830  *
831  * @public @memberof GoSurfaceEllipse
832  * @version Introduced in firmware 4.0.10.27
833  * @param tool GoSurfaceEllipse object.
834  * @param enable kTRUE to enable the tool region, kFALSE to disable it.
835  * @return Operation status.
836  */
837 GoFx(kStatus) GoSurfaceEllipse_EnableRegion(GoSurfaceEllipse tool, kBool enable);
838 
839 /**
840  * Returns the enabled state of the tool region.
841  *
842  * @public @memberof GoSurfaceEllipse
843  * @version Introduced in firmware 4.0.10.27
844  * @param tool GoSurfaceEllipse object.
845  * @return kTRUE if enabled and kFALSE if disabled.
846  */
847 GoFx(kBool) GoSurfaceEllipse_RegionEnabled(GoSurfaceEllipse tool);
848 
849 /**
850  * Gets the tool region.
851  *
852  * @public @memberof GoSurfaceEllipse
853  * @version Introduced in firmware 4.0.10.27
854  * @param tool GoSurfaceEllipse object.
855  * @return A GoRegion3d object.
856  */
857 GoFx(GoRegion3d) GoSurfaceEllipse_Region(GoSurfaceEllipse tool);
858 
859 /**
860  * Returns a GoSurfaceEllipse Major measurement object.
861  *
862  * @public @memberof GoSurfaceEllipse
863  * @version Introduced in firmware 4.0.10.27
864  * @param tool GoSurfaceEllipse object.
865  * @return A GoSurfaceEllipse Major measurement.
866  */
867 GoFx(GoSurfaceEllipseMajor) GoSurfaceEllipse_MajorMeasurement(GoSurfaceEllipse tool);
868 
869 /**
870  * Returns a GoSurfaceEllipse Minor measurement object.
871  *
872  * @public @memberof GoSurfaceEllipse
873  * @version Introduced in firmware 4.0.10.27
874  * @param tool GoSurfaceEllipse object.
875  * @return A GoSurfaceEllipse Minor measurement.
876  */
877 GoFx(GoSurfaceEllipseMinor) GoSurfaceEllipse_MinorMeasurement(GoSurfaceEllipse tool);
878 
879 /**
880  * Returns a GoSurfaceEllipse Ratio measurement object.
881  *
882  * @public @memberof GoSurfaceEllipse
883  * @version Introduced in firmware 4.0.10.27
884  * @param tool GoSurfaceEllipse object.
885  * @return A GoSurfaceEllipse Ratio measurement.
886  */
887 GoFx(GoSurfaceEllipseRatio) GoSurfaceEllipse_RatioMeasurement(GoSurfaceEllipse tool);
888 
889 /**
890  * Returns a GoSurfaceEllipse Z Angle measurement object.
891  *
892  * @public @memberof GoSurfaceEllipse
893  * @version Introduced in firmware 4.0.10.27
894  * @param tool GoSurfaceEllipse object.
895  * @return A GoSurfaceEllipse Z Angle measurement.
896  */
897 GoFx(GoSurfaceEllipseZAngle) GoSurfaceEllipse_ZAngleMeasurement(GoSurfaceEllipse tool);
898 
899 
900 /**
901  * @class GoSurfaceHole
902  * @extends GoSurfaceTool
903  * @ingroup GoSdk-SurfaceTools
904  * @brief Represents a surface hole tool.
905  */
906 typedef GoSurfaceTool GoSurfaceHole;
907 
908 /**
909  * Gets the current nominal radius value.
910  *
911  * @public @memberof GoSurfaceHole
912  * @version Introduced in firmware 4.0.10.27
913  * @param tool GoSurfaceHole object.
914  * @return The nominal radius value.
915  */
916 GoFx(k64f) GoSurfaceHole_NominalRadius(GoSurfaceHole tool);
917 
918 /**
919  * Sets the nominal radius value.
920  *
921  * @public @memberof GoSurfaceHole
922  * @version Introduced in firmware 4.0.10.27
923  * @param tool GoSurfaceHole object.
924  * @param nominalRadius Nominal radius value to set.
925  * @return Operation status.
926  */
927 GoFx(kStatus) GoSurfaceHole_SetNominalRadius(GoSurfaceHole tool, k64f nominalRadius);
928 
929 /**
930  * Gets the current radius tolerance value.
931  *
932  * @public @memberof GoSurfaceHole
933  * @version Introduced in firmware 4.0.10.27
934  * @param tool GoSurfaceHole object.
935  * @return The radius tolerance value.
936  */
937 GoFx(k64f) GoSurfaceHole_RadiusTolerance(GoSurfaceHole tool);
938 
939 /**
940  * Sets the radius tolerance value.
941  *
942  * @public @memberof GoSurfaceHole
943  * @version Introduced in firmware 4.0.10.27
944  * @param tool GoSurfaceHole object.
945  * @param radiusTolerance The radius tolerance value to set.
946  * @return Operation status.
947  */
948 GoFx(kStatus) GoSurfaceHole_SetRadiusTolerance(GoSurfaceHole tool, k64f radiusTolerance);
949 
950 /**
951  * Gets the enabled state of partial detection.
952  *
953  * @public @memberof GoSurfaceHole
954  * @version Introduced in firmware 4.0.10.27
955  * @param tool GoSurfaceHole object.
956  * @return kTRUE if enabled and kFALSE if disabled.
957  */
958 GoFx(kBool) GoSurfaceHole_PartialDetectionEnabled(GoSurfaceHole tool);
959 
960 /**
961  * Sets the enabled state of partial detection.
962  *
963  * @public @memberof GoSurfaceHole
964  * @version Introduced in firmware 4.0.10.27
965  * @param tool GoSurfaceHole object.
966  * @param enable kTRUE to enable partial detection and kFALSE to disable it.
967  * @return Operation status.
968  */
969 GoFx(kStatus) GoSurfaceHole_EnablePartialDetection(GoSurfaceHole tool, kBool enable);
970 
971 /**
972  * Gets the enabled state of the tool region.
973  *
974  * @public @memberof GoSurfaceHole
975  * @version Introduced in firmware 4.0.10.27
976  * @param tool GoSurfaceHole object.
977  * @return kTRUE if enabled and kFALSE if disabled.
978  */
979 GoFx(kBool) GoSurfaceHole_RegionEnabled(GoSurfaceHole tool);
980 
981 /**
982  * Sets the enabled state of the tool region.
983  *
984  * @public @memberof GoSurfaceHole
985  * @version Introduced in firmware 4.0.10.27
986  * @param tool GoSurfaceHole object.
987  * @param enable kTRUE to enable the tool region and kFALSE to disable it.
988  * @return Operation status.
989  */
990 GoFx(kStatus) GoSurfaceHole_EnableRegion(GoSurfaceHole tool, kBool enable);
991 
992 /**
993  * Returns the tool's region object.
994  *
995  * @public @memberof GoSurfaceHole
996  * @version Introduced in firmware 4.0.10.27
997  * @param tool GoSurfaceHole object.
998  * @return A GoRegion3d object.
999  */
1000 GoFx(GoRegion3d) GoSurfaceHole_Region(GoSurfaceHole tool);
1001 
1002 /**
1003  * Gets the enabled state of reference regions.
1004  *
1005  * @public @memberof GoSurfaceHole
1006  * @version Introduced in firmware 4.0.10.27
1007  * @param tool GoSurfaceHole object.
1008  * @return kTRUE if enabled and kFALSE if disabled.
1009  */
1010 GoFx(kBool) GoSurfaceHole_RefRegionsEnabled(GoSurfaceHole tool);
1011 
1012 /**
1013  * Sets the enabled state of reference regions.
1014  *
1015  * @public @memberof GoSurfaceHole
1016  * @version Introduced in firmware 4.0.10.27
1017  * @param tool GoSurfaceHole object.
1018  * @param enable kTRUE to enable reference regions and kFALSE to disable it.
1019  * @return Operation status.
1020  */
1021 GoFx(kStatus) GoSurfaceHole_EnableRefRegions(GoSurfaceHole tool, kBool enable);
1022 
1023 /**
1024  * Gets the reference region count.
1025  *
1026  * @public @memberof GoSurfaceHole
1027  * @version Introduced in firmware 4.0.10.27
1028  * @param tool GoSurfaceHole object.
1029  * @return The reference region count.
1030  */
1031 GoFx(kSize) GoSurfaceHole_RefRegionCount(GoSurfaceHole tool);
1032 
1033 /**
1034  * Sets the reference region count.
1035  *
1036  * @public @memberof GoSurfaceHole
1037  * @version Introduced in firmware 4.0.10.27
1038  * @param tool GoSurfaceHole object.
1039  * @param count The reference region count.
1040  * @return Operation status.
1041  * @see GO_SURFACE_HOLE_MAX_REF_REGIONS
1042  */
1043 GoFx(kStatus) GoSurfaceHole_SetRefRegionCount(GoSurfaceHole tool, kSize count);
1044 
1045 /**
1046  * Gets a reference region object at the given index.
1047  *
1048  * @public @memberof GoSurfaceHole
1049  * @version Introduced in firmware 4.0.10.27
1050  * @param tool GoSurfaceHole object.
1051  * @param index The index with which to retrieve a reference region.
1052  * @return A GoSurfaceRegion2d object.
1053  * @see GoSurfaceHole_RefRegionCount
1054  */
1055 GoFx(GoSurfaceRegion2d) GoSurfaceHole_RefRegionAt(GoSurfaceHole tool, kSize index);
1056 
1057 /**
1058  * Gets the enabled state of auto-tilt.
1059  *
1060  * @public @memberof GoSurfaceHole
1061  * @version Introduced in firmware 4.0.10.27
1062  * @param tool GoSurfaceHole object.
1063  * @return kTRUE if enabled and kFALSE if disabled.
1064  */
1065 GoFx(kBool) GoSurfaceHole_AutoTiltEnabled(GoSurfaceHole tool);
1066 
1067 /**
1068  * Sets the enabled state of auto-tilt.
1069  *
1070  * @public @memberof GoSurfaceHole
1071  * @version Introduced in firmware 4.0.10.27
1072  * @param tool GoSurfaceHole object.
1073  * @param enable kTRUE to enable it and kFALSE to disable it.
1074  * @return Operation status.
1075  */
1076 GoFx(kStatus) GoSurfaceHole_EnableAutoTilt(GoSurfaceHole tool, kBool enable);
1077 
1078 /**
1079  * Gets the tilt X-angle value.
1080  *
1081  * @public @memberof GoSurfaceHole
1082  * @version Introduced in firmware 4.0.10.27
1083  * @param tool GoSurfaceHole object.
1084  * @return Tilt X-angle value.
1085  */
1086 GoFx(k64f) GoSurfaceHole_TiltXAngle(GoSurfaceHole tool);
1087 
1088 /**
1089  * Sets the tilt X-angle value.
1090  *
1091  * @public @memberof GoSurfaceHole
1092  * @version Introduced in firmware 4.0.10.27
1093  * @param tool GoSurfaceHole object.
1094  * @param value The tilt X-angle value to set.
1095  * @return Operation status.
1096  */
1097 GoFx(kStatus) GoSurfaceHole_SetTiltXAngle(GoSurfaceHole tool, k64f value);
1098 
1099 /**
1100  * Gets the tilt Y-angle value.
1101  *
1102  * @public @memberof GoSurfaceHole
1103  * @version Introduced in firmware 4.0.10.27
1104  * @param tool GoSurfaceHole object.
1105  * @return Tilt Y-angle value.
1106  */
1107 GoFx(k64f) GoSurfaceHole_TiltYAngle(GoSurfaceHole tool);
1108 
1109 /**
1110  * Sets the tilt Y-angle value.
1111  *
1112  * @public @memberof GoSurfaceHole
1113  * @version Introduced in firmware 4.0.10.27
1114  * @param tool GoSurfaceHole object.
1115  * @param value The tilt Y-angle value to set.
1116  * @return Operation status.
1117  */
1118 GoFx(kStatus) GoSurfaceHole_SetTiltYAngle(GoSurfaceHole tool, k64f value);
1119 
1120 /**
1121  * Gets the enabled state of the depth limit.
1122  *
1123  * @public @memberof GoSurfaceHole
1124  * @version Introduced in firmware 4.3.3.124
1125  * @param tool GoSurfaceHole object.
1126  * @return kTRUE if enabled and kFALSE if disabled.
1127  */
1128 GoFx(kBool) GoSurfaceHole_DepthLimitEnabled(GoSurfaceHole tool);
1129 
1130 /**
1131  * Sets the enabled state of the depth limit.
1132  *
1133  * @public @memberof GoSurfaceHole
1134  * @version Introduced in firmware 4.3.3.124
1135  * @param tool GoSurfaceHole object.
1136  * @param enable kTRUE to enable it and kFALSE to disable it.
1137  * @return Operation status.
1138  */
1139 GoFx(kStatus) GoSurfaceHole_EnableDepthLimit(GoSurfaceHole tool, kBool enable);
1140 
1141 /**
1142  * Gets the depth limit value.
1143  *
1144  * @public @memberof GoSurfaceHole
1145  * @version Introduced in firmware 4.3.3.124
1146  * @param tool GoSurfaceHole object.
1147  * @return Depth limit value.
1148 
1149  */
1150 GoFx(k64f) GoSurfaceHole_DepthLimit(GoSurfaceHole tool);
1151 
1152 /**
1153  * Sets the depth limit value.
1154  *
1155  * @public @memberof GoSurfaceHole
1156  * @version Introduced in firmware 4.3.3.124
1157  * @param tool GoSurfaceHole object.
1158  * @param value The depth limit value to set.
1159  * @return Operation status.
1160  * @see GoSurfaceHole_DepthLimitEnabled, GoSurfaceHole_EnableDepthLimit
1161  */
1162 GoFx(kStatus) GoSurfaceHole_SetDepthLimit(GoSurfaceHole tool, k64f value);
1163 
1164 /**
1165  * Returns a GoSurfaceHole X measurement object.
1166  *
1167  * @public @memberof GoSurfaceHole
1168  * @version Introduced in firmware 4.0.10.27
1169  * @param tool GoSurfaceHole object.
1170  * @return A GoSurfaceHole X measurement.
1171  */
1172 GoFx(GoSurfaceHoleX) GoSurfaceHole_XMeasurement(GoSurfaceHole tool);
1173 
1174 /**
1175  * Returns a GoSurfaceHole Y measurement object.
1176  *
1177  * @public @memberof GoSurfaceHole
1178  * @version Introduced in firmware 4.0.10.27
1179  * @param tool GoSurfaceHole object.
1180  * @return A GoSurfaceHole Y measurement.
1181  */
1182 GoFx(GoSurfaceHoleY) GoSurfaceHole_YMeasurement(GoSurfaceHole tool);
1183 
1184 /**
1185  * Returns a GoSurfaceHole Z measurement object.
1186  *
1187  * @public @memberof GoSurfaceHole
1188  * @version Introduced in firmware 4.0.10.27
1189  * @param tool GoSurfaceHole object.
1190  * @return A GoSurfaceHole Z measurement.
1191  */
1192 GoFx(GoSurfaceHoleZ) GoSurfaceHole_ZMeasurement(GoSurfaceHole tool);
1193 
1194 /**
1195  * Returns a GoSurfaceHole Radius measurement object.
1196  *
1197  * @public @memberof GoSurfaceHole
1198  * @version Introduced in firmware 4.0.10.27
1199  * @param tool GoSurfaceHole object.
1200  * @return A GoSurfaceHole Radius measurement.
1201  */
1202 GoFx(GoSurfaceHoleRadius) GoSurfaceHole_RadiusMeasurement(GoSurfaceHole tool);
1203 
1204 
1205 /**
1206  * @class GoSurfaceOpening
1207  * @extends GoSurfaceTool
1208  * @ingroup GoSdk-SurfaceTools
1209  * @brief Represents a surface opening tool.
1210  */
1211 typedef GoSurfaceTool GoSurfaceOpening;
1212 
1213 GoFx(kStatus) GoSurfaceOpening_SetType(GoSurfaceOpening tool, GoSurfaceOpeningType type);
1214 
1215 /**
1216  * Gets the surface opening type.
1217  *
1218  * @public @memberof GoSurfaceOpening
1219  * @version Introduced in firmware 4.0.10.27
1220  * @param tool GoSurfaceOpening object.
1221  * @return The surface opening type.
1222  */
1223 GoFx(GoSurfaceOpeningType) GoSurfaceOpening_Type(GoSurfaceOpening tool);
1224 
1225 /**
1226  * Gets the nominal width.
1227  *
1228  * @public @memberof GoSurfaceOpening
1229  * @version Introduced in firmware 4.0.10.27
1230  * @param tool GoSurfaceOpening object.
1231  * @return The nominal width (in mm).
1232  */
1233 GoFx(k64f) GoSurfaceOpening_NominalWidth(GoSurfaceOpening tool);
1234 
1235 /**
1236  * Sets the nominal width.
1237  *
1238  * @public @memberof GoSurfaceOpening
1239  * @version Introduced in firmware 4.0.10.27
1240  * @param tool GoSurfaceOpening object.
1241  * @param value The nominal width to set (in mm).
1242  * @return Operation status.
1243  */
1244 GoFx(kStatus) GoSurfaceOpening_SetNominalWidth(GoSurfaceOpening tool, k64f value);
1245 
1246 /**
1247  * Gets the nominal length.
1248  *
1249  * @public @memberof GoSurfaceOpening
1250  * @version Introduced in firmware 4.0.10.27
1251  * @param tool GoSurfaceOpening object.
1252  * @return The nominal length (in mm).
1253  */
1254 GoFx(k64f) GoSurfaceOpening_NominalLength(GoSurfaceOpening tool);
1255 
1256 /**
1257  * Sets the nominal length.
1258  *
1259  * @public @memberof GoSurfaceOpening
1260  * @version Introduced in firmware 4.0.10.27
1261  * @param tool GoSurfaceOpening object.
1262  * @param value The nominal length to set (in mm).
1263  * @return Operation status.
1264  */
1265 GoFx(kStatus) GoSurfaceOpening_SetNominalLength(GoSurfaceOpening tool, k64f value);
1266 
1267 /**
1268  * Gets the nominal angle.
1269  *
1270  * @public @memberof GoSurfaceOpening
1271  * @version Introduced in firmware 4.0.10.27
1272  * @param tool GoSurfaceOpening object.
1273  * @return The nominal angle (in degrees).
1274  */
1275 GoFx(k64f) GoSurfaceOpening_NominalAngle(GoSurfaceOpening tool);
1276 
1277 /**
1278  * Sets the nominal angle.
1279  *
1280  * @public @memberof GoSurfaceOpening
1281  * @version Introduced in firmware 4.0.10.27
1282  * @param tool GoSurfaceOpening object.
1283  * @param value The nominal angle to set (in degrees).
1284  * @return Operation status.
1285  */
1286 GoFx(kStatus) GoSurfaceOpening_SetNominalAngle(GoSurfaceOpening tool, k64f value);
1287 
1288 /**
1289  * Gets the nominal radius.
1290  *
1291  * @public @memberof GoSurfaceOpening
1292  * @version Introduced in firmware 4.0.10.27
1293  * @param tool GoSurfaceOpening object.
1294  * @return The nominal radius (in mm).
1295  */
1296 GoFx(k64f) GoSurfaceOpening_NominalRadius(GoSurfaceOpening tool);
1297 
1298 /**
1299  * Sets the nominal radius.
1300  *
1301  * @public @memberof GoSurfaceOpening
1302  * @version Introduced in firmware 4.0.10.27
1303  * @param tool GoSurfaceOpening object.
1304  * @param value The nominal radius to set (in mm).
1305  * @return Operation status.
1306  */
1307 GoFx(kStatus) GoSurfaceOpening_SetNominalRadius(GoSurfaceOpening tool, k64f value);
1308 
1309 /**
1310  * Gets the width tolerance.
1311  *
1312  * @public @memberof GoSurfaceOpening
1313  * @version Introduced in firmware 4.0.10.27
1314  * @param tool GoSurfaceOpening object.
1315  * @return The width tolerance (in mm).
1316  */
1317 GoFx(k64f) GoSurfaceOpening_WidthTolerance(GoSurfaceOpening tool);
1318 
1319 /**
1320  * Sets the width tolerance.
1321  *
1322  * @public @memberof GoSurfaceOpening
1323  * @version Introduced in firmware 4.0.10.27
1324  * @param tool GoSurfaceOpening object.
1325  * @param value The width tolerance to set (in mm).
1326  * @return Operation status.
1327  */
1328 GoFx(kStatus) GoSurfaceOpening_SetWidthTolerance(GoSurfaceOpening tool, k64f value);
1329 
1330 /**
1331  * Gets the length tolerance.
1332  *
1333  * @public @memberof GoSurfaceOpening
1334  * @version Introduced in firmware 4.0.10.27
1335  * @param tool GoSurfaceOpening object.
1336  * @return The length tolerance (in mm).
1337  */
1338 GoFx(k64f) GoSurfaceOpening_LengthTolerance(GoSurfaceOpening tool);
1339 
1340 /**
1341  * Sets the length tolerance.
1342  *
1343  * @public @memberof GoSurfaceOpening
1344  * @version Introduced in firmware 4.0.10.27
1345  * @param tool GoSurfaceOpening object.
1346  * @param value The length tolerance to set (in mm).
1347  * @return Operation status.
1348  */
1349 GoFx(kStatus) GoSurfaceOpening_SetLengthTolerance(GoSurfaceOpening tool, k64f value);
1350 
1351 /**
1352  * Gets the angle tolerance.
1353  *
1354  * @public @memberof GoSurfaceOpening
1355  * @version Introduced in firmware 4.0.10.27
1356  * @param tool GoSurfaceOpening object.
1357  * @return The angle tolerance (in degrees).
1358  */
1359 GoFx(k64f) GoSurfaceOpening_AngleTolerance(GoSurfaceOpening tool);
1360 
1361 /**
1362  * Sets the angle tolerance.
1363  *
1364  * @public @memberof GoSurfaceOpening
1365  * @version Introduced in firmware 4.0.10.27
1366  * @param tool GoSurfaceOpening object.
1367  * @param value The angle tolerance to set (in degrees).
1368  * @return Operation status.
1369  */
1370 GoFx(kStatus) GoSurfaceOpening_SetAngleTolerance(GoSurfaceOpening tool, k64f value);
1371 
1372 /**
1373  * Gets the enabled state of partial detection.
1374  *
1375  * @public @memberof GoSurfaceOpening
1376  * @version Introduced in firmware 4.0.10.27
1377  * @param tool GoSurfaceOpening object.
1378  * @return kTRUE if partial detection is enabled and kFALSE otherwise.
1379  */
1380 GoFx(kBool) GoSurfaceOpening_PartialDetectionEnabled(GoSurfaceOpening tool);
1381 
1382 /**
1383  * Sets the enabled state of partial detection.
1384  *
1385  * @public @memberof GoSurfaceOpening
1386  * @version Introduced in firmware 4.0.10.27
1387  * @param tool GoSurfaceOpening object.
1388  * @param enable kTRUE to enable partial detection and kFALSE to disable it.
1389  * @return Operation status.
1390  */
1391 GoFx(kStatus) GoSurfaceOpening_EnablePartialDetection(GoSurfaceOpening tool, kBool enable);
1392 
1393 /**
1394  * Gets the enabled state of the tool region.
1395  *
1396  * @public @memberof GoSurfaceOpening
1397  * @version Introduced in firmware 4.0.10.27
1398  * @param tool GoSurfaceOpening object.
1399  * @return kTRUE if the tool region is enabled and kFALSE otherwise.
1400  */
1401 GoFx(kBool) GoSurfaceOpening_RegionEnabled(GoSurfaceOpening tool);
1402 
1403 /**
1404  * Sets the enabled state of the tool region.
1405  *
1406  * @public @memberof GoSurfaceOpening
1407  * @version Introduced in firmware 4.0.10.27
1408  * @param tool GoSurfaceOpening object.
1409  * @param enable kTRUE to enable the tool region and kFALSE to disable it.
1410  * @return Operation status.
1411  */
1412 GoFx(kStatus) GoSurfaceOpening_EnableRegion(GoSurfaceOpening tool, kBool enable);
1413 
1414 /**
1415  * Returns the region object for the tool.
1416  *
1417  * @public @memberof GoSurfaceOpening
1418  * @version Introduced in firmware 4.0.10.27
1419  * @param tool GoSurfaceOpening object.
1420  * @return A GoRegion3d object.
1421  */
1422 GoFx(GoRegion3d) GoSurfaceOpening_Region(GoSurfaceOpening tool);
1423 
1424 /**
1425  * Gets the enabled state of reference regions.
1426  *
1427  * @public @memberof GoSurfaceOpening
1428  * @version Introduced in firmware 4.0.10.27
1429  * @param tool GoSurfaceOpening object.
1430  * @return kTRUE if reference regions are enabled and kFALSE otherwise.
1431  */
1432 GoFx(kBool) GoSurfaceOpening_RefRegionsEnabled(GoSurfaceOpening tool);
1433 
1434 /**
1435  * Sets the enabled state of reference regions.
1436  *
1437  * @public @memberof GoSurfaceOpening
1438  * @version Introduced in firmware 4.0.10.27
1439  * @param tool GoSurfaceOpening object.
1440  * @param enable kTRUE to enable reference regions and kFALSE to disable it.
1441  * @return Operation status.
1442  */
1443 GoFx(kStatus) GoSurfaceOpening_EnableRefRegions(GoSurfaceOpening tool, kBool enable);
1444 
1445 /**
1446  * Gets the reference region count.
1447  *
1448  * @public @memberof GoSurfaceOpening
1449  * @version Introduced in firmware 4.0.10.27
1450  * @param tool GoSurfaceOpening object.
1451  * @return The count of reference regions.
1452  */
1453 GoFx(kSize) GoSurfaceOpening_RefRegionCount(GoSurfaceOpening tool);
1454 
1455 /**
1456  * Sets the reference region count.
1457  *
1458  * @public @memberof GoSurfaceOpening
1459  * @version Introduced in firmware 4.0.10.27
1460  * @param tool GoSurfaceOpening object.
1461  * @param count The reference region count to set.
1462  * @return Operation status.
1463  * @see GO_SURFACE_OPENING_MAX_REF_REGIONS
1464  */
1465 GoFx(kStatus) GoSurfaceOpening_SetRefRegionCount(GoSurfaceOpening tool, kSize count);
1466 
1467 /**
1468  * Gets the reference region object at the specified index.
1469  *
1470  * @public @memberof GoSurfaceOpening
1471  * @version Introduced in firmware 4.0.10.27
1472  * @param tool GoSurfaceOpening object.
1473  * @param index The index with which to retrieve a reference region.
1474  * @return A GoSurfaceRegion2d object or kNULL if the index is invalid.
1475  * @see GoSurfaceOpening_RefRegionCount
1476  */
1477 GoFx(GoSurfaceRegion2d) GoSurfaceOpening_RefRegionAt(GoSurfaceOpening tool, kSize index);
1478 
1479 /**
1480  * Gets the enabled state of auto-tilt.
1481  *
1482  * @public @memberof GoSurfaceOpening
1483  * @version Introduced in firmware 4.0.10.27
1484  * @param tool GoSurfaceOpening object.
1485  * @return kTRUE if auto-tilt is enabled and kFALSE otherwise.
1486  */
1487 GoFx(kBool) GoSurfaceOpening_AutoTiltEnabled(GoSurfaceOpening tool);
1488 
1489 /**
1490  * Sets the enabled state of auto-tilt.
1491  *
1492  * @public @memberof GoSurfaceOpening
1493  * @version Introduced in firmware 4.0.10.27
1494  * @param tool GoSurfaceOpening object.
1495  * @param enable kTRUE to enable auto-tilt and kFALSE to disable it.
1496  * @return Operation status.
1497  */
1498 GoFx(kStatus) GoSurfaceOpening_EnableAutoTilt(GoSurfaceOpening tool, kBool enable);
1499 
1500 /**
1501  * Gets the tilt X-angle.
1502  *
1503  * @public @memberof GoSurfaceOpening
1504  * @version Introduced in firmware 4.0.10.27
1505  * @param tool GoSurfaceOpening object.
1506  * @return The tilt X-angle.
1507  */
1508 GoFx(k64f) GoSurfaceOpening_TiltXAngle(GoSurfaceOpening tool);
1509 
1510 /**
1511  * Sets the tilt X-angle.
1512  *
1513  * @public @memberof GoSurfaceOpening
1514  * @version Introduced in firmware 4.0.10.27
1515  * @param tool GoSurfaceOpening object.
1516  * @param value The tilt X-angle to set.
1517  * @return Operation status.
1518  */
1519 GoFx(kStatus) GoSurfaceOpening_SetTiltXAngle(GoSurfaceOpening tool, k64f value);
1520 
1521 /**
1522  * Gets the tilt Y-angle.
1523  *
1524  * @public @memberof GoSurfaceOpening
1525  * @version Introduced in firmware 4.0.10.27
1526  * @param tool GoSurfaceOpening object.
1527  * @return The tilt Y-angle.
1528  */
1529 GoFx(k64f) GoSurfaceOpening_TiltYAngle(GoSurfaceOpening tool);
1530 
1531 /**
1532  * Sets the tilt Y-angle.
1533  *
1534  * @public @memberof GoSurfaceOpening
1535  * @version Introduced in firmware 4.0.10.27
1536  * @param tool GoSurfaceOpening object.
1537  * @param value The tilt Y-angle to set.
1538  * @return Operation status.
1539  */
1540 GoFx(kStatus) GoSurfaceOpening_SetTiltYAngle(GoSurfaceOpening tool, k64f value);
1541 
1542 /**
1543  * Gets the enabled state of the depth limit.
1544  *
1545  * @public @memberof GoSurfaceOpening
1546  * @version Introduced in firmware 4.3.3.124
1547  * @param tool GoSurfaceOpening object.
1548  * @return kTRUE if enabled and kFALSE if disabled.
1549  */
1550 GoFx(kBool) GoSurfaceOpening_DepthLimitEnabled(GoSurfaceOpening tool);
1551 
1552 /**
1553  * Sets the enabled state of the depth limit.
1554  *
1555  * @public @memberof GoSurfaceOpening
1556  * @version Introduced in firmware 4.3.3.124
1557  * @param tool GoSurfaceOpening object.
1558  * @param enable kTRUE to enable it and kFALSE to disable it.
1559  * @return Operation status.
1560  */
1561 GoFx(kStatus) GoSurfaceOpening_EnableDepthLimit(GoSurfaceOpening tool, kBool enable);
1562 
1563 /**
1564  * Gets the depth limit value.
1565  *
1566  * @public @memberof GoSurfaceOpening
1567  * @version Introduced in firmware 4.3.3.124
1568  * @param tool GoSurfaceOpening object.
1569  * @return Depth limit value.
1570 
1571  */
1572 GoFx(k64f) GoSurfaceOpening_DepthLimit(GoSurfaceOpening tool);
1573 
1574 /**
1575  * Sets the depth limit value.
1576  *
1577  * @public @memberof GoSurfaceOpening
1578  * @version Introduced in firmware 4.3.3.124
1579  * @param tool GoSurfaceOpening object.
1580  * @param value The depth limit value to set.
1581  * @return Operation status.
1582  * @see GoSurfaceOpening_DepthLimitEnabled, GoSurfaceOpening_EnableDepthLimit
1583  */
1584 GoFx(kStatus) GoSurfaceOpening_SetDepthLimit(GoSurfaceOpening tool, k64f value);
1585 
1586 
1587 /**
1588  * Returns a GoSurfaceOpening X measurement object.
1589  *
1590  * @public @memberof GoSurfaceOpening
1591  * @version Introduced in firmware 4.0.10.27
1592  * @param tool GoSurfaceOpening object.
1593  * @return A GoSurfaceOpening X measurement.
1594  */
1595 GoFx(GoSurfaceOpeningX) GoSurfaceOpening_XMeasurement(GoSurfaceOpening tool);
1596 
1597 /**
1598  * Returns a GoSurfaceOpening Y measurement object.
1599  *
1600  * @public @memberof GoSurfaceOpening
1601  * @version Introduced in firmware 4.0.10.27
1602  * @param tool GoSurfaceOpening object.
1603  * @return A GoSurfaceOpening Y measurement.
1604  */
1605 GoFx(GoSurfaceOpeningY) GoSurfaceOpening_YMeasurement(GoSurfaceOpening tool);
1606 
1607 /**
1608  * Returns a GoSurfaceOpening Z measurement object.
1609  *
1610  * @public @memberof GoSurfaceOpening
1611  * @version Introduced in firmware 4.0.10.27
1612  * @param tool GoSurfaceOpening object.
1613  * @return A GoSurfaceOpening Z measurement.
1614  */
1615 GoFx(GoSurfaceOpeningZ) GoSurfaceOpening_ZMeasurement(GoSurfaceOpening tool);
1616 
1617 /**
1618  * Returns a GoSurfaceOpening Width measurement object.
1619  *
1620  * @public @memberof GoSurfaceOpening
1621  * @version Introduced in firmware 4.0.10.27
1622  * @param tool GoSurfaceOpening object.
1623  * @return A GoSurfaceOpening Width measurement.
1624  */
1625 GoFx(GoSurfaceOpeningWidth) GoSurfaceOpening_WidthMeasurement(GoSurfaceOpening tool);
1626 
1627 /**
1628  * Returns a GoSurfaceOpening Length measurement object.
1629  *
1630  * @public @memberof GoSurfaceOpening
1631  * @version Introduced in firmware 4.0.10.27
1632  * @param tool GoSurfaceOpening object.
1633  * @return A GoSurfaceOpening Length measurement.
1634  */
1635 GoFx(GoSurfaceOpeningLength) GoSurfaceOpening_LengthMeasurement(GoSurfaceOpening tool);
1636 
1637 /**
1638  * Returns a GoSurfaceOpening Angle measurement object.
1639  *
1640  * @public @memberof GoSurfaceOpening
1641  * @version Introduced in firmware 4.0.10.27
1642  * @param tool GoSurfaceOpening object.
1643  * @return A GoSurfaceOpening Angle measurement.
1644  */
1645 GoFx(GoSurfaceOpeningAngle) GoSurfaceOpening_AngleMeasurement(GoSurfaceOpening tool);
1646 
1647 
1648 /**
1649  * @class GoSurfacePlane
1650  * @extends GoSurfaceTool
1651  * @ingroup GoSdk-SurfaceTools
1652  * @brief Represents a surface plane tool.
1653  */
1654 typedef GoSurfaceTool GoSurfacePlane;
1655 
1656 /**
1657  * Gets the enabled state of the reference regions.
1658  *
1659  * @public @memberof GoSurfacePlane
1660  * @version Introduced in firmware 4.0.10.27
1661  * @param tool GoSurfacePlane object.
1662  * @return kTRUE if the tool region is enabled and kFALSE otherwise.
1663  */
1664 GoFx(kBool) GoSurfacePlane_RegionsEnabled(GoSurfacePlane tool);
1665 
1666 /**
1667  * Sets the enabled state of the reference regions.
1668  *
1669  * @public @memberof GoSurfacePlane
1670  * @version Introduced in firmware 4.0.10.27
1671  * @param tool GoSurfacePlane object.
1672  * @param enable kTRUE to enable regions and kFALSE to disable them.
1673  * @return Operation status.
1674  */
1675 GoFx(kStatus) GoSurfacePlane_EnableRegions(GoSurfacePlane tool, kBool enable);
1676 
1677 /**
1678  * Gets the tool's region count.
1679  *
1680  * @public @memberof GoSurfacePlane
1681  * @version Introduced in firmware 4.0.10.27
1682  * @param tool GoSurfacePlane object.
1683  * @return The number of regions in the tool.
1684  */
1685 GoFx(kSize) GoSurfacePlane_RegionCount(GoSurfacePlane tool);
1686 
1687 /**
1688  * Sets the tool region count.
1689  *
1690  * @public @memberof GoSurfacePlane
1691  * @version Introduced in firmware 4.0.10.27
1692  * @param tool GoSurfacePlane object.
1693  * @param count The region count to set.
1694  * @return Operation status.
1695  */
1696 GoFx(kStatus) GoSurfacePlane_SetRegionCount(GoSurfacePlane tool, kSize count);
1697 
1698 /**
1699  * Gets a region at the specified index.
1700  *
1701  * @public @memberof GoSurfacePlane
1702  * @version Introduced in firmware 4.0.10.27
1703  * @param tool GoSurfacePlane object.
1704  * @param index The index with which to return a tool region.
1705  * @return A GoRegion3d object or kNULL if the index is in invalid.
1706  * @see GoSurfacePlane_RegionCount
1707  */
1708 GoFx(GoRegion3d) GoSurfacePlane_RegionAt(GoSurfacePlane tool, kSize index);
1709 
1710 /**
1711  * Returns a GoSurfacePlane X Angle measurement object.
1712  *
1713  * @public @memberof GoSurfacePlane
1714  * @version Introduced in firmware 4.0.10.27
1715  * @param tool GoSurfacePlane object.
1716  * @return A GoSurfacePlane X Angle measurement.
1717  */
1718 GoFx(GoSurfacePlaneXAngle) GoSurfacePlane_XAngleMeasurement(GoSurfacePlane tool);
1719 
1720 /**
1721  * Returns a GoSurfacePlane Y Angle measurement object.
1722  *
1723  * @public @memberof GoSurfacePlane
1724  * @version Introduced in firmware 4.0.10.27
1725  * @param tool GoSurfacePlane object.
1726  * @return A GoSurfacePlane Y Angle measurement.
1727  */
1728 GoFx(GoSurfacePlaneYAngle) GoSurfacePlane_YAngleMeasurement(GoSurfacePlane tool);
1729 
1730 /**
1731  * Returns a GoSurfacePlane Z Offset measurement object.
1732  *
1733  * @public @memberof GoSurfacePlane
1734  * @version Introduced in firmware 4.0.10.27
1735  * @param tool GoSurfacePlane object.
1736  * @return A GoSurfacePlane Z Offset measurement.
1737  */
1738 GoFx(GoSurfacePlaneZOffset) GoSurfacePlane_ZOffsetMeasurement(GoSurfacePlane tool);
1739 
1740 
1741 /**
1742  * @class GoSurfacePosition
1743  * @extends GoSurfaceTool
1744  * @ingroup GoSdk-SurfaceTools
1745  * @brief Represents a surface position tool.
1746  */
1747 typedef GoSurfaceTool GoSurfacePosition;
1748 
1749 GoFx(GoSurfaceFeature) GoSurfacePosition_Feature(GoSurfacePosition tool);
1750 
1751 /**
1752  * Returns a GoSurfacePosition X measurement object.
1753  *
1754  * @public @memberof GoSurfacePosition
1755  * @version Introduced in firmware 4.0.10.27
1756  * @param tool GoSurfacePosition object.
1757  * @return A GoSurfacePosition X measurement.
1758  */
1759 GoFx(GoSurfacePositionX) GoSurfacePosition_XMeasurement(GoSurfacePosition tool);
1760 
1761 /**
1762  * Returns a GoSurfacePosition Y measurement object.
1763  *
1764  * @public @memberof GoSurfacePosition
1765  * @version Introduced in firmware 4.0.10.27
1766  * @param tool GoSurfacePosition object.
1767  * @return A GoSurfacePosition Y measurement.
1768  */
1769 GoFx(GoSurfacePositionY) GoSurfacePosition_YMeasurement(GoSurfacePosition tool);
1770 
1771 /**
1772  * Returns a GoSurfacePosition Z measurement object.
1773  *
1774  * @public @memberof GoSurfacePosition
1775  * @version Introduced in firmware 4.0.10.27
1776  * @param tool GoSurfacePosition object.
1777  * @return A GoSurfacePosition Z measurement.
1778  */
1779 GoFx(GoSurfacePositionZ) GoSurfacePosition_ZMeasurement(GoSurfacePosition tool);
1780 
1781 
1782 /**
1783  * @class GoSurfaceStud
1784  * @extends GoSurfaceTool
1785  * @ingroup GoSdk-SurfaceTools
1786  * @brief Represents a surface stud tool.
1787  */
1788 typedef GoSurfaceTool GoSurfaceStud;
1789 
1790 /**
1791  * Returns the stud radius value.
1792  *
1793  * @public @memberof GoSurfaceStud
1794  * @version Introduced in firmware 4.0.10.27
1795  * @param tool GoSurfaceStud object.
1796  * @return The stud radius value.
1797  */
1798 GoFx(k64f) GoSurfaceStud_StudRadius(GoSurfaceStud tool);
1799 
1800 /**
1801  * Sets the stud radius value.
1802  *
1803  * @public @memberof GoSurfaceStud
1804  * @version Introduced in firmware 4.0.10.27
1805  * @param tool GoSurfaceStud object.
1806  * @param value The stud radius value to set.
1807  * @return Operation status.
1808  */
1809 GoFx(kStatus) GoSurfaceStud_SetStudRadius(GoSurfaceStud tool, k64f value);
1810 
1811 /**
1812  * Returns the stud height value.
1813  *
1814  * @public @memberof GoSurfaceStud
1815  * @version Introduced in firmware 4.0.10.27
1816  * @param tool GoSurfaceStud object.
1817  * @return The stud height value.
1818  */
1819 GoFx(k64f) GoSurfaceStud_StudHeight(GoSurfaceStud tool);
1820 
1821 /**
1822  * Sets the stud height value.
1823  *
1824  * @public @memberof GoSurfaceStud
1825  * @version Introduced in firmware 4.0.10.27
1826  * @param tool GoSurfaceStud object.
1827  * @param value The stud height value to set.
1828  * @return Operation status.
1829  */
1830 GoFx(kStatus) GoSurfaceStud_SetStudHeight(GoSurfaceStud tool, k64f value);
1831 
1832 /**
1833  * Returns the stud base height value.
1834  *
1835  * @public @memberof GoSurfaceStud
1836  * @version Introduced in firmware 4.0.10.27
1837  * @param tool GoSurfaceStud object.
1838  * @return The stud base height value.
1839  */
1840 GoFx(k64f) GoSurfaceStud_BaseHeight(GoSurfaceStud tool);
1841 
1842 /**
1843  * Sets the base height value.
1844  *
1845  * @public @memberof GoSurfaceStud
1846  * @version Introduced in firmware 4.0.10.27
1847  * @param tool GoSurfaceStud object.
1848  * @param value The base height value to set.
1849  * @return Operation status.
1850  */
1851 GoFx(kStatus) GoSurfaceStud_SetBaseHeight(GoSurfaceStud tool, k64f value);
1852 
1853 /**
1854  * Returns the stud tip height value.
1855  *
1856  * @public @memberof GoSurfaceStud
1857  * @version Introduced in firmware 4.0.10.27
1858  * @param tool GoSurfaceStud object.
1859  * @return The stud tip height value.
1860  */
1861 GoFx(k64f) GoSurfaceStud_TipHeight(GoSurfaceStud tool);
1862 
1863 /**
1864  * Sets the tip height value.
1865  *
1866  * @public @memberof GoSurfaceStud
1867  * @version Introduced in firmware 4.0.10.27
1868  * @param tool GoSurfaceStud object.
1869  * @param value The tip height value to set.
1870  * @return Operation status.
1871  */
1872 GoFx(kStatus) GoSurfaceStud_SetTipHeight(GoSurfaceStud tool, k64f value);
1873 
1874 /**
1875  * Gets the enabled state of the tool region.
1876  *
1877  * @public @memberof GoSurfaceStud
1878  * @version Introduced in firmware 4.0.10.27
1879  * @param tool GoSurfaceStud object.
1880  * @return kTRUE if enabled and kFALSE if disabled.
1881  */
1882 GoFx(kBool) GoSurfaceStud_RegionEnabled(GoSurfaceStud tool);
1883 
1884 /**
1885  * Sets the enabled state of the tool region.
1886  *
1887  * @public @memberof GoSurfaceStud
1888  * @version Introduced in firmware 4.0.10.27
1889  * @param tool GoSurfaceStud object.
1890  * @param enable kTRUE to enable the region and kFALSE to disable it.
1891  * @return Operation status.
1892  */
1893 GoFx(kStatus) GoSurfaceStud_EnableRegion(GoSurfaceStud tool, kBool enable);
1894 
1895 /**
1896  * Returns the tool region object.
1897  *
1898  * @public @memberof GoSurfaceStud
1899  * @version Introduced in firmware 4.0.10.27
1900  * @param tool GoSurfaceStud object.
1901  * @return A GoRegion3d object.
1902  */
1903 GoFx(GoRegion3d) GoSurfaceStud_Region(GoSurfaceStud tool);
1904 
1905 /**
1906  * Gets the enabled state of the reference regions.
1907  *
1908  * @public @memberof GoSurfaceStud
1909  * @version Introduced in firmware 4.0.10.27
1910  * @param tool GoSurfaceStud object.
1911  * @return enable kTRUE if the reference regions are enabled and kFALSE otherwise.
1912  */
1913 GoFx(kBool) GoSurfaceStud_RefRegionsEnabled(GoSurfaceStud tool);
1914 
1915 /**
1916  * Sets the enabled state of the reference regions.
1917  *
1918  * @public @memberof GoSurfaceStud
1919  * @version Introduced in firmware 4.0.10.27
1920  * @param tool GoSurfaceStud object.
1921  * @param enable kTRUE to enable the region and kFALSE to disable it.
1922  * @return Operation status.
1923  */
1924 GoFx(kStatus) GoSurfaceStud_EnableRefRegions(GoSurfaceStud tool, kBool enable);
1925 
1926 /**
1927  * Sets the reference region count.
1928  *
1929  * @public @memberof GoSurfaceStud
1930  * @version Introduced in firmware 4.0.10.27
1931  * @param tool GoSurfaceStud object.
1932  * @param count The number of reference regions to use.
1933  * @return Operation status.
1934  * @see GO_SURFACE_STUD_MAX_REF_REGIONS
1935  */
1936 GoFx(kStatus) GoSurfaceStud_SetRefRegionCount(GoSurfaceStud tool, kSize count);
1937 
1938 /**
1939  * Returns the reference region count.
1940  *
1941  * @public @memberof GoSurfaceStud
1942  * @version Introduced in firmware 4.0.10.27
1943  * @param tool GoSurfaceStud object.
1944  * @return The reference region count.
1945  */
1946 GoFx(kSize) GoSurfaceStud_RefRegionCount(GoSurfaceStud tool);
1947 
1948 /**
1949  * Returns the reference region object at the given index.
1950  *
1951  * @public @memberof GoSurfaceStud
1952  * @version Introduced in firmware 4.0.10.27
1953  * @param tool GoSurfaceStud object.
1954  * @param index The index with which to return a reference region.
1955  * @return A GoSurfaceRegion2d object.
1956  * @see GoSurfaceStud_RefRegionCount
1957  */
1958 GoFx(GoSurfaceRegion2d) GoSurfaceStud_RefRegionAt(GoSurfaceStud tool, kSize index);
1959 
1960 /**
1961  * Gets the enabled state of auto-tilt.
1962  *
1963  * @public @memberof GoSurfaceStud
1964  * @version Introduced in firmware 4.0.10.27
1965  * @param tool GoSurfaceStud object.
1966  * @return kTRUE if enabled and kFALSE if disabled.
1967  */
1968 GoFx(kBool) GoSurfaceStud_AutoTiltEnabled(GoSurfaceStud tool);
1969 
1970 /**
1971  * Sets the enabled state of auto-tilt.
1972  *
1973  * @public @memberof GoSurfaceStud
1974  * @version Introduced in firmware 4.0.10.27
1975  * @param tool GoSurfaceStud object.
1976  * @param enable kTRUE to enable the region and kFALSE to disable it.
1977  * @return Operation status.
1978  */
1979 GoFx(kStatus) GoSurfaceStud_EnableAutoTilt(GoSurfaceStud tool, kBool enable);
1980 
1981 /**
1982  * Gets the tilt X-angle value.
1983  *
1984  * @public @memberof GoSurfaceStud
1985  * @version Introduced in firmware 4.0.10.27
1986  * @param tool GoSurfaceStud object.
1987  * @return The tilt X-angle value.
1988  */
1989 GoFx(k64f) GoSurfaceStud_TiltXAngle(GoSurfaceStud tool);
1990 
1991 /**
1992  * Sets the tilt X-angle value.
1993  *
1994  * @public @memberof GoSurfaceStud
1995  * @version Introduced in firmware 4.0.10.27
1996  * @param tool GoSurfaceStud object.
1997  * @param value The tilt X-angle value to set.
1998  * @return Operation status.
1999  */
2000 GoFx(kStatus) GoSurfaceStud_SetTiltXAngle(GoSurfaceStud tool, k64f value);
2001 
2002 /**
2003  * Returns the tilt Y-angle value.
2004  *
2005  * @public @memberof GoSurfaceStud
2006  * @version Introduced in firmware 4.0.10.27
2007  * @param tool GoSurfaceStud object.
2008  * @return The tilt Y-angle value.
2009  */
2010 GoFx(k64f) GoSurfaceStud_TiltYAngle(GoSurfaceStud tool);
2011 
2012 /**
2013  * Sets the tilt Y-angle value.
2014  *
2015  * @public @memberof GoSurfaceStud
2016  * @version Introduced in firmware 4.0.10.27
2017  * @param tool GoSurfaceStud object.
2018  * @param value The tilt Y-angle value to set.
2019  * @return Operation status.
2020  */
2021 GoFx(kStatus) GoSurfaceStud_SetTiltYAngle(GoSurfaceStud tool, k64f value);
2022 
2023 /**
2024  * Returns a GoSurfaceStud Base X measurement object.
2025  *
2026  * @public @memberof GoSurfaceStud
2027  * @version Introduced in firmware 4.0.10.27
2028  * @param tool GoSurfaceStud object.
2029  * @return A GoSurfaceStud Base X measurement.
2030  */
2031 GoFx(GoSurfaceStudBaseX) GoSurfaceStud_BaseXMeasurement(GoSurfaceStud tool);
2032 
2033 /**
2034  * Returns a GoSurfaceStud Base Y measurement object.
2035  *
2036  * @public @memberof GoSurfaceStud
2037  * @version Introduced in firmware 4.0.10.27
2038  * @param tool GoSurfaceStud object.
2039  * @return A GoSurfaceStud Base Y measurement.
2040  */
2041 GoFx(GoSurfaceStudBaseY) GoSurfaceStud_BaseYMeasurement(GoSurfaceStud tool);
2042 
2043 /**
2044  * Returns a GoSurfaceStud Base Z measurement object.
2045  *
2046  * @public @memberof GoSurfaceStud
2047  * @version Introduced in firmware 4.0.10.27
2048  * @param tool GoSurfaceStud object.
2049  * @return A GoSurfaceStud Base Z measurement.
2050  */
2051 GoFx(GoSurfaceStudBaseZ) GoSurfaceStud_BaseZMeasurement(GoSurfaceStud tool);
2052 
2053 /**
2054  * Returns a GoSurfaceStud Tip X measurement object.
2055  *
2056  * @public @memberof GoSurfaceStud
2057  * @version Introduced in firmware 4.0.10.27
2058  * @param tool GoSurfaceStud object.
2059  * @return A GoSurfaceStud Tip X measurement.
2060  */
2061 GoFx(GoSurfaceStudTipX) GoSurfaceStud_TipXMeasurement(GoSurfaceStud tool);
2062 
2063 /**
2064  * Returns a GoSurfaceStud Tip Y measurement object.
2065  *
2066  * @public @memberof GoSurfaceStud
2067  * @version Introduced in firmware 4.0.10.27
2068  * @param tool GoSurfaceStud object.
2069  * @return A GoSurfaceStud Tip Y measurement.
2070  */
2071 GoFx(GoSurfaceStudTipY) GoSurfaceStud_TipYMeasurement(GoSurfaceStud tool);
2072 
2073 /**
2074  * Returns a GoSurfaceStud Tip Z measurement object.
2075  *
2076  * @public @memberof GoSurfaceStud
2077  * @version Introduced in firmware 4.0.10.27
2078  * @param tool GoSurfaceStud object.
2079  * @return A GoSurfaceStud Tip Z measurement.
2080  */
2081 GoFx(GoSurfaceStudTipZ) GoSurfaceStud_TipZMeasurement(GoSurfaceStud tool);
2082 
2083 /**
2084  * Returns a GoSurfaceStud Radius measurement object.
2085  *
2086  * @public @memberof GoSurfaceStud
2087  * @version Introduced in firmware 4.0.10.27
2088  * @param tool GoSurfaceStud object.
2089  * @return A GoSurfaceStud Radius measurement.
2090  */
2091 GoFx(GoSurfaceStudRadius) GoSurfaceStud_RadiusMeasurement(GoSurfaceStud tool);
2092 
2093 
2094 /**
2095  * @class GoSurfaceVolume
2096  * @extends GoSurfaceTool
2097  * @ingroup GoSdk-SurfaceTools
2098  * @brief Represents a surface volume tool.
2099  */
2100 typedef GoSurfaceTool GoSurfaceVolume;
2101 
2102 /**
2103  * Gets the enabled state of the tool region.
2104  *
2105  * @public @memberof GoSurfaceVolume
2106  * @version Introduced in firmware 4.0.10.27
2107  * @param tool GoSurfaceVolume object.
2108  * @return kTRUE if enabled and kFALSE if disabled.
2109  */
2110 GoFx(kBool) GoSurfaceVolume_RegionEnabled(GoSurfaceVolume tool);
2111 
2112 /**
2113  * Sets the enabled state of the tool region.
2114  *
2115  * @public @memberof GoSurfaceVolume
2116  * @version Introduced in firmware 4.0.10.27
2117  * @param tool GoSurfaceVolume object.
2118  * @param enable kTRUE to enable the tool region and kFALSE to disable it.
2119  */
2120 GoFx(kStatus) GoSurfaceVolume_EnableRegion(GoSurfaceVolume tool, kBool enable);
2121 
2122 /**
2123  * Returns the tool region object.
2124  *
2125  * @public @memberof GoSurfaceVolume
2126  * @version Introduced in firmware 4.0.10.27
2127  * @param tool GoSurfaceVolume object.
2128  * @return A GoRegion3d object.
2129  */
2130 GoFx(GoRegion3d) GoSurfaceVolume_Region(GoSurfaceVolume tool);
2131 
2132 /**
2133  * Returns a GoSurfaceVolume Volume measurement object.
2134  *
2135  * @public @memberof GoSurfaceVolume
2136  * @version Introduced in firmware 4.0.10.27
2137  * @param tool GoSurfaceVolume object.
2138  * @return A GoSurfaceVolume Volume measurement.
2139  */
2140 GoFx(GoSurfaceVolumeVolume) GoSurfaceVolume_VolumeMeasurement(GoSurfaceVolume tool);
2141 
2142 /**
2143  * Returns a GoSurfaceVolume Area measurement object.
2144  *
2145  * @public @memberof GoSurfaceVolume
2146  * @version Introduced in firmware 4.0.10.27
2147  * @param tool GoSurfaceVolume object.
2148  * @return A GoSurfaceVolume Area measurement.
2149  */
2150 GoFx(GoSurfaceVolumeArea) GoSurfaceVolume_AreaMeasurement(GoSurfaceVolume tool);
2151 
2152 /**
2153  * Returns a GoSurfaceVolume Thickness measurement object.
2154  *
2155  * @public @memberof GoSurfaceVolume
2156  * @version Introduced in firmware 4.0.10.27
2157  * @param tool GoSurfaceVolume object.
2158  * @return A GoSurfaceVolume Thickness measurement.
2159  */
2160 GoFx(GoSurfaceVolumeThickness) GoSurfaceVolume_ThicknessMeasurement(GoSurfaceVolume tool);
2161 
2162 kEndHeader()
2163 #include <GoSdk/Tools/GoSurfaceTools.x.h>
2164 
2165 #endif
2166 
2167 /// @endcond
Declares the base GoTool class.
Represents a data source.
Contains various helper functions.
Essential SDK declarations.
Represents the base tool class.