Gocator API
 All Classes Files Functions Variables Typedefs Macros Groups Pages
GoSurfaceTools.h
Go to the documentation of this file.
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) 2014 by LMI Technologies Inc.
8  * Licensed under the MIT License.
9  * Redistributed files must retain the above copyright notice.
10  */
11 
12 #ifndef GO_SDK_SURFACE_TYPES_H
13 #define GO_SDK_SURFACE_TYPES_H
14 
15 #include <GoSdk/GoSdkDef.h>
16 #include <GoSdk/GoUtils.h>
17 #include <GoSdk/Tools/GoTool.h>
19 
20 /**
21 * @class GoSurfaceRegion2d
22 * @extends kObject
23 * @ingroup GoSdk-SurfaceTools
24 * @brief Represents a two dimensional surface tool region.
25 */
26 typedef kObject GoSurfaceRegion2d;
27 
28 /**
29  * Sets the X position.
30  *
31  * @public @memberof GoSurfaceRegion2d
32  * @param region GoSurfaceRegion2d object.
33  * @param x The X position to set.
34  * @return Operation status.
35  */
36 GoFx(kStatus) GoSurfaceRegion2d_SetX(GoSurfaceRegion2d region, k64f x);
37 
38 /**
39  * Gets the X position.
40  *
41  * @public @memberof GoSurfaceRegion2d
42  * @param region GoSurfaceRegion2d object.
43  * @return The X position of the region.
44  */
45 GoFx(k64f) GoSurfaceRegion2d_X(GoSurfaceRegion2d region);
46 
47 /**
48  * Sets the Y position.
49  *
50  * @public @memberof GoSurfaceRegion2d
51  * @param region GoSurfaceRegion2d object.
52  * @param value The Y position to set.
53  * @return Operation status.
54  */
55 GoFx(kStatus) GoSurfaceRegion2d_SetY(GoSurfaceRegion2d region, k64f value);
56 
57 /**
58  * Gets the Y position.
59  *
60  * @public @memberof GoSurfaceRegion2d
61  * @param region GoSurfaceRegion2d object.
62  * @return The Y position of the region.
63  */
64 GoFx(k64f) GoSurfaceRegion2d_Y(GoSurfaceRegion2d region);
65 
66 /**
67  * Sets the width.
68  *
69  * @public @memberof GoSurfaceRegion2d
70  * @param region GoSurfaceRegion2d object.
71  * @param width The width to set.
72  * @return Operation status.
73  */
74 GoFx(kStatus) GoSurfaceRegion2d_SetWidth(GoSurfaceRegion2d region, k64f width);
75 
76 /**
77  * Gets the width.
78  *
79  * @public @memberof GoSurfaceRegion2d
80  * @param region GoSurfaceRegion2d object.
81  * @return The width of the region.
82  */
83 GoFx(k64f) GoSurfaceRegion2d_Width(GoSurfaceRegion2d region);
84 
85 /**
86  * Sets the length.
87  *
88  * @public @memberof GoSurfaceRegion2d
89  * @param region GoSurfaceRegion2d object.
90  * @param length The length to set.
91  * @return Operation status.
92  */
93 GoFx(kStatus) GoSurfaceRegion2d_SetLength(GoSurfaceRegion2d region, k64f length);
94 
95 /**
96  * Gets the length.
97  *
98  * @public @memberof GoSurfaceRegion2d
99  * @param region GoSurfaceRegion2d object.
100  * @return The length of the region.
101  */
102 GoFx(k64f) GoSurfaceRegion2d_Length(GoSurfaceRegion2d region);
103 
104 
105 /**
106 * @class GoRegion3d
107 * @extends kObject
108 * @ingroup GoSdk-SurfaceTools
109 * @brief Represents a three dimensional surface region.
110 */
111 typedef kObject GoRegion3d;
112 
113 /**
114  * Sets the X position.
115  *
116  * @public @memberof GoRegion3d
117  * @param region GoRegion3d object.
118  * @param x The X position to set.
119  * @return Operation status.
120  */
121 GoFx(kStatus) GoRegion3d_SetX(GoRegion3d region, k64f x);
122 
123 /**
124  * Gets the X position.
125  *
126  * @public @memberof GoRegion3d
127  * @param region GoRegion3d object.
128  * @return The X position of the region.
129  */
130 GoFx(k64f) GoRegion3d_X(GoRegion3d region);
131 
132 /**
133  * Sets the Y position.
134  *
135  * @public @memberof GoRegion3d
136  * @param region GoRegion3d object.
137  * @param value The Y position to set.
138  * @return Operation status.
139  */
140 GoFx(kStatus) GoRegion3d_SetY(GoRegion3d region, k64f value);
141 
142 /**
143  * Gets the Y position.
144  *
145  * @public @memberof GoRegion3d
146  * @param region GoRegion3d object.
147  * @return The Y position of the region.
148  */
149 GoFx(k64f) GoRegion3d_Y(GoRegion3d region);
150 
151 /**
152  * Sets the Z-position.
153  *
154  * @public @memberof GoRegion3d
155  * @param region GoRegion3d object.
156  * @param z The Z-position to set.
157  * @return Operation status.
158  */
159 GoFx(kStatus) GoRegion3d_SetZ(GoRegion3d region, k64f z);
160 
161 /**
162  * Gets the Z-position.
163  *
164  * @public @memberof GoRegion3d
165  * @param region GoRegion3d object.
166  * @return The Z-position of the region.
167  */
168 GoFx(k64f) GoRegion3d_Z(GoRegion3d region);
169 
170 /**
171  * Sets the width.
172  *
173  * @public @memberof GoRegion3d
174  * @param region GoRegion3d object.
175  * @param width The width to set.
176  * @return Operation status.
177  */
178 GoFx(kStatus) GoRegion3d_SetWidth(GoRegion3d region, k64f width);
179 
180 /**
181  * Gets the width.
182  *
183  * @public @memberof GoRegion3d
184  * @param region GoRegion3d object.
185  * @return The width of the region.
186  */
187 GoFx(k64f) GoRegion3d_Width(GoRegion3d region);
188 
189 /**
190  * Sets the length.
191  *
192  * @public @memberof GoRegion3d
193  * @param region GoRegion3d object.
194  * @param length The length to set.
195  * @return Operation status.
196  */
197 GoFx(kStatus) GoRegion3d_SetLength(GoRegion3d region, k64f length);
198 
199 /**
200  * Gets the length.
201  *
202  * @public @memberof GoRegion3d
203  * @param region GoRegion3d object.
204  * @return The length of the region.
205  */
206 GoFx(k64f) GoRegion3d_Length(GoRegion3d region);
207 
208 /**
209  * Sets the height.
210  *
211  * @public @memberof GoRegion3d
212  * @param region GoRegion3d object.
213  * @param height The height to set.
214  * @return Operation status.
215  */
216 GoFx(kStatus) GoRegion3d_SetHeight(GoRegion3d region, k64f height);
217 
218 /**
219  * Gets the height.
220  *
221  * @public @memberof GoRegion3d
222  * @param region GoRegion3d object.
223  * @return The height of the region.
224  */
225 GoFx(k64f) GoRegion3d_Height(GoRegion3d region);
226 
227 
228 /**
229 * @class GoCylinderRegion
230 * @extends kObject
231 * @ingroup GoSdk-SurfaceTools
232 * @brief Represents a cylinder region for select surface tools.
233 */
234 typedef kObject GoCylinderRegion;
235 
236 /**
237  * Sets the X position.
238  *
239  * @public @memberof GoCylinderRegion
240  * @param region GoCylinderRegion object.
241  * @param x The X position to set.
242  * @return Operation status.
243  */
244 GoFx(kStatus) GoCylinderRegion_SetX(GoCylinderRegion region, k64f x);
245 
246 /**
247  * Gets the X position.
248  *
249  * @public @memberof GoCylinderRegion
250  * @param region GoCylinderRegion object.
251  * @return The X position of the region.
252  */
253 GoFx(k64f) GoCylinderRegion_X(GoCylinderRegion region);
254 
255 /**
256  * Sets the Y position.
257  *
258  * @public @memberof GoCylinderRegion
259  * @param region GoCylinderRegion object.
260  * @param value The Y position to set.
261  * @return Operation status.
262  */
263 GoFx(kStatus) GoCylinderRegion_SetY(GoCylinderRegion region, k64f value);
264 
265 /**
266  * Gets the Y position.
267  *
268  * @public @memberof GoCylinderRegion
269  * @param region GoCylinderRegion object.
270  * @return The Y position of the region.
271  */
272 GoFx(k64f) GoCylinderRegion_Y(GoCylinderRegion region);
273 
274 /**
275  * Sets the Z-position.
276  *
277  * @public @memberof GoCylinderRegion
278  * @param region GoCylinderRegion object.
279  * @param z The Z-position to set.
280  * @return Operation status.
281  */
282 GoFx(kStatus) GoCylinderRegion_SetZ(GoCylinderRegion region, k64f z);
283 
284 /**
285  * Gets the Z-position.
286  *
287  * @public @memberof GoCylinderRegion
288  * @param region GoCylinderRegion object.
289  * @return The Z-position of the region.
290  */
291 GoFx(k64f) GoCylinderRegion_Z(GoCylinderRegion region);
292 
293 /**
294  * Sets the radius.
295  *
296  * @public @memberof GoCylinderRegion
297  * @param region GoCylinderRegion object.
298  * @param value The radius to set.
299  * @return Operation status.
300  */
301 GoFx(kStatus) GoCylinderRegion_SetRadius(GoCylinderRegion region, k64f value);
302 
303 /**
304  * Gets the radius.
305  *
306  * @public @memberof GoCylinderRegion
307  * @param region GoCylinderRegion object.
308  * @return The radius of the region.
309  */
310 GoFx(k64f) GoCylinderRegion_Radius(GoCylinderRegion region);
311 
312 /**
313  * Sets the Height.
314  *
315  * @public @memberof GoCylinderRegion
316  * @param region GoCylinderRegion object.
317  * @param value The height to set.
318  * @return Operation status.
319  */
320 GoFx(kStatus) GoCylinderRegion_SetHeight(GoCylinderRegion region, k64f value);
321 
322 /**
323  * Gets the Height.
324  *
325  * @public @memberof GoCylinderRegion
326  * @param region GoCylinderRegion object.
327  * @return The height of the region.
328  */
329 GoFx(k64f) GoCylinderRegion_Height(GoCylinderRegion region);
330 
331 
332 /**
333 * @class GoSurfaceFeature
334 * @extends kObject
335 * @ingroup GoSdk-SurfaceTools
336 * @brief Represents a surface feature for select surface tools.
337 */
338 typedef kObject GoSurfaceFeature;
339 
340 /**
341  * Gets the surface feature type.
342  *
343  * @public @memberof GoSurfaceFeature
344  * @param feature GoSurfaceFeature object.
345  * @return The surface feature type.
346  */
347 GoFx(GoSurfaceFeatureType) GoSurfaceFeature_Type(GoSurfaceFeature feature);
348 
349 /**
350  * Sets the surface feature type.
351  *
352  * @public @memberof GoSurfaceFeature
353  * @param feature GoSurfaceFeature object.
354  * @param type The feature type value to set.
355  * @return Operation status.
356  */
357 GoFx(kStatus) GoSurfaceFeature_SetType(GoSurfaceFeature feature, GoSurfaceFeatureType type);
358 
359 /**
360  * Gets the current state the surface feature region.
361  *
362  * @public @memberof GoSurfaceFeature
363  * @param feature GoSurfaceFeature object.
364  * @return kTRUE if enabled and kFALSE if disabled.
365  */
366 GoFx(kBool) GoSurfaceFeature_RegionEnabled(GoSurfaceFeature feature);
367 
368 /**
369  * Enable or disable the surface feature region.
370  *
371  * @public @memberof GoSurfaceFeature
372  * @param feature GoSurfaceFeature object.
373  * @param enable kTRUE to enable, or kFALSE to disable.
374  * @return Operation status.
375  */
376 GoFx(kStatus) GoSurfaceFeature_EnableRegion(GoSurfaceFeature feature, kBool enable);
377 
378 /**
379  * Gets the 3d region for the feature.
380  *
381  * @public @memberof GoSurfaceFeature
382  * @param feature GoSurfaceFeature object.
383  * @return A GoRegion3d object.
384  */
385 GoFx(GoRegion3d) GoSurfaceFeature_Region(GoSurfaceFeature feature);
386 
387 
388 /**
389  * @class GoSurfaceTool
390  * @extends GoTool
391  * @ingroup GoSdk-SurfaceTools
392  * @brief Represents a base surface tool.
393  */
394 typedef GoTool GoSurfaceTool;
395 
396 /**
397  * Sets the data source.
398  *
399  * @public @memberof GoSurfaceTool
400  * @param tool GoSurfaceTool object.
401  * @param source GoDataSource object.
402  * @return Operation status.
403  */
404 GoFx(kStatus) GoSurfaceTool_SetSource(GoSurfaceTool tool, GoDataSource source);
405 
406 /**
407  * Gets the data source.
408  *
409  * @public @memberof GoSurfaceTool
410  * @param tool GoSurfaceTool object.
411  * @return The data source.
412  */
413 GoFx(GoDataSource) GoSurfaceTool_Source(GoSurfaceTool tool);
414 
415 /**
416  * Gets the data source option list count.
417  *
418  * @public @memberof GoSurfaceTool
419  * @param tool GoSurfaceTool object.
420  * @return The current tool data source option list count.
421  */
422 GoFx(kSize) GoSurfaceTool_SourceOptionCount(GoSurfaceTool tool);
423 
424 /**
425  * Gets the data source option at the given index.
426  *
427  * @public @memberof GoSurfaceTool
428  * @param tool GoSurfaceTool object.
429  * @param index The index of the option list to access.
430  * @return The tool data source option at the given index, or k32U_MAX if an invalid index is given.
431  */
432 
433 GoFx(k32u) GoSurfaceTool_SourceOptionAt(GoSurfaceTool tool, kSize index);
434 
435 /**
436  * Gets the X-anchoring option list count.
437  *
438  * @public @memberof GoSurfaceTool
439  * @param tool GoSurfaceTool object.
440  * @return The X-anchoring option list count.
441  */
442 GoFx(kSize) GoSurfaceTool_XAnchorOptionCount(GoSurfaceTool tool);
443 
444 /**
445  * Gets the X-anchoring option at the given index.
446  *
447  * @public @memberof GoSurfaceTool
448  * @param tool GoSurfaceTool object.
449  * @param index The index of the option list to access.
450  * @return The X-anchoring option at the given index or k32U_MAX if invalid.
451  */
452 GoFx(k32u) GoSurfaceTool_XAnchorOptionAt(GoSurfaceTool tool, kSize index);
453 
454 /**
455  * Gets the current X-anchoring source.
456  *
457  * @public @memberof GoSurfaceTool
458  * @param tool GoSurfaceTool object.
459  * @return The X-anchoring source or -1 if no source is currently set.
460  */
461 GoFx(k32s) GoSurfaceTool_XAnchor(GoSurfaceTool tool);
462 
463 /**
464  * Sets the X-anchoring source.
465  *
466  * @public @memberof GoSurfaceTool
467  * @param tool GoSurfaceTool object.
468  * @param id The measurement ID of a valid X-anchoring source.
469  * @return Operation status.
470  */
471 GoFx(kStatus) GoSurfaceTool_SetXAnchor(GoSurfaceTool tool, k32s id);
472 
473 /**
474  * Returns a boolean value representing whether or not a valid X-anchoring source has been set for X-anchoring.
475  *
476  * @public @memberof GoSurfaceTool
477  * @param tool GoSurfaceTool object.
478  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
479  */
480 GoFx(kBool) GoSurfaceTool_XAnchorEnabled(GoSurfaceTool tool);
481 
482 /**
483  * Gets the Y-anchoring option list count.
484  *
485  * @public @memberof GoSurfaceTool
486  * @param tool GoSurfaceTool object.
487  * @return The Y-anchoring option list count.
488  */
489 GoFx(kSize) GoSurfaceTool_YAnchorOptionCount(GoSurfaceTool tool);
490 
491 /**
492  * Gets the Y-anchoring option at the given index.
493  *
494  * @public @memberof GoSurfaceTool
495  * @param tool GoSurfaceTool object.
496  * @param index The index of the option list to access.
497  * @return The Y-anchoring option at the given index or k32U_MAX if invalid.
498  */
499 GoFx(k32u) GoSurfaceTool_YAnchorOptionAt(GoSurfaceTool tool, kSize index);
500 
501 /**
502  * Gets the current Y-anchoring source.
503  *
504  * @public @memberof GoSurfaceTool
505  * @param tool GoSurfaceTool object.
506  * @return The Y-anchoring source or -1 if no source is currently set.
507  */
508 GoFx(k32s) GoSurfaceTool_YAnchor(GoSurfaceTool tool);
509 
510 /**
511  * Sets the Y-anchoring source.
512  *
513  * @public @memberof GoSurfaceTool
514  * @param tool GoSurfaceTool object.
515  * @param id The measurement ID of a valid Y-anchoring source.
516  * @return Operation status.
517  */
518 GoFx(kStatus) GoSurfaceTool_SetYAnchor(GoSurfaceTool tool, k32s id);
519 
520 /**
521  * Returns a boolean value representing whether or not a valid Y-anchoring source has been set for Y-anchoring.
522  *
523  * @public @memberof GoSurfaceTool
524  * @param tool GoSurfaceTool object.
525  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
526  */
527 GoFx(kBool) GoSurfaceTool_YAnchorEnabled(GoSurfaceTool tool);
528 
529 /**
530  * Gets the Z-anchoring option list count.
531  *
532  * @public @memberof GoSurfaceTool
533  * @param tool GoSurfaceTool object.
534  * @return The X-anchoring option list count.
535  */
536 GoFx(kSize) GoSurfaceTool_ZAnchorOptionCount(GoSurfaceTool tool);
537 
538 /**
539  * Gets the Z-anchoring option at the given index.
540  *
541  * @public @memberof GoSurfaceTool
542  * @param tool GoSurfaceTool object.
543  * @param index The index of the option list to access.
544  * @return The Z-anchoring option at the given index or k32U_MAX if invalid.
545  */
546 GoFx(k32u) GoSurfaceTool_ZAnchorOptionAt(GoSurfaceTool tool, kSize index);
547 
548 /**
549  * Gets the current Z-anchoring source.
550  *
551  * @public @memberof GoSurfaceTool
552  * @param tool GoSurfaceTool object.
553  * @return The Z-anchoring source or -1 if no source is currently set.
554  */
555 GoFx(k32s) GoSurfaceTool_ZAnchor(GoSurfaceTool tool);
556 
557 /**
558  * Sets the Z-anchoring source.
559  *
560  * @public @memberof GoSurfaceTool
561  * @param tool GoSurfaceTool object.
562  * @param id The measurement ID of a valid Z-anchoring source.
563  * @return Operation status.
564  */
565 GoFx(kStatus) GoSurfaceTool_SetZAnchor(GoSurfaceTool tool, k32s id);
566 
567 /**
568  * Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anchoring.
569  *
570  * @public @memberof GoSurfaceTool
571  * @param tool GoSurfaceTool object.
572  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
573  */
574 GoFx(kBool) GoSurfaceTool_ZAnchorEnabled(GoSurfaceTool tool);
575 
576 
577 /**
578  * @class GoSurfaceBox
579  * @extends GoSurfaceTool
580  * @ingroup GoSdk-SurfaceTools
581  * @brief Represents a surface bounding box tool.
582  */
583 typedef GoSurfaceTool GoSurfaceBox;
584 
585 /**
586  * Returns the enabled state of Z-rotation.
587  *
588  * @public @memberof GoSurfaceBox
589  * @param tool GoSurfaceBox object.
590  * @return kTRUE if enabled and kFALSE if disabled.
591  */
592 GoFx(kBool) GoSurfaceBox_ZRotationEnabled(GoSurfaceBox tool);
593 
594 /**
595  * Enables or disables Z-rotation.
596  *
597  * @public @memberof GoSurfaceBox
598  * @param tool GoSurfaceBox object.
599  * @param enable kTRUE to enable Z-rotation, kFALSE to disable it.
600  * @return Operation status.
601  */
602 GoFx(kStatus) GoSurfaceBox_EnableZRotation(GoSurfaceBox tool, kBool enable);
603 
604 /**
605  * Returns the enabled state of the tool region.
606  *
607  * @public @memberof GoSurfaceBox
608  * @param tool GoSurfaceBox object.
609  * @return kTRUE if enabled and kFALSE if disabled.
610  */
611 GoFx(kBool) GoSurfaceBox_RegionEnabled(GoSurfaceBox tool);
612 
613 /**
614  * Enables or disables the tool region.
615  *
616  * @public @memberof GoSurfaceBox
617  * @param tool GoSurfaceBox object.
618  * @param enable kTRUE to enable the tool region, kFALSE to disable it.
619  * @return Operation status.
620  */
621 GoFx(kStatus) GoSurfaceBox_EnableRegion(GoSurfaceBox tool, kBool enable);
622 
623 /**
624  * Gets the surface bounding box region.
625  *
626  * @public @memberof GoSurfaceBox
627  * @param tool GoSurfaceBox object.
628  * @return A GoRegion3d object.
629  */
630 GoFx(GoRegion3d) GoSurfaceBox_Region(GoSurfaceBox tool);
631 
632 /**
633  * Returns a GoSurfaceBox X measurement object.
634  *
635  * @public @memberof GoSurfaceBox
636  * @param tool GoSurfaceBox object.
637  * @return A GoSurfaceBox X measurement.
638  */
639 GoFx(GoSurfaceBoxX) GoSurfaceBox_XMeasurement(GoSurfaceBox tool);
640 
641 /**
642  * Returns a GoSurfaceBox Y measurement object.
643  *
644  * @public @memberof GoSurfaceBox
645  * @param tool GoSurfaceBox object.
646  * @return A GoSurfaceBox Y measurement.
647  */
648 GoFx(GoSurfaceBoxY) GoSurfaceBox_YMeasurement(GoSurfaceBox tool);
649 
650 /**
651  * Returns a GoSurfaceBox Z measurement object.
652  *
653  * @public @memberof GoSurfaceBox
654  * @param tool GoSurfaceBox object.
655  * @return A GoSurfaceBox Z measurement.
656  */
657 GoFx(GoSurfaceBoxZ) GoSurfaceBox_ZMeasurement(GoSurfaceBox tool);
658 
659 /**
660  * Returns a GoSurfaceBox Width measurement object.
661  *
662  * @public @memberof GoSurfaceBox
663  * @param tool GoSurfaceBox object.
664  * @return A GoSurfaceBox Width measurement.
665  */
666 GoFx(GoSurfaceBoxWidth) GoSurfaceBox_WidthMeasurement(GoSurfaceBox tool);
667 
668 /**
669  * Returns a GoSurfaceBox Length measurement object.
670  *
671  * @public @memberof GoSurfaceBox
672  * @param tool GoSurfaceBox object.
673  * @return A GoSurfaceBox Length measurement.
674  */
675 GoFx(GoSurfaceBoxLength) GoSurfaceBox_LengthMeasurement(GoSurfaceBox tool);
676 
677 /**
678  * Returns a GoSurfaceBox Height measurement object.
679  *
680  * @public @memberof GoSurfaceBox
681  * @param tool GoSurfaceBox object.
682  * @return A GoSurfaceBox Height measurement.
683  */
684 GoFx(GoSurfaceBoxHeight) GoSurfaceBox_HeightMeasurement(GoSurfaceBox tool);
685 
686 /**
687  * Returns a GoSurfaceBox Z Angle measurement object.
688  *
689  * @public @memberof GoSurfaceBox
690  * @param tool GoSurfaceBox object.
691  * @return A GoSurfaceBox Z Angle measurement.
692  */
693 GoFx(GoSurfaceBoxZAngle) GoSurfaceBox_ZAngleMeasurement(GoSurfaceBox tool);
694 
695 /**
696  * Returns a GoSurfaceBox global X measurement object.
697  *
698  * @public @memberof GoSurfaceBox
699  * @param tool GoSurfaceBox object.
700  * @return A GoSurfaceBox global X measurement.
701  */
703 
704 /**
705  * Returns a GoSurfaceBox global Y measurement object.
706  *
707  * @public @memberof GoSurfaceBox
708  * @param tool GoSurfaceBox object.
709  * @return A GoSurfaceBox global Y measurement.
710  */
712 
713 /**
714  * @class GoSurfaceEllipse
715  * @extends GoSurfaceTool
716  * @ingroup GoSdk-SurfaceTools
717  * @brief Represents a surface ellipse tool.
718  */
719 typedef GoSurfaceTool GoSurfaceEllipse;
720 
721 /**
722  * Enables or disables the tool region.
723  *
724  * @public @memberof GoSurfaceEllipse
725  * @param tool GoSurfaceEllipse object.
726  * @param enable kTRUE to enable the tool region, kFALSE to disable it.
727  * @return Operation status.
728  */
729 GoFx(kStatus) GoSurfaceEllipse_EnableRegion(GoSurfaceEllipse tool, kBool enable);
730 
731 /**
732  * Returns the enabled state of the tool region.
733  *
734  * @public @memberof GoSurfaceEllipse
735  * @param tool GoSurfaceEllipse object.
736  * @return kTRUE if enabled and kFALSE if disabled.
737  */
738 GoFx(kBool) GoSurfaceEllipse_RegionEnabled(GoSurfaceEllipse tool);
739 
740 /**
741  * Gets the tool region.
742  *
743  * @public @memberof GoSurfaceEllipse
744  * @param tool GoSurfaceEllipse object.
745  * @return A GoRegion3d object.
746  */
747 GoFx(GoRegion3d) GoSurfaceEllipse_Region(GoSurfaceEllipse tool);
748 
749 /**
750  * Returns a GoSurfaceEllipse Major measurement object.
751  *
752  * @public @memberof GoSurfaceEllipse
753  * @param tool GoSurfaceEllipse object.
754  * @return A GoSurfaceEllipse Major measurement.
755  */
756 GoFx(GoSurfaceEllipseMajor) GoSurfaceEllipse_MajorMeasurement(GoSurfaceEllipse tool);
757 
758 /**
759  * Returns a GoSurfaceEllipse Minor measurement object.
760  *
761  * @public @memberof GoSurfaceEllipse
762  * @param tool GoSurfaceEllipse object.
763  * @return A GoSurfaceEllipse Minor measurement.
764  */
765 GoFx(GoSurfaceEllipseMinor) GoSurfaceEllipse_MinorMeasurement(GoSurfaceEllipse tool);
766 
767 /**
768  * Returns a GoSurfaceEllipse Ratio measurement object.
769  *
770  * @public @memberof GoSurfaceEllipse
771  * @param tool GoSurfaceEllipse object.
772  * @return A GoSurfaceEllipse Ratio measurement.
773  */
774 GoFx(GoSurfaceEllipseRatio) GoSurfaceEllipse_RatioMeasurement(GoSurfaceEllipse tool);
775 
776 /**
777  * Returns a GoSurfaceEllipse Z Angle measurement object.
778  *
779  * @public @memberof GoSurfaceEllipse
780  * @param tool GoSurfaceEllipse object.
781  * @return A GoSurfaceEllipse Z Angle measurement.
782  */
784 
785 
786 /**
787  * @class GoSurfaceHole
788  * @extends GoSurfaceTool
789  * @ingroup GoSdk-SurfaceTools
790  * @brief Represents a surface hole tool.
791  */
792 typedef GoSurfaceTool GoSurfaceHole;
793 
794 /**
795  * Gets the current nominal radius value.
796  *
797  * @public @memberof GoSurfaceHole
798  * @param tool GoSurfaceHole object.
799  * @return The nominal radius value.
800  */
801 GoFx(k64f) GoSurfaceHole_NominalRadius(GoSurfaceHole tool);
802 
803 /**
804  * Sets the nominal radius value.
805  *
806  * @public @memberof GoSurfaceHole
807  * @param tool GoSurfaceHole object.
808  * @param nominalRadius Nominal radius value to set.
809  * @return Operation status.
810  */
811 GoFx(kStatus) GoSurfaceHole_SetNominalRadius(GoSurfaceHole tool, k64f nominalRadius);
812 
813 /**
814  * Gets the current radius tolerance value.
815  *
816  * @public @memberof GoSurfaceHole
817  * @param tool GoSurfaceHole object.
818  * @return The radius tolerance value.
819  */
820 GoFx(k64f) GoSurfaceHole_RadiusTolerance(GoSurfaceHole tool);
821 
822 /**
823  * Sets the radius tolerance value.
824  *
825  * @public @memberof GoSurfaceHole
826  * @param tool GoSurfaceHole object.
827  * @param radiusTolerance The radius tolerance value to set.
828  * @return Operation status.
829  */
830 GoFx(kStatus) GoSurfaceHole_SetRadiusTolerance(GoSurfaceHole tool, k64f radiusTolerance);
831 
832 /**
833  * Gets the enabled state of partial detection.
834  *
835  * @public @memberof GoSurfaceHole
836  * @param tool GoSurfaceHole object.
837  * @return kTRUE if enabled and kFALSE if disabled.
838  */
839 GoFx(kBool) GoSurfaceHole_PartialDetectionEnabled(GoSurfaceHole tool);
840 
841 /**
842  * Sets the enabled state of partial detection.
843  *
844  * @public @memberof GoSurfaceHole
845  * @param tool GoSurfaceHole object.
846  * @param enable kTRUE to enable partial detection and kFALSE to disable it.
847  * @return Operation status.
848  */
849 GoFx(kStatus) GoSurfaceHole_EnablePartialDetection(GoSurfaceHole tool, kBool enable);
850 
851 /**
852  * Gets the enabled state of the tool region.
853  *
854  * @public @memberof GoSurfaceHole
855  * @param tool GoSurfaceHole object.
856  * @return kTRUE if enabled and kFALSE if disabled.
857  */
858 GoFx(kBool) GoSurfaceHole_RegionEnabled(GoSurfaceHole tool);
859 
860 /**
861  * Sets the enabled state of the tool region.
862  *
863  * @public @memberof GoSurfaceHole
864  * @param tool GoSurfaceHole object.
865  * @param enable kTRUE to enable the tool region and kFALSE to disable it.
866  * @return Operation status.
867  */
868 GoFx(kStatus) GoSurfaceHole_EnableRegion(GoSurfaceHole tool, kBool enable);
869 
870 /**
871  * Returns the tool's region object.
872  *
873  * @public @memberof GoSurfaceHole
874  * @param tool GoSurfaceHole object.
875  * @return A GoRegion3d object.
876  */
877 GoFx(GoRegion3d) GoSurfaceHole_Region(GoSurfaceHole tool);
878 
879 /**
880  * Gets the enabled state of reference regions.
881  *
882  * @public @memberof GoSurfaceHole
883  * @param tool GoSurfaceHole object.
884  * @return kTRUE if enabled and kFALSE if disabled.
885  */
886 GoFx(kBool) GoSurfaceHole_RefRegionsEnabled(GoSurfaceHole tool);
887 
888 /**
889  * Sets the enabled state of reference regions.
890  *
891  * @public @memberof GoSurfaceHole
892  * @param tool GoSurfaceHole object.
893  * @param enable kTRUE to enable reference regions and kFALSE to disable it.
894  * @return Operation status.
895  */
896 GoFx(kStatus) GoSurfaceHole_EnableRefRegions(GoSurfaceHole tool, kBool enable);
897 
898 /**
899  * Gets the reference region count.
900  *
901  * @public @memberof GoSurfaceHole
902  * @param tool GoSurfaceHole object.
903  * @return The reference region count.
904  */
905 GoFx(kSize) GoSurfaceHole_RefRegionCount(GoSurfaceHole tool);
906 
907 /**
908  * Sets the reference region count.
909  *
910  * @public @memberof GoSurfaceHole
911  * @param tool GoSurfaceHole object.
912  * @param count The reference region count.
913  * @return Operation status.
914  * @see GO_SURFACE_HOLE_MAX_REF_REGIONS
915  */
916 GoFx(kStatus) GoSurfaceHole_SetRefRegionCount(GoSurfaceHole tool, kSize count);
917 
918 /**
919  * Gets a reference region object at the given index.
920  *
921  * @public @memberof GoSurfaceHole
922  * @param tool GoSurfaceHole object.
923  * @param index The index with which to retrieve a reference region.
924  * @return A GoSurfaceRegion2d object.
925  * @see GoSurfaceHole_RefRegionCount
926  */
927 GoFx(GoSurfaceRegion2d) GoSurfaceHole_RefRegionAt(GoSurfaceHole tool, kSize index);
928 
929 /**
930  * Gets the enabled state of auto-tilt.
931  *
932  * @public @memberof GoSurfaceHole
933  * @param tool GoSurfaceHole object.
934  * @return kTRUE if enabled and kFALSE if disabled.
935  */
936 GoFx(kBool) GoSurfaceHole_AutoTiltEnabled(GoSurfaceHole tool);
937 
938 /**
939  * Sets the enabled state of auto-tilt.
940  *
941  * @public @memberof GoSurfaceHole
942  * @param tool GoSurfaceHole object.
943  * @param enable kTRUE to enable it and kFALSE to disable it.
944  * @return Operation status.
945  */
946 GoFx(kStatus) GoSurfaceHole_EnableAutoTilt(GoSurfaceHole tool, kBool enable);
947 
948 /**
949  * Gets the tilt X-angle value.
950  *
951  * @public @memberof GoSurfaceHole
952  * @param tool GoSurfaceHole object.
953  * @return Tilt X-angle value.
954  */
955 GoFx(k64f) GoSurfaceHole_TiltXAngle(GoSurfaceHole tool);
956 
957 /**
958  * Sets the tilt X-angle value.
959  *
960  * @public @memberof GoSurfaceHole
961  * @param tool GoSurfaceHole object.
962  * @param value The tilt X-angle value to set.
963  * @return Operation status.
964  */
965 GoFx(kStatus) GoSurfaceHole_SetTiltXAngle(GoSurfaceHole tool, k64f value);
966 
967 /**
968  * Gets the tilt Y-angle value.
969  *
970  * @public @memberof GoSurfaceHole
971  * @param tool GoSurfaceHole object.
972  * @return Tilt Y-angle value.
973  */
974 GoFx(k64f) GoSurfaceHole_TiltYAngle(GoSurfaceHole tool);
975 
976 /**
977  * Sets the tilt Y-angle value.
978  *
979  * @public @memberof GoSurfaceHole
980  * @param tool GoSurfaceHole object.
981  * @param value The tilt Y-angle value to set.
982  * @return Operation status.
983  */
984 GoFx(kStatus) GoSurfaceHole_SetTiltYAngle(GoSurfaceHole tool, k64f value);
985 
986 /**
987  * Returns a GoSurfaceHole X measurement object.
988  *
989  * @public @memberof GoSurfaceHole
990  * @param tool GoSurfaceHole object.
991  * @return A GoSurfaceHole X measurement.
992  */
993 GoFx(GoSurfaceHoleX) GoSurfaceHole_XMeasurement(GoSurfaceHole tool);
994 
995 /**
996  * Returns a GoSurfaceHole Y measurement object.
997  *
998  * @public @memberof GoSurfaceHole
999  * @param tool GoSurfaceHole object.
1000  * @return A GoSurfaceHole Y measurement.
1001  */
1002 GoFx(GoSurfaceHoleY) GoSurfaceHole_YMeasurement(GoSurfaceHole tool);
1003 
1004 /**
1005  * Returns a GoSurfaceHole Z measurement object.
1006  *
1007  * @public @memberof GoSurfaceHole
1008  * @param tool GoSurfaceHole object.
1009  * @return A GoSurfaceHole Z measurement.
1010  */
1011 GoFx(GoSurfaceHoleZ) GoSurfaceHole_ZMeasurement(GoSurfaceHole tool);
1012 
1013 /**
1014  * Returns a GoSurfaceHole Radius measurement object.
1015  *
1016  * @public @memberof GoSurfaceHole
1017  * @param tool GoSurfaceHole object.
1018  * @return A GoSurfaceHole Radius measurement.
1019  */
1020 GoFx(GoSurfaceHoleRadius) GoSurfaceHole_RadiusMeasurement(GoSurfaceHole tool);
1021 
1022 
1023 /**
1024  * @class GoSurfaceOpening
1025  * @extends GoSurfaceTool
1026  * @ingroup GoSdk-SurfaceTools
1027  * @brief Represents a surface opening tool.
1028  */
1029 typedef GoSurfaceTool GoSurfaceOpening;
1030 
1031 GoFx(kStatus) GoSurfaceOpening_SetType(GoSurfaceOpening tool, GoSurfaceOpeningType type);
1032 
1033 /**
1034  * Gets the surface opening type.
1035  *
1036  * @public @memberof GoSurfaceOpening
1037  * @param tool GoSurfaceOpening object.
1038  * @return The surface opening type.
1039  */
1040 GoFx(GoSurfaceOpeningType) GoSurfaceOpening_Type(GoSurfaceOpening tool);
1041 
1042 /**
1043  * Gets the nominal width.
1044  *
1045  * @public @memberof GoSurfaceOpening
1046  * @param tool GoSurfaceOpening object.
1047  * @return The nominal width (in mm).
1048  */
1049 GoFx(k64f) GoSurfaceOpening_NominalWidth(GoSurfaceOpening tool);
1050 
1051 /**
1052  * Sets the nominal width.
1053  *
1054  * @public @memberof GoSurfaceOpening
1055  * @param tool GoSurfaceOpening object.
1056  * @param value The nominal width to set (in mm).
1057  * @return Operation status.
1058  */
1059 GoFx(kStatus) GoSurfaceOpening_SetNominalWidth(GoSurfaceOpening tool, k64f value);
1060 
1061 /**
1062  * Gets the nominal length.
1063  *
1064  * @public @memberof GoSurfaceOpening
1065  * @param tool GoSurfaceOpening object.
1066  * @return The nominal length (in mm).
1067  */
1068 GoFx(k64f) GoSurfaceOpening_NominalLength(GoSurfaceOpening tool);
1069 
1070 /**
1071  * Sets the nominal length.
1072  *
1073  * @public @memberof GoSurfaceOpening
1074  * @param tool GoSurfaceOpening object.
1075  * @param value The nominal length to set (in mm).
1076  * @return Operation status.
1077  */
1078 GoFx(kStatus) GoSurfaceOpening_SetNominalLength(GoSurfaceOpening tool, k64f value);
1079 
1080 /**
1081  * Gets the nominal angle.
1082  *
1083  * @public @memberof GoSurfaceOpening
1084  * @param tool GoSurfaceOpening object.
1085  * @return The nominal angle (in degrees).
1086  */
1087 GoFx(k64f) GoSurfaceOpening_NominalAngle(GoSurfaceOpening tool);
1088 
1089 /**
1090  * Sets the nominal angle.
1091  *
1092  * @public @memberof GoSurfaceOpening
1093  * @param tool GoSurfaceOpening object.
1094  * @param value The nominal angle to set (in degrees).
1095  * @return Operation status.
1096  */
1097 GoFx(kStatus) GoSurfaceOpening_SetNominalAngle(GoSurfaceOpening tool, k64f value);
1098 
1099 /**
1100  * Gets the nominal radius.
1101  *
1102  * @public @memberof GoSurfaceOpening
1103  * @param tool GoSurfaceOpening object.
1104  * @return The nominal radius (in mm).
1105  */
1106 GoFx(k64f) GoSurfaceOpening_NominalRadius(GoSurfaceOpening tool);
1107 
1108 /**
1109  * Sets the nominal radius.
1110  *
1111  * @public @memberof GoSurfaceOpening
1112  * @param tool GoSurfaceOpening object.
1113  * @param value The nominal radius to set (in mm).
1114  * @return Operation status.
1115  */
1116 GoFx(kStatus) GoSurfaceOpening_SetNominalRadius(GoSurfaceOpening tool, k64f value);
1117 
1118 /**
1119  * Gets the width tolerance.
1120  *
1121  * @public @memberof GoSurfaceOpening
1122  * @param tool GoSurfaceOpening object.
1123  * @return The width tolerance (in mm).
1124  */
1125 GoFx(k64f) GoSurfaceOpening_WidthTolerance(GoSurfaceOpening tool);
1126 
1127 /**
1128  * Sets the width tolerance.
1129  *
1130  * @public @memberof GoSurfaceOpening
1131  * @param tool GoSurfaceOpening object.
1132  * @param value The width tolerance to set (in mm).
1133  * @return Operation status.
1134  */
1135 GoFx(kStatus) GoSurfaceOpening_SetWidthTolerance(GoSurfaceOpening tool, k64f value);
1136 
1137 /**
1138  * Gets the length tolerance.
1139  *
1140  * @public @memberof GoSurfaceOpening
1141  * @param tool GoSurfaceOpening object.
1142  * @return The length tolerance (in mm).
1143  */
1144 GoFx(k64f) GoSurfaceOpening_LengthTolerance(GoSurfaceOpening tool);
1145 
1146 /**
1147  * Sets the length tolerance.
1148  *
1149  * @public @memberof GoSurfaceOpening
1150  * @param tool GoSurfaceOpening object.
1151  * @param value The length tolerance to set (in mm).
1152  * @return Operation status.
1153  */
1154 GoFx(kStatus) GoSurfaceOpening_SetLengthTolerance(GoSurfaceOpening tool, k64f value);
1155 
1156 /**
1157  * Gets the angle tolerance.
1158  *
1159  * @public @memberof GoSurfaceOpening
1160  * @param tool GoSurfaceOpening object.
1161  * @return The angle tolerance (in degrees).
1162  */
1163 GoFx(k64f) GoSurfaceOpening_AngleTolerance(GoSurfaceOpening tool);
1164 
1165 /**
1166  * Sets the angle tolerance.
1167  *
1168  * @public @memberof GoSurfaceOpening
1169  * @param tool GoSurfaceOpening object.
1170  * @param value The angle tolerance to set (in degrees).
1171  * @return Operation status.
1172  */
1173 GoFx(kStatus) GoSurfaceOpening_SetAngleTolerance(GoSurfaceOpening tool, k64f value);
1174 
1175 /**
1176  * Gets the enabled state of partial detection.
1177  *
1178  * @public @memberof GoSurfaceOpening
1179  * @param tool GoSurfaceOpening object.
1180  * @return kTRUE if partial detection is enabled and kFALSE otherwise.
1181  */
1182 GoFx(kBool) GoSurfaceOpening_PartialDetectionEnabled(GoSurfaceOpening tool);
1183 
1184 /**
1185  * Sets the enabled state of partial detection.
1186  *
1187  * @public @memberof GoSurfaceOpening
1188  * @param tool GoSurfaceOpening object.
1189  * @param enable kTRUE to enable partial detection and kFALSE to disable it.
1190  * @return Operation status.
1191  */
1192 GoFx(kStatus) GoSurfaceOpening_EnablePartialDetection(GoSurfaceOpening tool, kBool enable);
1193 
1194 /**
1195  * Gets the enabled state of the tool region.
1196  *
1197  * @public @memberof GoSurfaceOpening
1198  * @param tool GoSurfaceOpening object.
1199  * @return kTRUE if the tool region is enabled and kFALSE otherwise.
1200  */
1201 GoFx(kBool) GoSurfaceOpening_RegionEnabled(GoSurfaceOpening tool);
1202 
1203 /**
1204  * Sets the enabled state of the tool region.
1205  *
1206  * @public @memberof GoSurfaceOpening
1207  * @param tool GoSurfaceOpening object.
1208  * @param enable kTRUE to enable the tool region and kFALSE to disable it.
1209  * @return Operation status.
1210  */
1211 GoFx(kStatus) GoSurfaceOpening_EnableRegion(GoSurfaceOpening tool, kBool enable);
1212 
1213 /**
1214  * Returns the region object for the tool.
1215  *
1216  * @public @memberof GoSurfaceOpening
1217  * @param tool GoSurfaceOpening object.
1218  * @return A GoRegion3d object.
1219  */
1220 GoFx(GoRegion3d) GoSurfaceOpening_Region(GoSurfaceOpening tool);
1221 
1222 /**
1223  * Gets the enabled state of reference regions.
1224  *
1225  * @public @memberof GoSurfaceOpening
1226  * @param tool GoSurfaceOpening object.
1227  * @return kTRUE if reference regions are enabled and kFALSE otherwise.
1228  */
1229 GoFx(kBool) GoSurfaceOpening_RefRegionsEnabled(GoSurfaceOpening tool);
1230 
1231 /**
1232  * Sets the enabled state of reference regions.
1233  *
1234  * @public @memberof GoSurfaceOpening
1235  * @param tool GoSurfaceOpening object.
1236  * @param enable kTRUE to enable reference regions and kFALSE to disable it.
1237  * @return Operation status.
1238  */
1239 GoFx(kStatus) GoSurfaceOpening_EnableRefRegions(GoSurfaceOpening tool, kBool enable);
1240 
1241 /**
1242  * Gets the reference region count.
1243  *
1244  * @public @memberof GoSurfaceOpening
1245  * @param tool GoSurfaceOpening object.
1246  * @return The count of reference regions.
1247  */
1248 GoFx(kSize) GoSurfaceOpening_RefRegionCount(GoSurfaceOpening tool);
1249 
1250 /**
1251  * Sets the reference region count.
1252  *
1253  * @public @memberof GoSurfaceOpening
1254  * @param tool GoSurfaceOpening object.
1255  * @param count The reference region count to set.
1256  * @return Operation status.
1257  * @see GO_SURFACE_OPENING_MAX_REF_REGIONS
1258  */
1259 GoFx(kStatus) GoSurfaceOpening_SetRefRegionCount(GoSurfaceOpening tool, kSize count);
1260 
1261 /**
1262  * Gets the reference region object at the specified index.
1263  *
1264  * @public @memberof GoSurfaceOpening
1265  * @param tool GoSurfaceOpening object.
1266  * @param index The index with which to retrieve a reference region.
1267  * @return A GoSurfaceRegion2d object or kNULL if the index is invalid.
1268  * @see GoSurfaceOpening_RefRegionCount
1269  */
1270 GoFx(GoSurfaceRegion2d) GoSurfaceOpening_RefRegionAt(GoSurfaceOpening tool, kSize index);
1271 
1272 /**
1273  * Gets the enabled state of auto-tilt.
1274  *
1275  * @public @memberof GoSurfaceOpening
1276  * @param tool GoSurfaceOpening object.
1277  * @return kTRUE if auto-tilt is enabled and kFALSE otherwise.
1278  */
1279 GoFx(kBool) GoSurfaceOpening_AutoTiltEnabled(GoSurfaceOpening tool);
1280 
1281 /**
1282  * Sets the enabled state of auto-tilt.
1283  *
1284  * @public @memberof GoSurfaceOpening
1285  * @param tool GoSurfaceOpening object.
1286  * @param enable kTRUE to enable auto-tilt and kFALSE to disable it.
1287  * @return Operation status.
1288  */
1289 GoFx(kStatus) GoSurfaceOpening_EnableAutoTilt(GoSurfaceOpening tool, kBool enable);
1290 
1291 /**
1292  * Gets the tilt X-angle.
1293  *
1294  * @public @memberof GoSurfaceOpening
1295  * @param tool GoSurfaceOpening object.
1296  * @return The tilt X-angle.
1297  */
1298 GoFx(k64f) GoSurfaceOpening_TiltXAngle(GoSurfaceOpening tool);
1299 
1300 /**
1301  * Sets the tilt X-angle.
1302  *
1303  * @public @memberof GoSurfaceOpening
1304  * @param tool GoSurfaceOpening object.
1305  * @param value The tilt X-angle to set.
1306  * @return Operation status.
1307  */
1308 GoFx(kStatus) GoSurfaceOpening_SetTiltXAngle(GoSurfaceOpening tool, k64f value);
1309 
1310 /**
1311  * Gets the tilt Y-angle.
1312  *
1313  * @public @memberof GoSurfaceOpening
1314  * @param tool GoSurfaceOpening object.
1315  * @return The tilt Y-angle.
1316  */
1317 GoFx(k64f) GoSurfaceOpening_TiltYAngle(GoSurfaceOpening tool);
1318 
1319 /**
1320  * Sets the tilt Y-angle.
1321  *
1322  * @public @memberof GoSurfaceOpening
1323  * @param tool GoSurfaceOpening object.
1324  * @param value The tilt Y-angle to set.
1325  * @return Operation status.
1326  */
1327 GoFx(kStatus) GoSurfaceOpening_SetTiltYAngle(GoSurfaceOpening tool, k64f value);
1328 
1329 /**
1330  * Returns a GoSurfaceOpening X measurement object.
1331  *
1332  * @public @memberof GoSurfaceOpening
1333  * @param tool GoSurfaceOpening object.
1334  * @return A GoSurfaceOpening X measurement.
1335  */
1336 GoFx(GoSurfaceOpeningX) GoSurfaceOpening_XMeasurement(GoSurfaceOpening tool);
1337 
1338 /**
1339  * Returns a GoSurfaceOpening Y measurement object.
1340  *
1341  * @public @memberof GoSurfaceOpening
1342  * @param tool GoSurfaceOpening object.
1343  * @return A GoSurfaceOpening Y measurement.
1344  */
1345 GoFx(GoSurfaceOpeningY) GoSurfaceOpening_YMeasurement(GoSurfaceOpening tool);
1346 
1347 /**
1348  * Returns a GoSurfaceOpening Z measurement object.
1349  *
1350  * @public @memberof GoSurfaceOpening
1351  * @param tool GoSurfaceOpening object.
1352  * @return A GoSurfaceOpening Z measurement.
1353  */
1354 GoFx(GoSurfaceOpeningZ) GoSurfaceOpening_ZMeasurement(GoSurfaceOpening tool);
1355 
1356 /**
1357  * Returns a GoSurfaceOpening Width measurement object.
1358  *
1359  * @public @memberof GoSurfaceOpening
1360  * @param tool GoSurfaceOpening object.
1361  * @return A GoSurfaceOpening Width measurement.
1362  */
1363 GoFx(GoSurfaceOpeningWidth) GoSurfaceOpening_WidthMeasurement(GoSurfaceOpening tool);
1364 
1365 /**
1366  * Returns a GoSurfaceOpening Length measurement object.
1367  *
1368  * @public @memberof GoSurfaceOpening
1369  * @param tool GoSurfaceOpening object.
1370  * @return A GoSurfaceOpening Length measurement.
1371  */
1372 GoFx(GoSurfaceOpeningLength) GoSurfaceOpening_LengthMeasurement(GoSurfaceOpening tool);
1373 
1374 /**
1375  * Returns a GoSurfaceOpening Angle measurement object.
1376  *
1377  * @public @memberof GoSurfaceOpening
1378  * @param tool GoSurfaceOpening object.
1379  * @return A GoSurfaceOpening Angle measurement.
1380  */
1381 GoFx(GoSurfaceOpeningAngle) GoSurfaceOpening_AngleMeasurement(GoSurfaceOpening tool);
1382 
1383 
1384 /**
1385  * @class GoSurfacePlane
1386  * @extends GoSurfaceTool
1387  * @ingroup GoSdk-SurfaceTools
1388  * @brief Represents a surface plane tool.
1389  */
1390 typedef GoSurfaceTool GoSurfacePlane;
1391 
1392 /**
1393  * Gets the enabled state of the reference regions.
1394  *
1395  * @public @memberof GoSurfacePlane
1396  * @param tool GoSurfacePlane object.
1397  * @return kTRUE if the tool region is enabled and kFALSE otherwise.
1398  */
1399 GoFx(kBool) GoSurfacePlane_RegionsEnabled(GoSurfacePlane tool);
1400 
1401 /**
1402  * Sets the enabled state of the reference regions.
1403  *
1404  * @public @memberof GoSurfacePlane
1405  * @param tool GoSurfacePlane object.
1406  * @param enable kTRUE to enable regions and kFALSE to disable them.
1407  * @return Operation status.
1408  */
1409 GoFx(kStatus) GoSurfacePlane_EnableRegions(GoSurfacePlane tool, kBool enable);
1410 
1411 /**
1412  * Gets the tool's region count.
1413  *
1414  * @public @memberof GoSurfacePlane
1415  * @param tool GoSurfacePlane object.
1416  * @return The number of regions in the tool.
1417  */
1418 GoFx(kSize) GoSurfacePlane_RegionCount(GoSurfacePlane tool);
1419 
1420 /**
1421  * Sets the tool region count.
1422  *
1423  * @public @memberof GoSurfacePlane
1424  * @param tool GoSurfacePlane object.
1425  * @param count The region count to set.
1426  * @return Operation status.
1427  */
1428 GoFx(kStatus) GoSurfacePlane_SetRegionCount(GoSurfacePlane tool, kSize count);
1429 
1430 /**
1431  * Gets a region at the specified index.
1432  *
1433  * @public @memberof GoSurfacePlane
1434  * @param tool GoSurfacePlane object.
1435  * @param index The index with which to return a tool region.
1436  * @return A GoRegion3d object or kNULL if the index is in invalid.
1437  * @see GoSurfacePlane_RegionCount
1438  */
1439 GoFx(GoRegion3d) GoSurfacePlane_RegionAt(GoSurfacePlane tool, kSize index);
1440 
1441 /**
1442  * Returns a GoSurfacePlane X Angle measurement object.
1443  *
1444  * @public @memberof GoSurfacePlane
1445  * @param tool GoSurfacePlane object.
1446  * @return A GoSurfacePlane X Angle measurement.
1447  */
1448 GoFx(GoSurfacePlaneXAngle) GoSurfacePlane_XAngleMeasurement(GoSurfacePlane tool);
1449 
1450 /**
1451  * Returns a GoSurfacePlane Y Angle measurement object.
1452  *
1453  * @public @memberof GoSurfacePlane
1454  * @param tool GoSurfacePlane object.
1455  * @return A GoSurfacePlane Y Angle measurement.
1456  */
1457 GoFx(GoSurfacePlaneYAngle) GoSurfacePlane_YAngleMeasurement(GoSurfacePlane tool);
1458 
1459 /**
1460  * Returns a GoSurfacePlane Z Offset measurement object.
1461  *
1462  * @public @memberof GoSurfacePlane
1463  * @param tool GoSurfacePlane object.
1464  * @return A GoSurfacePlane Z Offset measurement.
1465  */
1466 GoFx(GoSurfacePlaneZOffset) GoSurfacePlane_ZOffsetMeasurement(GoSurfacePlane tool);
1467 
1468 
1469 /**
1470  * @class GoSurfacePosition
1471  * @extends GoSurfaceTool
1472  * @ingroup GoSdk-SurfaceTools
1473  * @brief Represents a surface position tool.
1474  */
1475 typedef GoSurfaceTool GoSurfacePosition;
1476 
1477 GoFx(GoSurfaceFeature) GoSurfacePosition_Feature(GoSurfacePosition tool);
1478 
1479 /**
1480  * Returns a GoSurfacePosition X measurement object.
1481  *
1482  * @public @memberof GoSurfacePosition
1483  * @param tool GoSurfacePosition object.
1484  * @return A GoSurfacePosition X measurement.
1485  */
1486 GoFx(GoSurfacePositionX) GoSurfacePosition_XMeasurement(GoSurfacePosition tool);
1487 
1488 /**
1489  * Returns a GoSurfacePosition Y measurement object.
1490  *
1491  * @public @memberof GoSurfacePosition
1492  * @param tool GoSurfacePosition object.
1493  * @return A GoSurfacePosition Y measurement.
1494  */
1495 GoFx(GoSurfacePositionY) GoSurfacePosition_YMeasurement(GoSurfacePosition tool);
1496 
1497 /**
1498  * Returns a GoSurfacePosition Z measurement object.
1499  *
1500  * @public @memberof GoSurfacePosition
1501  * @param tool GoSurfacePosition object.
1502  * @return A GoSurfacePosition Z measurement.
1503  */
1504 GoFx(GoSurfacePositionZ) GoSurfacePosition_ZMeasurement(GoSurfacePosition tool);
1505 
1506 
1507 /**
1508  * @class GoSurfaceStud
1509  * @extends GoSurfaceTool
1510  * @ingroup GoSdk-SurfaceTools
1511  * @brief Represents a surface stud tool.
1512  */
1513 typedef GoSurfaceTool GoSurfaceStud;
1514 
1515 /**
1516  * Returns the stud radius value.
1517  *
1518  * @public @memberof GoSurfaceStud
1519  * @param tool GoSurfaceStud object.
1520  * @return The stud radius value.
1521  */
1522 GoFx(k64f) GoSurfaceStud_StudRadius(GoSurfaceStud tool);
1523 
1524 /**
1525  * Sets the stud radius value.
1526  *
1527  * @public @memberof GoSurfaceStud
1528  * @param tool GoSurfaceStud object.
1529  * @param value The stud radius value to set.
1530  * @return Operation status.
1531  */
1532 GoFx(kStatus) GoSurfaceStud_SetStudRadius(GoSurfaceStud tool, k64f value);
1533 
1534 /**
1535  * Returns the stud height value.
1536  *
1537  * @public @memberof GoSurfaceStud
1538  * @param tool GoSurfaceStud object.
1539  * @return The stud height value.
1540  */
1541 GoFx(k64f) GoSurfaceStud_StudHeight(GoSurfaceStud tool);
1542 
1543 /**
1544  * Sets the stud height value.
1545  *
1546  * @public @memberof GoSurfaceStud
1547  * @param tool GoSurfaceStud object.
1548  * @param value The stud height value to set.
1549  * @return Operation status.
1550  */
1551 GoFx(kStatus) GoSurfaceStud_SetStudHeight(GoSurfaceStud tool, k64f value);
1552 
1553 /**
1554  * Returns the stud base height value.
1555  *
1556  * @public @memberof GoSurfaceStud
1557  * @param tool GoSurfaceStud object.
1558  * @return The stud base height value.
1559  */
1560 GoFx(k64f) GoSurfaceStud_BaseHeight(GoSurfaceStud tool);
1561 
1562 /**
1563  * Sets the base height value.
1564  *
1565  * @public @memberof GoSurfaceStud
1566  * @param tool GoSurfaceStud object.
1567  * @param value The base height value to set.
1568  * @return Operation status.
1569  */
1570 GoFx(kStatus) GoSurfaceStud_SetBaseHeight(GoSurfaceStud tool, k64f value);
1571 
1572 /**
1573  * Returns the stud tip height value.
1574  *
1575  * @public @memberof GoSurfaceStud
1576  * @param tool GoSurfaceStud object.
1577  * @return The stud tip height value.
1578  */
1579 GoFx(k64f) GoSurfaceStud_TipHeight(GoSurfaceStud tool);
1580 
1581 /**
1582  * Sets the tip height value.
1583  *
1584  * @public @memberof GoSurfaceStud
1585  * @param tool GoSurfaceStud object.
1586  * @param value The tip height value to set.
1587  * @return Operation status.
1588  */
1589 GoFx(kStatus) GoSurfaceStud_SetTipHeight(GoSurfaceStud tool, k64f value);
1590 
1591 /**
1592  * Gets the enabled state of the tool region.
1593  *
1594  * @public @memberof GoSurfaceStud
1595  * @param tool GoSurfaceStud object.
1596  * @return kTRUE if enabled and kFALSE if disabled.
1597  */
1598 GoFx(kBool) GoSurfaceStud_RegionEnabled(GoSurfaceStud tool);
1599 
1600 /**
1601  * Sets the enabled state of the tool region.
1602  *
1603  * @public @memberof GoSurfaceStud
1604  * @param tool GoSurfaceStud object.
1605  * @param enable kTRUE to enable the region and kFALSE to disable it.
1606  * @return Operation status.
1607  */
1608 GoFx(kStatus) GoSurfaceStud_EnableRegion(GoSurfaceStud tool, kBool enable);
1609 
1610 /**
1611  * Returns the tool region object.
1612  *
1613  * @public @memberof GoSurfaceStud
1614  * @param tool GoSurfaceStud object.
1615  * @return A GoRegion3d object.
1616  */
1617 GoFx(GoRegion3d) GoSurfaceStud_Region(GoSurfaceStud tool);
1618 
1619 /**
1620  * Gets the enabled state of the reference regions.
1621  *
1622  * @public @memberof GoSurfaceStud
1623  * @param tool GoSurfaceStud object.
1624  * @return enable kTRUE if the reference regions are enabled and kFALSE otherwise.
1625  */
1626 GoFx(kBool) GoSurfaceStud_RefRegionsEnabled(GoSurfaceStud tool);
1627 
1628 /**
1629  * Sets the enabled state of the reference regions.
1630  *
1631  * @public @memberof GoSurfaceStud
1632  * @param tool GoSurfaceStud object.
1633  * @param enable kTRUE to enable the region and kFALSE to disable it.
1634  * @return Operation status.
1635  */
1636 GoFx(kStatus) GoSurfaceStud_EnableRefRegions(GoSurfaceStud tool, kBool enable);
1637 
1638 /**
1639  * Sets the reference region count.
1640  *
1641  * @public @memberof GoSurfaceStud
1642  * @param tool GoSurfaceStud object.
1643  * @param count The number of reference regions to use.
1644  * @return Operation status.
1645  * @see GO_SURFACE_STUD_MAX_REF_REGIONS
1646  */
1647 GoFx(kStatus) GoSurfaceStud_SetRefRegionCount(GoSurfaceStud tool, kSize count);
1648 
1649 /**
1650  * Returns the reference region count.
1651  *
1652  * @public @memberof GoSurfaceStud
1653  * @param tool GoSurfaceStud object.
1654  * @return The reference region count.
1655  */
1656 GoFx(kSize) GoSurfaceStud_RefRegionCount(GoSurfaceStud tool);
1657 
1658 /**
1659  * Returns the reference region object at the given index.
1660  *
1661  * @public @memberof GoSurfaceStud
1662  * @param tool GoSurfaceStud object.
1663  * @param index The index with which to return a reference region.
1664  * @return A GoSurfaceRegion2d object.
1665  * @see GoSurfaceStud_RefRegionCount
1666  */
1667 GoFx(GoSurfaceRegion2d) GoSurfaceStud_RefRegionAt(GoSurfaceStud tool, kSize index);
1668 
1669 /**
1670  * Gets the enabled state of auto-tilt.
1671  *
1672  * @public @memberof GoSurfaceStud
1673  * @param tool GoSurfaceStud object.
1674  * @return kTRUE if enabled and kFALSE if disabled.
1675  */
1676 GoFx(kBool) GoSurfaceStud_AutoTiltEnabled(GoSurfaceStud tool);
1677 
1678 /**
1679  * Sets the enabled state of auto-tilt.
1680  *
1681  * @public @memberof GoSurfaceStud
1682  * @param tool GoSurfaceStud object.
1683  * @param enable kTRUE to enable the region and kFALSE to disable it.
1684  * @return Operation status.
1685  */
1686 GoFx(kStatus) GoSurfaceStud_EnableAutoTilt(GoSurfaceStud tool, kBool enable);
1687 
1688 /**
1689  * Gets the tilt X-angle value.
1690  *
1691  * @public @memberof GoSurfaceStud
1692  * @param tool GoSurfaceStud object.
1693  * @return The tilt X-angle value.
1694  */
1695 GoFx(k64f) GoSurfaceStud_TiltXAngle(GoSurfaceStud tool);
1696 
1697 /**
1698  * Sets the tilt X-angle value.
1699  *
1700  * @public @memberof GoSurfaceStud
1701  * @param tool GoSurfaceStud object.
1702  * @param value The tilt X-angle value to set.
1703  * @return Operation status.
1704  */
1705 GoFx(kStatus) GoSurfaceStud_SetTiltXAngle(GoSurfaceStud tool, k64f value);
1706 
1707 /**
1708  * Returns the tilt Y-angle value.
1709  *
1710  * @public @memberof GoSurfaceStud
1711  * @param tool GoSurfaceStud object.
1712  * @return The tilt Y-angle value.
1713  */
1714 GoFx(k64f) GoSurfaceStud_TiltYAngle(GoSurfaceStud tool);
1715 
1716 /**
1717  * Sets the tilt Y-angle value.
1718  *
1719  * @public @memberof GoSurfaceStud
1720  * @param tool GoSurfaceStud object.
1721  * @param value The tilt Y-angle value to set.
1722  * @return Operation status.
1723  */
1724 GoFx(kStatus) GoSurfaceStud_SetTiltYAngle(GoSurfaceStud tool, k64f value);
1725 
1726 /**
1727  * Returns a GoSurfaceStud Base X measurement object.
1728  *
1729  * @public @memberof GoSurfaceStud
1730  * @param tool GoSurfaceStud object.
1731  * @return A GoSurfaceStud Base X measurement.
1732  */
1733 GoFx(GoSurfaceStudBaseX) GoSurfaceStud_BaseXMeasurement(GoSurfaceStud tool);
1734 
1735 /**
1736  * Returns a GoSurfaceStud Base Y measurement object.
1737  *
1738  * @public @memberof GoSurfaceStud
1739  * @param tool GoSurfaceStud object.
1740  * @return A GoSurfaceStud Base Y measurement.
1741  */
1742 GoFx(GoSurfaceStudBaseY) GoSurfaceStud_BaseYMeasurement(GoSurfaceStud tool);
1743 
1744 /**
1745  * Returns a GoSurfaceStud Base Z measurement object.
1746  *
1747  * @public @memberof GoSurfaceStud
1748  * @param tool GoSurfaceStud object.
1749  * @return A GoSurfaceStud Base Z measurement.
1750  */
1751 GoFx(GoSurfaceStudBaseZ) GoSurfaceStud_BaseZMeasurement(GoSurfaceStud tool);
1752 
1753 /**
1754  * Returns a GoSurfaceStud Tip X measurement object.
1755  *
1756  * @public @memberof GoSurfaceStud
1757  * @param tool GoSurfaceStud object.
1758  * @return A GoSurfaceStud Tip X measurement.
1759  */
1760 GoFx(GoSurfaceStudTipX) GoSurfaceStud_TipXMeasurement(GoSurfaceStud tool);
1761 
1762 /**
1763  * Returns a GoSurfaceStud Tip Y measurement object.
1764  *
1765  * @public @memberof GoSurfaceStud
1766  * @param tool GoSurfaceStud object.
1767  * @return A GoSurfaceStud Tip Y measurement.
1768  */
1769 GoFx(GoSurfaceStudTipY) GoSurfaceStud_TipYMeasurement(GoSurfaceStud tool);
1770 
1771 /**
1772  * Returns a GoSurfaceStud Tip Z measurement object.
1773  *
1774  * @public @memberof GoSurfaceStud
1775  * @param tool GoSurfaceStud object.
1776  * @return A GoSurfaceStud Tip Z measurement.
1777  */
1778 GoFx(GoSurfaceStudTipZ) GoSurfaceStud_TipZMeasurement(GoSurfaceStud tool);
1779 
1780 /**
1781  * Returns a GoSurfaceStud Radius measurement object.
1782  *
1783  * @public @memberof GoSurfaceStud
1784  * @param tool GoSurfaceStud object.
1785  * @return A GoSurfaceStud Radius measurement.
1786  */
1787 GoFx(GoSurfaceStudRadius) GoSurfaceStud_RadiusMeasurement(GoSurfaceStud tool);
1788 
1789 
1790 /**
1791  * @class GoSurfaceVolume
1792  * @extends GoSurfaceTool
1793  * @ingroup GoSdk-SurfaceTools
1794  * @brief Represents a surface volume tool.
1795  */
1796 typedef GoSurfaceTool GoSurfaceVolume;
1797 
1798 /**
1799  * Gets the enabled state of the tool region.
1800  *
1801  * @public @memberof GoSurfaceVolume
1802  * @param tool GoSurfaceVolume object.
1803  * @return kTRUE if enabled and kFALSE if disabled.
1804  */
1805 GoFx(kBool) GoSurfaceVolume_RegionEnabled(GoSurfaceVolume tool);
1806 
1807 /**
1808  * Sets the enabled state of the tool region.
1809  *
1810  * @public @memberof GoSurfaceVolume
1811  * @param tool GoSurfaceVolume object.
1812  * @param enable kTRUE to enable the tool region and kFALSE to disable it.
1813  */
1814 GoFx(kStatus) GoSurfaceVolume_EnableRegion(GoSurfaceVolume tool, kBool enable);
1815 
1816 /**
1817  * Returns the tool region object.
1818  *
1819  * @public @memberof GoSurfaceVolume
1820  * @param tool GoSurfaceVolume object.
1821  * @return A GoRegion3d object.
1822  */
1823 GoFx(GoRegion3d) GoSurfaceVolume_Region(GoSurfaceVolume tool);
1824 
1825 /**
1826  * Returns a GoSurfaceVolume Volume measurement object.
1827  *
1828  * @public @memberof GoSurfaceVolume
1829  * @param tool GoSurfaceVolume object.
1830  * @return A GoSurfaceVolume Volume measurement.
1831  */
1832 GoFx(GoSurfaceVolumeVolume) GoSurfaceVolume_VolumeMeasurement(GoSurfaceVolume tool);
1833 
1834 /**
1835  * Returns a GoSurfaceVolume Area measurement object.
1836  *
1837  * @public @memberof GoSurfaceVolume
1838  * @param tool GoSurfaceVolume object.
1839  * @return A GoSurfaceVolume Area measurement.
1840  */
1841 GoFx(GoSurfaceVolumeArea) GoSurfaceVolume_AreaMeasurement(GoSurfaceVolume tool);
1842 
1843 /**
1844  * Returns a GoSurfaceVolume Thickness measurement object.
1845  *
1846  * @public @memberof GoSurfaceVolume
1847  * @param tool GoSurfaceVolume object.
1848  * @return A GoSurfaceVolume Thickness measurement.
1849  */
1851 
1852 
1853 kEndHeader()
1854 #include <GoSdk/Tools/GoSurfaceTools.x.h>
1855 
1856 #endif
1857 
1858 /// @endcond
k64f GoCylinderRegion_Y(GoCylinderRegion region)
Gets the Y position.
GoSurfaceOpeningLength GoSurfaceOpening_LengthMeasurement(GoSurfaceOpening tool)
Returns a GoSurfaceOpening Length measurement object.
Represents a Y-angle measurement for a Surface Plane Tool.
kBool GoSurfaceHole_AutoTiltEnabled(GoSurfaceHole tool)
Gets the enabled state of auto-tilt.
kStatus GoSurfaceHole_EnableAutoTilt(GoSurfaceHole tool, kBool enable)
Sets the enabled state of auto-tilt.
kStatus GoSurfaceVolume_EnableRegion(GoSurfaceVolume tool, kBool enable)
Sets the enabled state of the tool region.
GoSurfaceEllipseRatio GoSurfaceEllipse_RatioMeasurement(GoSurfaceEllipse tool)
Returns a GoSurfaceEllipse Ratio measurement object.
kBool GoSurfaceTool_YAnchorEnabled(GoSurfaceTool tool)
Returns a boolean value representing whether or not a valid Y-anchoring source has been set for Y-anc...
Declares the base GoTool class.
k64f GoRegion3d_Z(GoRegion3d region)
Gets the Z-position.
Represents a Z-angle measurement for a Surface Bounding Box tool.
k32u GoSurfaceTool_ZAnchorOptionAt(GoSurfaceTool tool, kSize index)
Gets the Z-anchoring option at the given index.
GoSurfaceBoxZAngle GoSurfaceBox_ZAngleMeasurement(GoSurfaceBox tool)
Returns a GoSurfaceBox Z Angle measurement object.
kStatus GoSurfaceRegion2d_SetWidth(GoSurfaceRegion2d region, k64f width)
Sets the width.
GoSurfaceStudTipY GoSurfaceStud_TipYMeasurement(GoSurfaceStud tool)
Returns a GoSurfaceStud Tip Y measurement object.
kStatus GoSurfaceOpening_SetNominalLength(GoSurfaceOpening tool, k64f value)
Sets the nominal length.
kStatus GoCylinderRegion_SetY(GoCylinderRegion region, k64f value)
Sets the Y position.
kStatus GoSurfaceRegion2d_SetY(GoSurfaceRegion2d region, k64f value)
Sets the Y position.
Represents a radius measurement for a Surface Stud Tool.
Represents a surface feature type.
kStatus GoSurfaceHole_SetNominalRadius(GoSurfaceHole tool, k64f nominalRadius)
Sets the nominal radius value.
GoSurfaceEllipseMinor GoSurfaceEllipse_MinorMeasurement(GoSurfaceEllipse tool)
Returns a GoSurfaceEllipse Minor measurement object.
Represents a length measurement for a Surface Bounding Box tool.
GoDataSource GoSurfaceTool_Source(GoSurfaceTool tool)
Gets the data source.
kStatus GoSurfaceOpening_SetTiltXAngle(GoSurfaceOpening tool, k64f value)
Sets the tilt X-angle.
Represents a surface bounding box tool.
k64f GoSurfaceStud_StudRadius(GoSurfaceStud tool)
Returns the stud radius value.
Represents a Y measurement for a Surface Hole Tool.
k64f GoSurfaceOpening_TiltXAngle(GoSurfaceOpening tool)
Gets the tilt X-angle.
GoSurfacePlaneZOffset GoSurfacePlane_ZOffsetMeasurement(GoSurfacePlane tool)
Returns a GoSurfacePlane Z Offset measurement object.
kStatus GoSurfacePlane_SetRegionCount(GoSurfacePlane tool, kSize count)
Sets the tool region count.
kStatus GoSurfaceOpening_EnablePartialDetection(GoSurfaceOpening tool, kBool enable)
Sets the enabled state of partial detection.
k32s GoSurfaceTool_XAnchor(GoSurfaceTool tool)
Gets the current X-anchoring source.
GoSurfaceBoxHeight GoSurfaceBox_HeightMeasurement(GoSurfaceBox tool)
Returns a GoSurfaceBox Height measurement object.
Represents a Z measurement for a Surface Opening Tool.
kSize GoSurfaceTool_YAnchorOptionCount(GoSurfaceTool tool)
Gets the Y-anchoring option list count.
k64f GoRegion3d_Length(GoRegion3d region)
Gets the length.
GoSurfaceHoleX GoSurfaceHole_XMeasurement(GoSurfaceHole tool)
Returns a GoSurfaceHole X measurement object.
Represents an area measurement for a Surface Volume Tool.
kStatus GoSurfaceHole_SetRefRegionCount(GoSurfaceHole tool, kSize count)
Sets the reference region count.
GoSurfaceStudBaseX GoSurfaceStud_BaseXMeasurement(GoSurfaceStud tool)
Returns a GoSurfaceStud Base X measurement object.
GoSurfaceOpeningZ GoSurfaceOpening_ZMeasurement(GoSurfaceOpening tool)
Returns a GoSurfaceOpening Z measurement object.
GoSurfacePositionZ GoSurfacePosition_ZMeasurement(GoSurfacePosition tool)
Returns a GoSurfacePosition Z measurement object.
kStatus GoSurfaceHole_SetTiltYAngle(GoSurfaceHole tool, k64f value)
Sets the tilt Y-angle value.
kStatus GoSurfaceHole_SetTiltXAngle(GoSurfaceHole tool, k64f value)
Sets the tilt X-angle value.
kBool GoSurfaceBox_RegionEnabled(GoSurfaceBox tool)
Returns the enabled state of the tool region.
Represents a minor value measurement for a Surface Ellipse tool.
kBool GoSurfaceTool_XAnchorEnabled(GoSurfaceTool tool)
Returns a boolean value representing whether or not a valid X-anchoring source has been set for X-anc...
GoSurfaceBoxGlobalY GoSurfaceBox_GlobalYMeasurement(GoSurfaceBox tool)
Returns a GoSurfaceBox global Y measurement object.
k64f GoSurfaceOpening_NominalRadius(GoSurfaceOpening tool)
Gets the nominal radius.
k64f GoSurfaceHole_TiltXAngle(GoSurfaceHole tool)
Gets the tilt X-angle value.
Represents a base Y measurement for a Surface Stud Tool.
Represents a Z-angle measurement for a Surface Ellipse tool.
GoSurfacePlaneYAngle GoSurfacePlane_YAngleMeasurement(GoSurfacePlane tool)
Returns a GoSurfacePlane Y Angle measurement object.
Represents a Z-offset measurement for a Surface Plane Tool.
GoSurfaceEllipseMajor GoSurfaceEllipse_MajorMeasurement(GoSurfaceEllipse tool)
Returns a GoSurfaceEllipse Major measurement object.
kStatus GoSurfaceStud_SetStudRadius(GoSurfaceStud tool, k64f value)
Sets the stud radius value.
k64f GoCylinderRegion_Height(GoCylinderRegion region)
Gets the Height.
Represents a tip X measurement for a Surface Stud Tool.
Represents a surface hole tool.
kBool GoSurfaceHole_RegionEnabled(GoSurfaceHole tool)
Gets the enabled state of the tool region.
k32u GoSurfaceTool_SourceOptionAt(GoSurfaceTool tool, kSize index)
Gets the data source option at the given index.
kStatus GoSurfaceOpening_SetTiltYAngle(GoSurfaceOpening tool, k64f value)
Sets the tilt Y-angle.
k64f GoRegion3d_Height(GoRegion3d region)
Gets the height.
GoSurfaceStudRadius GoSurfaceStud_RadiusMeasurement(GoSurfaceStud tool)
Returns a GoSurfaceStud Radius measurement object.
Represents a surface plane tool.
kStatus GoSurfaceStud_SetTiltYAngle(GoSurfaceStud tool, k64f value)
Sets the tilt Y-angle value.
kStatus GoSurfaceOpening_SetNominalAngle(GoSurfaceOpening tool, k64f value)
Sets the nominal angle.
Represents a surface opening tool type.
k64f GoSurfaceOpening_LengthTolerance(GoSurfaceOpening tool)
Gets the length tolerance.
Represents a data source.
k64f GoRegion3d_X(GoRegion3d region)
Gets the X position.
kBool GoSurfaceStud_AutoTiltEnabled(GoSurfaceStud tool)
Gets the enabled state of auto-tilt.
k64f GoSurfaceHole_NominalRadius(GoSurfaceHole tool)
Gets the current nominal radius value.
kStatus GoRegion3d_SetZ(GoRegion3d region, k64f z)
Sets the Z-position.
Represents a cylinder region for select surface tools.
Contains various helper functions.
GoSurfaceOpeningX GoSurfaceOpening_XMeasurement(GoSurfaceOpening tool)
Returns a GoSurfaceOpening X measurement object.
GoSurfaceBoxWidth GoSurfaceBox_WidthMeasurement(GoSurfaceBox tool)
Returns a GoSurfaceBox Width measurement object.
GoRegion3d GoSurfaceOpening_Region(GoSurfaceOpening tool)
Returns the region object for the tool.
Represents an X measurement for a Surface Hole Tool.
kStatus GoSurfaceStud_SetStudHeight(GoSurfaceStud tool, k64f value)
Sets the stud height value.
GoSurfaceBoxGlobalX GoSurfaceBox_GlobalXMeasurement(GoSurfaceBox tool)
Returns a GoSurfaceBox global X measurement object.
k64f GoSurfaceOpening_NominalAngle(GoSurfaceOpening tool)
Gets the nominal angle.
GoSurfaceVolumeArea GoSurfaceVolume_AreaMeasurement(GoSurfaceVolume tool)
Returns a GoSurfaceVolume Area measurement object.
Represents a Y measurement for a Surface Opening Tool.
GoRegion3d GoSurfaceFeature_Region(GoSurfaceFeature feature)
Gets the 3d region for the feature.
kBool GoSurfaceFeature_RegionEnabled(GoSurfaceFeature feature)
Gets the current state the surface feature region.
kStatus GoSurfaceHole_SetRadiusTolerance(GoSurfaceHole tool, k64f radiusTolerance)
Sets the radius tolerance value.
GoSurfaceStudTipZ GoSurfaceStud_TipZMeasurement(GoSurfaceStud tool)
Returns a GoSurfaceStud Tip Z measurement object.
GoRegion3d GoSurfaceHole_Region(GoSurfaceHole tool)
Returns the tool's region object.
k64f GoSurfaceStud_TiltXAngle(GoSurfaceStud tool)
Gets the tilt X-angle value.
Represents an X-angle measurement for a Surface Plane Tool.
GoSurfaceEllipseZAngle GoSurfaceEllipse_ZAngleMeasurement(GoSurfaceEllipse tool)
Returns a GoSurfaceEllipse Z Angle measurement object.
kSize GoSurfaceHole_RefRegionCount(GoSurfaceHole tool)
Gets the reference region count.
kStatus GoSurfaceBox_EnableRegion(GoSurfaceBox tool, kBool enable)
Enables or disables the tool region.
kStatus GoSurfaceStud_SetTiltXAngle(GoSurfaceStud tool, k64f value)
Sets the tilt X-angle value.
Represents a major value measurement for a Surface Ellipse tool.
Represents an X measurement for a Surface Position Tool.
GoSurfaceOpeningY GoSurfaceOpening_YMeasurement(GoSurfaceOpening tool)
Returns a GoSurfaceOpening Y measurement object.
k64f GoSurfaceHole_TiltYAngle(GoSurfaceHole tool)
Gets the tilt Y-angle value.
k64f GoSurfaceHole_RadiusTolerance(GoSurfaceHole tool)
Gets the current radius tolerance value.
k64f GoSurfaceStud_TiltYAngle(GoSurfaceStud tool)
Returns the tilt Y-angle value.
GoSurfaceVolumeThickness GoSurfaceVolume_ThicknessMeasurement(GoSurfaceVolume tool)
Returns a GoSurfaceVolume Thickness measurement object.
kBool GoSurfaceTool_ZAnchorEnabled(GoSurfaceTool tool)
Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anc...
kStatus GoRegion3d_SetLength(GoRegion3d region, k64f length)
Sets the length.
kStatus GoSurfaceOpening_SetNominalWidth(GoSurfaceOpening tool, k64f value)
Sets the nominal width.
kStatus GoCylinderRegion_SetX(GoCylinderRegion region, k64f x)
Sets the X position.
Represents a tip Y measurement for a Surface Stud Tool.
kStatus GoSurfaceHole_EnablePartialDetection(GoSurfaceHole tool, kBool enable)
Sets the enabled state of partial detection.
Essential SDK declarations.
GoSurfaceHoleRadius GoSurfaceHole_RadiusMeasurement(GoSurfaceHole tool)
Returns a GoSurfaceHole Radius measurement object.
Represents a width measurement for a Surface Opening Tool.
GoSurfaceOpeningWidth GoSurfaceOpening_WidthMeasurement(GoSurfaceOpening tool)
Returns a GoSurfaceOpening Width measurement object.
k64f GoSurfaceRegion2d_Y(GoSurfaceRegion2d region)
Gets the Y position.
GoSurfaceBoxZ GoSurfaceBox_ZMeasurement(GoSurfaceBox tool)
Returns a GoSurfaceBox Z measurement object.
Represents the base tool class.
Definition: GoTool.h:16
Represents a two dimensional surface tool region.
Definition: GoSurfaceTools.h:18
GoSurfaceHoleY GoSurfaceHole_YMeasurement(GoSurfaceHole tool)
Returns a GoSurfaceHole Y measurement object.
GoRegion3d GoSurfaceBox_Region(GoSurfaceBox tool)
Gets the surface bounding box region.
Represents an X measurement for a Surface Bounding Box tool.
kStatus GoSurfaceTool_SetXAnchor(GoSurfaceTool tool, k32s id)
Sets the X-anchoring source.
Represents a base X measurement for a Surface Stud Tool.
kSize GoSurfaceTool_XAnchorOptionCount(GoSurfaceTool tool)
Gets the X-anchoring option list count.
k32s GoSurfaceTool_YAnchor(GoSurfaceTool tool)
Gets the current Y-anchoring source.
GoSurfaceOpeningType GoSurfaceOpening_Type(GoSurfaceOpening tool)
Gets the surface opening type.
kStatus GoSurfaceFeature_EnableRegion(GoSurfaceFeature feature, kBool enable)
Enable or disable the surface feature region.
Represents an X measurement for a Surface Opening Tool.
GoRegion3d GoSurfaceStud_Region(GoSurfaceStud tool)
Returns the tool region object.
GoSurfaceStudBaseZ GoSurfaceStud_BaseZMeasurement(GoSurfaceStud tool)
Returns a GoSurfaceStud Base Z measurement object.
Represents a thickness measurement for a Surface Volume Tool.
GoSurfaceStudTipX GoSurfaceStud_TipXMeasurement(GoSurfaceStud tool)
Returns a GoSurfaceStud Tip X measurement object.
Represents a width measurement for a Surface Bounding Box tool.
kStatus GoSurfaceStud_SetRefRegionCount(GoSurfaceStud tool, kSize count)
Sets the reference region count.
GoSurfaceRegion2d GoSurfaceHole_RefRegionAt(GoSurfaceHole tool, kSize index)
Gets a reference region object at the given index.
Represents a global X measurement for a Surface Bounding Box tool.
Represents an angle measurement for a Surface Opening Tool.
kBool GoSurfaceEllipse_RegionEnabled(GoSurfaceEllipse tool)
Returns the enabled state of the tool region.
kStatus GoSurfaceFeature_SetType(GoSurfaceFeature feature, GoSurfaceFeatureType type)
Sets the surface feature type.
k64f GoSurfaceRegion2d_Length(GoSurfaceRegion2d region)
Gets the length.
k64f GoCylinderRegion_Z(GoCylinderRegion region)
Gets the Z-position.
Represents a base surface tool.
k32s GoSurfaceTool_ZAnchor(GoSurfaceTool tool)
Gets the current Z-anchoring source.
k64f GoSurfaceOpening_NominalWidth(GoSurfaceOpening tool)
Gets the nominal width.
Represents a Y measurement for a Surface Position Tool.
Represents a three dimensional surface region.
kStatus GoSurfaceOpening_EnableAutoTilt(GoSurfaceOpening tool, kBool enable)
Sets the enabled state of auto-tilt.
k64f GoSurfaceOpening_TiltYAngle(GoSurfaceOpening tool)
Gets the tilt Y-angle.
GoSurfaceRegion2d GoSurfaceOpening_RefRegionAt(GoSurfaceOpening tool, kSize index)
Gets the reference region object at the specified index.
kStatus GoSurfaceHole_EnableRegion(GoSurfaceHole tool, kBool enable)
Sets the enabled state of the tool region.
GoSurfaceFeatureType GoSurfaceFeature_Type(GoSurfaceFeature feature)
Gets the surface feature type.
k64f GoCylinderRegion_X(GoCylinderRegion region)
Gets the X position.
kStatus GoSurfaceRegion2d_SetLength(GoSurfaceRegion2d region, k64f length)
Sets the length.
Represents a surface opening tool.
kStatus GoSurfaceTool_SetYAnchor(GoSurfaceTool tool, k32s id)
Sets the Y-anchoring source.
kStatus GoSurfaceStud_EnableAutoTilt(GoSurfaceStud tool, kBool enable)
Sets the enabled state of auto-tilt.
GoSurfaceOpeningAngle GoSurfaceOpening_AngleMeasurement(GoSurfaceOpening tool)
Returns a GoSurfaceOpening Angle measurement object.
k64f GoSurfaceStud_BaseHeight(GoSurfaceStud tool)
Returns the stud base height value.
Represents a height measurement for a Surface Bounding Box tool.
Represents a tip Z measurement for a Surface Stud Tool.
kStatus GoSurfaceEllipse_EnableRegion(GoSurfaceEllipse tool, kBool enable)
Enables or disables the tool region.
kBool GoSurfaceOpening_RefRegionsEnabled(GoSurfaceOpening tool)
Gets the enabled state of reference regions.
kStatus GoRegion3d_SetHeight(GoRegion3d region, k64f height)
Sets the height.
kBool GoSurfaceOpening_PartialDetectionEnabled(GoSurfaceOpening tool)
Gets the enabled state of partial detection.
k64f GoSurfaceRegion2d_X(GoSurfaceRegion2d region)
Gets the X position.
GoRegion3d GoSurfaceEllipse_Region(GoSurfaceEllipse tool)
Gets the tool region.
kStatus GoCylinderRegion_SetHeight(GoCylinderRegion region, k64f value)
Sets the Height.
Represents a surface stud tool.
kStatus GoSurfaceStud_EnableRegion(GoSurfaceStud tool, kBool enable)
Sets the enabled state of the tool region.
kStatus GoSurfaceOpening_EnableRefRegions(GoSurfaceOpening tool, kBool enable)
Sets the enabled state of reference regions.
kSize GoSurfacePlane_RegionCount(GoSurfacePlane tool)
Gets the tool's region count.
kStatus GoRegion3d_SetY(GoRegion3d region, k64f value)
Sets the Y position.
Represents a surface ellipse tool.
kBool GoSurfacePlane_RegionsEnabled(GoSurfacePlane tool)
Gets the enabled state of the reference regions.
GoSurfacePositionY GoSurfacePosition_YMeasurement(GoSurfacePosition tool)
Returns a GoSurfacePosition Y measurement object.
GoSurfacePositionX GoSurfacePosition_XMeasurement(GoSurfacePosition tool)
Returns a GoSurfacePosition X measurement object.
Represents a Y measurement for a Surface Bounding Box tool.
kBeginHeader() kStatus GoSdk_Construct(kAssembly *assembly)
Constructs the Gocator SDK library.
Represents a volume measurement for a Surface Volume Tool.
kStatus GoSurfaceTool_SetZAnchor(GoSurfaceTool tool, k32s id)
Sets the Z-anchoring source.
k64f GoSurfaceStud_TipHeight(GoSurfaceStud tool)
Returns the stud tip height value.
GoRegion3d GoSurfacePlane_RegionAt(GoSurfacePlane tool, kSize index)
Gets a region at the specified index.
kStatus GoSurfaceStud_SetTipHeight(GoSurfaceStud tool, k64f value)
Sets the tip height value.
Represents a radius measurement for a Surface Hole Tool.
GoSurfaceRegion2d GoSurfaceStud_RefRegionAt(GoSurfaceStud tool, kSize index)
Returns the reference region object at the given index.
kBool GoSurfaceHole_PartialDetectionEnabled(GoSurfaceHole tool)
Gets the enabled state of partial detection.
kBool GoSurfaceStud_RegionEnabled(GoSurfaceStud tool)
Gets the enabled state of the tool region.
k64f GoRegion3d_Width(GoRegion3d region)
Gets the width.
kStatus GoSurfaceOpening_SetLengthTolerance(GoSurfaceOpening tool, k64f value)
Sets the length tolerance.
kBool GoSurfaceHole_RefRegionsEnabled(GoSurfaceHole tool)
Gets the enabled state of reference regions.
kStatus GoSurfaceRegion2d_SetX(GoSurfaceRegion2d region, k64f x)
Sets the X position.
GoSurfaceVolumeVolume GoSurfaceVolume_VolumeMeasurement(GoSurfaceVolume tool)
Returns a GoSurfaceVolume Volume measurement object.
kStatus GoSurfaceOpening_SetRefRegionCount(GoSurfaceOpening tool, kSize count)
Sets the reference region count.
k32u GoSurfaceTool_XAnchorOptionAt(GoSurfaceTool tool, kSize index)
Gets the X-anchoring option at the given index.
kStatus GoSurfaceStud_SetBaseHeight(GoSurfaceStud tool, k64f value)
Sets the base height value.
Represents a global Y measurement for a Surface Bounding Box tool.
GoSurfaceBoxY GoSurfaceBox_YMeasurement(GoSurfaceBox tool)
Returns a GoSurfaceBox Y measurement object.
kStatus GoSurfaceOpening_SetAngleTolerance(GoSurfaceOpening tool, k64f value)
Sets the angle tolerance.
kStatus GoCylinderRegion_SetRadius(GoCylinderRegion region, k64f value)
Sets the radius.
k64f GoSurfaceOpening_NominalLength(GoSurfaceOpening tool)
Gets the nominal length.
Represents a Z measurement for a Surface Position Tool.
kStatus GoRegion3d_SetWidth(GoRegion3d region, k64f width)
Sets the width.
kSize GoSurfaceTool_SourceOptionCount(GoSurfaceTool tool)
Gets the data source option list count.
k64f GoCylinderRegion_Radius(GoCylinderRegion region)
Gets the radius.
kStatus GoCylinderRegion_SetZ(GoCylinderRegion region, k64f z)
Sets the Z-position.
kStatus GoSurfaceTool_SetSource(GoSurfaceTool tool, GoDataSource source)
Sets the data source.
GoSurfaceHoleZ GoSurfaceHole_ZMeasurement(GoSurfaceHole tool)
Returns a GoSurfaceHole Z measurement object.
k64f GoRegion3d_Y(GoRegion3d region)
Gets the Y position.
kBool GoSurfaceStud_RefRegionsEnabled(GoSurfaceStud tool)
Gets the enabled state of the reference regions.
kStatus GoRegion3d_SetX(GoRegion3d region, k64f x)
Sets the X position.
kBool GoSurfaceBox_ZRotationEnabled(GoSurfaceBox tool)
Returns the enabled state of Z-rotation.
kStatus GoSurfaceBox_EnableZRotation(GoSurfaceBox tool, kBool enable)
Enables or disables Z-rotation.
kStatus GoSurfacePlane_EnableRegions(GoSurfacePlane tool, kBool enable)
Sets the enabled state of the reference regions.
k64f GoSurfaceStud_StudHeight(GoSurfaceStud tool)
Returns the stud height value.
kSize GoSurfaceOpening_RefRegionCount(GoSurfaceOpening tool)
Gets the reference region count.
kBool GoSurfaceVolume_RegionEnabled(GoSurfaceVolume tool)
Gets the enabled state of the tool region.
kStatus GoSurfaceOpening_SetNominalRadius(GoSurfaceOpening tool, k64f value)
Sets the nominal radius.
Represents a ratio measurement for a Surface Ellipse tool.
Represents a Z measurement for a Surface Hole Tool.
Represents a length measurement for a Surface Opening Tool.
Represents a surface feature for select surface tools.
kStatus GoSurfaceStud_EnableRefRegions(GoSurfaceStud tool, kBool enable)
Sets the enabled state of the reference regions.
GoSurfaceStudBaseY GoSurfaceStud_BaseYMeasurement(GoSurfaceStud tool)
Returns a GoSurfaceStud Base Y measurement object.
kStatus GoSurfaceHole_EnableRefRegions(GoSurfaceHole tool, kBool enable)
Sets the enabled state of reference regions.
kStatus GoSurfaceOpening_SetWidthTolerance(GoSurfaceOpening tool, k64f value)
Sets the width tolerance.
k64f GoSurfaceOpening_WidthTolerance(GoSurfaceOpening tool)
Gets the width tolerance.
k32u GoSurfaceTool_YAnchorOptionAt(GoSurfaceTool tool, kSize index)
Gets the Y-anchoring option at the given index.
GoSurfaceBoxLength GoSurfaceBox_LengthMeasurement(GoSurfaceBox tool)
Returns a GoSurfaceBox Length measurement object.
k64f GoSurfaceOpening_AngleTolerance(GoSurfaceOpening tool)
Gets the angle tolerance.
k64f GoSurfaceRegion2d_Width(GoSurfaceRegion2d region)
Gets the width.
Represents a surface volume tool.
Represents a Z measurement for a Surface Bounding Box tool.
kSize GoSurfaceStud_RefRegionCount(GoSurfaceStud tool)
Returns the reference region count.
Represents a base Z measurement for a Surface Stud Tool.
GoSurfacePlaneXAngle GoSurfacePlane_XAngleMeasurement(GoSurfacePlane tool)
Returns a GoSurfacePlane X Angle measurement object.
kBool GoSurfaceOpening_RegionEnabled(GoSurfaceOpening tool)
Gets the enabled state of the tool region.
GoRegion3d GoSurfaceVolume_Region(GoSurfaceVolume tool)
Returns the tool region object.
GoSurfaceBoxX GoSurfaceBox_XMeasurement(GoSurfaceBox tool)
Returns a GoSurfaceBox X measurement object.
Represents a surface position tool.
kStatus GoSurfaceOpening_EnableRegion(GoSurfaceOpening tool, kBool enable)
Sets the enabled state of the tool region.
kBool GoSurfaceOpening_AutoTiltEnabled(GoSurfaceOpening tool)
Gets the enabled state of auto-tilt.
kSize GoSurfaceTool_ZAnchorOptionCount(GoSurfaceTool tool)
Gets the Z-anchoring option list count.