Gocator API
 All Classes Files Functions Variables Typedefs Macros Modules Pages
GoProfileTools.h
Go to the documentation of this file.
1 /// @cond (Gocator_1x00 || Gocator_2x00)
2 
3 /**
4  * @file GoProfileTools.h
5  * @brief Declares all profile tools and their related classes.
6  *
7  * @internal
8  * Copyright (C) 2015 by LMI Technologies Inc.
9  * Licensed under the MIT License.
10  * Redistributed files must retain the above copyright notice.
11  */
12 #ifndef GO_PROFILE_TOOLS_H
13 #define GO_PROFILE_TOOLS_H
14 
15 #include <GoSdk/GoSdkDef.h>
16 #include <GoSdk/Tools/GoTool.h>
18 #include <GoSdk/GoUtils.h>
19 
20 kBeginHeader()
21 
22 /**
23  * @class GoProfileTool
24  * @extends GoTool
25  * @ingroup GoSdk-ProfileTools
26  * @brief Represents a base profile tool.
27  */
28 typedef GoTool GoProfileTool;
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 GoProfileTool
35  * @version Introduced in firmware 4.0.10.27
36  * @param tool GoProfileTool object.
37  * @param source GoDataSource object.
38  * @return Operation status.
39  * @see GoTools_ToolOptionCount, GoTools_ToolOptionAt
40  */
41 GoFx(kStatus) GoProfileTool_SetSource(GoProfileTool tool, GoDataSource source);
42 
43 /**
44  * Gets the data source.
45  *
46  * @public @memberof GoProfileTool
47  * @version Introduced in firmware 4.0.10.27
48  * @param tool GoProfileTool object.
49  * @return The current profile tool data source.
50  */
51 GoFx(GoDataSource) GoProfileTool_Source(GoProfileTool tool);
52 
53 /**
54  * Gets the data source option list count.
55  *
56  * @public @memberof GoProfileTool
57  * @version Introduced in firmware 4.0.10.27
58  * @param tool GoProfileTool object.
59  * @return The current profile tool data source option list count.
60  */
61 GoFx(kSize) GoProfileTool_SourceOptionCount(GoProfileTool tool);
62 
63 /**
64  * Gets the data source option at the given index.
65  *
66  * @public @memberof GoProfileTool
67  * @version Introduced in firmware 4.0.10.27
68  * @param tool GoProfileTool object.
69  * @param index The index of the option list to access.
70  * @return The profile tool data source option at the given index, or k32U_MAX if an invalid index is given.
71  */
72 GoFx(GoDataSource) GoProfileTool_SourceOptionAt(GoProfileTool tool, kSize index);
73 
74 /**
75  * Gets the X-anchoring option list count.
76  *
77  * @public @memberof GoProfileTool
78  * @version Introduced in firmware 4.0.10.27
79  * @param tool GoProfileTool object.
80  * @return The X-anchoring option list count.
81  */
82 GoFx(kSize) GoProfileTool_XAnchorOptionCount(GoProfileTool tool);
83 
84 /**
85  * Gets the X-anchoring option at the given index.
86  *
87  * @public @memberof GoProfileTool
88  * @version Introduced in firmware 4.0.10.27
89  * @param tool GoProfileTool object.
90  * @param index The index of the option list to access.
91  * @return The X-anchoring option at the given index or k32U_MAX if invalid.
92  */
93 GoFx(k32u) GoProfileTool_XAnchorOptionAt(GoProfileTool tool, kSize index);
94 
95 /**
96  * Gets the current X-anchoring source.
97  *
98  * @public @memberof GoProfileTool
99  * @version Introduced in firmware 4.0.10.27
100  * @param tool GoProfileTool object.
101  * @return The X-anchoring source or -1 if no source is currently set.
102  */
103 GoFx(k32s) GoProfileTool_XAnchor(GoProfileTool tool);
104 
105 /**
106  * Sets the X-anchoring source.
107  *
108  * @public @memberof GoProfileTool
109  * @version Introduced in firmware 4.0.10.27
110  * @param tool GoProfileTool object.
111  * @param id The measurement ID of a valid X-anchoring source.
112  * @return Operation status.
113  */
114 GoFx(kStatus) GoProfileTool_SetXAnchor(GoProfileTool tool, k32s id);
115 
116 /**
117  * Returns a boolean value representing whether or not a valid X-anchoring source has been set for X-anchoring.
118  *
119  * @public @memberof GoProfileTool
120  * @version Introduced in firmware 4.0.10.27
121  * @param tool GoProfileTool object.
122  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
123  */
124 GoFx(kBool) GoProfileTool_XAnchorEnabled(GoProfileTool tool);
125 
126 /**
127  * Gets the Z-anchoring option list count.
128  *
129  * @public @memberof GoProfileTool
130  * @version Introduced in firmware 4.0.10.27
131  * @param tool GoProfileTool object.
132  * @return The X-anchoring option list count.
133  */
134 GoFx(kSize) GoProfileTool_ZAnchorOptionCount(GoProfileTool tool);
135 
136 /**
137  * Gets the Z-anchoring option at the given index.
138  *
139  * @public @memberof GoProfileTool
140  * @version Introduced in firmware 4.0.10.27
141  * @param tool GoProfileTool object.
142  * @param index The index of the option list to access.
143  * @return The Z-anchoring option at the given index or k32U_MAX if invalid.
144  */
145 GoFx(k32u) GoProfileTool_ZAnchorOptionAt(GoProfileTool tool, kSize index);
146 
147 /**
148  * Gets the current Z-anchoring source.
149  *
150  * @public @memberof GoProfileTool
151  * @version Introduced in firmware 4.0.10.27
152  * @param tool GoProfileTool object.
153  * @return The Z-anchoring source or -1 if no source is currently set.
154  */
155 GoFx(k32s) GoProfileTool_ZAnchor(GoProfileTool tool);
156 
157 /**
158  * Sets the Z-anchoring source.
159  *
160  * @public @memberof GoProfileTool
161  * @version Introduced in firmware 4.0.10.27
162  * @param tool GoProfileTool object.
163  * @param id The measurement ID of a valid Z-anchoring source.
164  * @return Operation status.
165  */
166 GoFx(kStatus) GoProfileTool_SetZAnchor(GoProfileTool tool, k32s id);
167 
168 /**
169  * Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anchoring.
170  *
171  * @public @memberof GoProfileTool
172  * @version Introduced in firmware 4.0.10.27
173  * @param tool GoProfileTool object.
174  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
175  */
176 GoFx(kBool) GoProfileTool_ZAnchorEnabled(GoProfileTool tool);
177 
178 
179 /**
180  * @class GoProfileArea
181  * @extends GoProfileTool
182  * @ingroup GoSdk-ProfileTools
183  * @brief Represents a profile area tool.
184  */
185 typedef GoProfileTool GoProfileArea;
186 
187 /**
188  * Gets the profile area baseline.
189  *
190  * @public @memberof GoProfileArea
191  * @version Introduced in firmware 4.0.10.27
192  * @param tool GoProfileArea object.
193  * @return The profile area baseline.
194  */
195 GoFx(GoProfileBaseline) GoProfileArea_Baseline(GoProfileArea tool);
196 
197 /**
198  * Sets the profile area type.
199  *
200  * @public @memberof GoProfileArea
201  * @version Introduced in firmware 4.0.10.27
202  * @param tool GoProfileArea object.
203  * @param type The baseline type to set.
204  * @return Operation status.
205  */
206 GoFx(kStatus) GoProfileArea_SetBaseline(GoProfileArea tool, GoProfileBaseline type);
207 
208 /**
209  * Returns a boolean representing whether the profile area baseline is used.
210  *
211  * @public @memberof GoProfileArea
212  * @version Introduced in firmware 4.0.10.27
213  * @param tool GoProfileArea object.
214  * @return kTRUE if the baseline is used; kFALSE otherwise.
215  */
216 GoFx(kBool) GoProfileArea_BaselineUsed(GoProfileArea tool);
217 
218 /**
219  * Gets the reference profile line.
220  *
221  * @public @memberof GoProfileArea
222  * @version Introduced in firmware 4.0.10.27
223  * @param tool GoProfileArea object.
224  * @return The reference profile line.
225  */
226 GoFx(GoProfileLineRegion) GoProfileArea_LineRegion(GoProfileArea tool);
227 
228 /**
229  * Gets the profile area type.
230  *
231  * @public @memberof GoProfileArea
232  * @version Introduced in firmware 4.0.10.27
233  * @param tool GoProfileArea object.
234  * @return The profile area type.
235  */
236 GoFx(GoProfileAreaType) GoProfileArea_Type(GoProfileArea tool);
237 
238 /**
239  * Gets the boolean representing whether the area type is used.
240  *
241  * @public @memberof GoProfileArea
242  * @version Introduced in firmware 4.0.10.27
243  * @param tool GoProfileArea object.
244  * @return kTRUE if profile area type is used; kFALSE otherwise.
245  */
246 GoFx(kBool) GoProfileArea_TypeUsed(GoProfileArea tool);
247 
248 /**
249  * Sets the profile area type.
250  *
251  * @public @memberof GoProfileArea
252  * @version Introduced in firmware 4.0.10.27
253  * @param tool GoProfileArea object.
254  * @param type GoProfileAreaType object.
255  * @return Operation status.
256  */
257 GoFx(kStatus) GoProfileArea_SetType(GoProfileArea tool, GoProfileAreaType type);
258 
259 /**
260  * Gets the profile region.
261  *
262  * @public @memberof GoProfileArea
263  * @version Introduced in firmware 4.0.10.27
264  * @param tool GoProfileArea object.
265  * @return The profile region.
266  */
267 GoFx(GoProfileRegion) GoProfileArea_Region(GoProfileArea tool);
268 
269 /**
270  * Returns a GoProfileArea Area measurement object.
271  *
272  * @public @memberof GoProfileArea
273  * @version Introduced in firmware 4.0.10.27
274  * @param tool GoProfileArea object.
275  * @return A GoProfileAreaArea measurement.
276  */
277 GoFx(GoProfileAreaArea) GoProfileArea_AreaMeasurement(GoProfileArea tool);
278 
279 /**
280  * Returns a GoProfileArea Centroid X measurement object.
281  *
282  * @public @memberof GoProfileArea
283  * @version Introduced in firmware 4.0.10.27
284  * @param tool GoProfileArea object.
285  * @return A GoProfileAreaCentroidX measurement.
286  */
288 
289 /**
290  * Returns a GoProfileArea Centroid Z measurement object.
291  *
292  * @public @memberof GoProfileArea
293  * @version Introduced in firmware 4.0.10.27
294  * @param tool GoProfileArea object.
295  * @return A GoProfileAreaCentroidZ measurement.
296  */
298 
299 
300 /**
301  * @class GoProfileBox
302  * @extends GoProfileTool
303  * @ingroup GoSdk-ProfileTools
304  * @brief Represents a profile bounding box tool.
305  */
306 typedef GoProfileTool GoProfileBox;
307 
308 /**
309  * Returns the enabled state of the tool region.
310  *
311  * @public @memberof GoProfileBox
312  * @version Introduced in firmware 4.2.4.7
313  * @param tool GoProfileBox object.
314  * @return kTRUE if enabled and kFALSE if disabled.
315  */
316 GoFx(kBool) GoProfileBox_RegionEnabled(GoProfileBox tool);
317 
318 /**
319  * Enables or disables the tool region.
320  *
321  * @public @memberof GoProfileBox
322  * @version Introduced in firmware 4.2.4.7
323  * @param tool GoProfileBox object.
324  * @param enable kTRUE to enable the tool region, kFALSE to disable it.
325  * @return Operation status.
326  */
327 GoFx(kStatus) GoProfileBox_EnableRegion(GoProfileBox tool, kBool enable);
328 
329 /**
330  * Gets the profile bounding box region.
331  *
332  * @public @memberof GoProfileBox
333  * @version Introduced in firmware 4.2.4.7
334  * @param tool GoProfileBox object.
335  * @return A GoRegion3d object.
336  */
337 GoFx(GoProfileRegion) GoProfileBox_Region(GoProfileBox tool);
338 
339 /**
340  * Returns a GoProfileBox X measurement object.
341  *
342  * @public @memberof GoProfileBox
343  * @version Introduced in firmware 4.2.4.7
344  * @param tool GoProfileBox object.
345  * @return A GoProfileBox X measurement.
346  */
347 GoFx(GoProfileBoxX) GoProfileBox_XMeasurement(GoProfileBox tool);
348 
349 /**
350  * Returns a GoProfileBox Z measurement object.
351  *
352  * @public @memberof GoProfileBox
353  * @version Introduced in firmware 4.2.4.7
354  * @param tool GoProfileBox object.
355  * @return A GoProfileBox Z measurement.
356  */
357 GoFx(GoProfileBoxZ) GoProfileBox_ZMeasurement(GoProfileBox tool);
358 
359 /**
360  * Returns a GoProfileBox Width measurement object.
361  *
362  * @public @memberof GoProfileBox
363  * @version Introduced in firmware 4.2.4.7
364  * @param tool GoProfileBox object.
365  * @return A GoProfileBox Width measurement.
366  */
367 GoFx(GoProfileBoxWidth) GoProfileBox_WidthMeasurement(GoProfileBox tool);
368 
369 /**
370  * Returns a GoProfileBox Height measurement object.
371  *
372  * @public @memberof GoProfileBox
373  * @version Introduced in firmware 4.2.4.7
374  * @param tool GoProfileBox object.
375  * @return A GoProfileBox Height measurement.
376  */
377 GoFx(GoProfileBoxHeight) GoProfileBox_HeightMeasurement(GoProfileBox tool);
378 
379 /**
380  * Returns a GoProfileBox global X measurement object.
381  *
382  * @public @memberof GoProfileBox
383  * @version Introduced in firmware 4.2.4.7
384  * @param tool GoProfileBox object.
385  * @return A GoProfileBox global X measurement.
386  */
388 
389 
390 
391 /**
392  * @class GoProfileBridgeValue
393  * @extends GoProfileTool
394  * @ingroup GoSdk-ProfileTools
395  * @brief Represents a profile bridge value tool.
396 */
397 typedef GoProfileTool GoProfileBridgeValue;
398 
399 /**
400  * Returns the enabled state of the tool region.
401  *
402  * @public @memberof GoProfileBridgeValue
403  * @version Introduced in firmware 4.3.3.124
404  * @param tool GoProfileBridgeValue object.
405  * @return kTRUE if enabled and kFALSE if disabled.
406  */
407 GoFx(kBool) GoProfileBridgeValue_RegionEnabled(GoProfileBridgeValue tool);
408 
409 /**
410  * Enables or disables the tool region.
411  *
412  * @public @memberof GoProfileBridgeValue
413  * @version Introduced in firmware 4.3.3.124
414  * @param tool GoProfileBridgeValue object.
415  * @param enable kTRUE to enable the tool region, kFALSE to disable it.
416  * @return Operation status.
417  */
418 GoFx(kStatus) GoProfileBridgeValue_EnableRegion(GoProfileBridgeValue tool, kBool enable);
419 
420 /**
421  * Gets the bridge value profile region.
422  *
423  * @public @memberof GoProfileBridgeValue
424  * @version Introduced in firmware 4.3.3.124
425  * @param tool GoProfileArea object.
426  * @return The profile region.
427  */
428 GoFx(GoProfileRegion) GoProfileBridgeValue_Region(GoProfileBridgeValue tool);
429 
430 
431 /**
432  * Returns the enabled state of normalization.
433  *
434  * @public @memberof GoProfileBridgeValue
435  * @version Introduced in firmware 4.3.3.124
436  * @param tool GoProfileBridgeValue object.
437  * @return kTRUE if enabled and kFALSE if disabled.
438  */
439 GoFx(kBool) GoProfileBridgeValue_NormalizeEnabled(GoProfileBridgeValue tool);
440 
441 /**
442  * Enables or disables normalization.
443  *
444  * @public @memberof GoProfileBridgeValue
445  * @version Introduced in firmware 4.3.3.124
446  * @param tool GoProfileBridgeValue object.
447  * @param enable kTRUE to enable the tool region, kFALSE to disable it.
448  * @return Operation status.
449  */
450 GoFx(kStatus) GoProfileBridgeValue_EnableNormalize(GoProfileBridgeValue tool, kBool enable);
451 
452 /**
453  * Sets the profile X-Line tool window size percentage.
454  *
455  * @public @memberof GoProfileBridgeValue
456  * @version Introduced in firmware 4.3.3.124
457  * @param tool GoProfileBridgeValue object.
458  * @param value The value to set.
459  * @return Operation status.
460  */
461 GoFx(kStatus) GoProfileBridgeValue_SetWindowSize(GoProfileBridgeValue tool, k64f value);
462 
463 /**
464  * Gets the profile X-Line tool window size percentage.
465  *
466  * @public @memberof GoProfileBridgeValue
467  * @version Introduced in firmware 4.3.3.124
468  * @param tool GoProfileBridgeValue object.
469  * @return The window size.
470  */
471 GoFx(k64f) GoProfileBridgeValue_WindowSize(GoProfileBridgeValue tool);
472 
473 /**
474  * Sets the profile X-Line tool window skip percentage.
475  *
476  * @public @memberof GoProfileBridgeValue
477  * @version Introduced in firmware 4.3.3.124
478  * @param tool GoProfileBridgeValue object.
479  * @param value The value to set.
480  * @return Operation status.
481  */
482 GoFx(kStatus) GoProfileBridgeValue_SetWindowSkip(GoProfileBridgeValue tool, k64f value);
483 
484 /**
485  * Gets the profile X-Line tool window skip percentage.
486  *
487  * @public @memberof GoProfileBridgeValue
488  * @version Introduced in firmware 4.3.3.124
489  * @param tool GoProfileBridgeValue object.
490  * @return The window size.
491  */
492 GoFx(k64f) GoProfileBridgeValue_WindowSkip(GoProfileBridgeValue tool);
493 
494 /**
495  * Sets the profile X-Line tool max invalid percentage.
496  *
497  * @public @memberof GoProfileBridgeValue
498  * @version Introduced in firmware 4.3.3.124
499  * @param tool GoProfileBridgeValue object.
500  * @param value The value to set.
501  * @return Operation status.
502  */
503 GoFx(kStatus) GoProfileBridgeValue_SetMaxInvalid(GoProfileBridgeValue tool, k64f value);
504 
505 /**
506  * Gets the profile X-Line tool max invalid percentage.
507  *
508  * @public @memberof GoProfileBridgeValue
509  * @version Introduced in firmware 4.3.3.124
510  * @param tool GoProfileBridgeValue object.
511  * @return The window size.
512  */
513 GoFx(k64f) GoProfileBridgeValue_MaxInvalid(GoProfileBridgeValue tool);
514 
515 /**
516  * Sets the profile X-Line tool max differential.
517  *
518  * @public @memberof GoProfileBridgeValue
519  * @version Introduced in firmware 4.3.3.124
520  * @param tool GoProfileBridgeValue object.
521  * @param value The value to set.
522  * @return Operation status.
523  */
524 GoFx(kStatus) GoProfileBridgeValue_SetMaxDifferential(GoProfileBridgeValue tool, k64f value);
525 
526 /**
527  * Gets the profile X-Line tool max differential.
528  *
529  * @public @memberof GoProfileBridgeValue
530  * @version Introduced in firmware 4.3.3.124
531  * @param tool GoProfileBridgeValue object.
532  * @return The max differential.
533  */
534 GoFx(k64f) GoProfileBridgeValue_MaxDifferential(GoProfileBridgeValue tool);
535 
536 /**
537  * Gets the profile X-Line tool max differential maximum value limit.
538  *
539  * @public @memberof GoProfileBridgeValue
540  * @version Introduced in firmware 4.3.3.124
541  * @param tool GoProfileBridgeValue object.
542  * @return The max differential maximum value limit.
543  */
544 GoFx(k64f) GoProfileBridgeValue_MaxDifferentialLimitMax(GoProfileBridgeValue tool);
545 
546 /**
547  * Gets the profile X-Line tool max differential minimum value limit.
548  * NOTE: A value of 0 will result in an automated differential determination.
549  *
550  * @public @memberof GoProfileBridgeValue
551  * @version Introduced in firmware 4.3.3.124
552  * @param tool GoProfileBridgeValue object.
553  * @return The max differential minimum value limit.
554  */
555 GoFx(k64f) GoProfileBridgeValue_MaxDifferentialLimitMin(GoProfileBridgeValue tool);
556 
557 /**
558  * Returns a GoProfileBridgeValue bridge value measurement object.
559  *
560  * @public @memberof GoProfileBridgeValue
561  * @version Introduced in firmware 4.3.3.124
562  * @param tool GoProfileBridgeValue object.
563  * @return A GoProfileBridgeValue bridge value measurement.
564  */
566 
567 /**
568  * Returns a GoProfileBridgeValue angle measurement object.
569  *
570  * @public @memberof GoProfileBridgeValue
571  * @version Introduced in firmware 4.3.3.124
572  * @param tool GoProfileBridgeValue object.
573  * @return A GoProfileBridgeValue angle measurement.
574  */
576 
577 
578 /**
579  * @class GoProfileCircle
580  * @extends GoProfileTool
581  * @ingroup GoSdk-ProfileTools
582  * @brief Represents a profile circle tool.
583  */
584 typedef GoProfileTool GoProfileCircle;
585 
586 /**
587  * Gets the profile region.
588  *
589  * @public @memberof GoProfileCircle
590  * @version Introduced in firmware 4.0.10.27
591  * @param tool GoProfileCircle object.
592  * @return The profile region.
593  */
594 GoFx(GoProfileRegion) GoProfileCircle_Region(GoProfileCircle tool);
595 
596 /**
597  * Returns a GoProfileCircle X measurement object.
598  *
599  * @public @memberof GoProfileCircle
600  * @version Introduced in firmware 4.0.10.27
601  * @param tool GoProfileCircle object.
602  * @return A GoProfileCircleX measurement.
603  */
604 GoFx(GoProfileCircleX) GoProfileCircle_XMeasurement(GoProfileCircle tool);
605 
606 /**
607  * Returns a GoProfileCircle Z measurement object.
608  *
609  * @public @memberof GoProfileCircle
610  * @version Introduced in firmware 4.0.10.27
611  * @param tool GoProfileCircle object.
612  * @return A GoProfileCircleZ measurement.
613  */
614 GoFx(GoProfileCircleZ) GoProfileCircle_ZMeasurement(GoProfileCircle tool);
615 
616 /**
617  * Returns a GoProfileCircle Radius measurement object.
618  *
619  * @public @memberof GoProfileCircle
620  * @version Introduced in firmware 4.0.10.27
621  * @param tool GoProfileCircle object.
622  * @return A GoProfileCircle Radius measurement.
623  */
624 GoFx(GoProfileCircleRadius) GoProfileCircle_RadiusMeasurement(GoProfileCircle tool);
625 
626 
627 /**
628  * @class GoProfileDim
629  * @extends GoProfileTool
630  * @ingroup GoSdk-ProfileTools
631  * @brief Represents a profile dimension tool.
632  */
633 typedef GoProfileTool GoProfileDim;
634 
635 
636 /**
637  * Gets the reference profile feature.
638  *
639  * @public @memberof GoProfileDim
640  * @version Introduced in firmware 4.0.10.27
641  * @param tool GoProfileDim object.
642  * @return The reference profile feature object.
643  */
644 GoFx(GoProfileFeature) GoProfileDim_RefFeature(GoProfileDim tool);
645 
646 /**
647  * Gets the non-reference profile feature.
648  *
649  * @public @memberof GoProfileDim
650  * @version Introduced in firmware 4.0.10.27
651  * @param tool GoProfileDim object.
652  * @return The profile feature object.
653  */
654 GoFx(GoProfileFeature) GoProfileDim_Feature(GoProfileDim tool);
655 
656 /**
657  * Returns a GoProfileDim Width measurement object.
658  *
659  * @public @memberof GoProfileDim
660  * @version Introduced in firmware 4.0.10.27
661  * @param tool GoProfileDim object.
662  * @return A GoProfileDimWidth measurement.
663  */
664 GoFx(GoProfileDimWidth) GoProfileDim_WidthMeasurement(GoProfileDim tool);
665 
666 /**
667  * Returns a GoProfileDim Height measurement object.
668  *
669  * @public @memberof GoProfileDim
670  * @version Introduced in firmware 4.0.10.27
671  * @param tool GoProfileDim object.
672  * @return A GoProfileDimHeight measurement.
673  */
674 GoFx(GoProfileDimHeight) GoProfileDim_HeightMeasurement(GoProfileDim tool);
675 
676 /**
677  * Returns a GoProfileDim Distance measurement object.
678  *
679  * @public @memberof GoProfileDim
680  * @version Introduced in firmware 4.0.10.27
681  * @param tool GoProfileDim object.
682  * @return A GoProfileDimDistance measurement.
683  */
685 
686 /**
687  * Returns a GoProfileDim Center X measurement object.
688  *
689  * @public @memberof GoProfileDim
690  * @version Introduced in firmware 4.0.10.27
691  * @param tool GoProfileDim object.
692  * @return A GoProfileDimCenterX measurement.
693  */
695 
696 /**
697  * Returns a GoProfileDim Center Z measurement object.
698  *
699  * @public @memberof GoProfileDim
700  * @version Introduced in firmware 4.0.10.27
701  * @param tool GoProfileDim object.
702  * @return A GoProfileDimCenterZ measurement.
703  */
705 
706 
707 /**
708  * @class GoProfileGroove
709  * @extends GoProfileTool
710  * @ingroup GoSdk-ProfileTools
711  * @brief Represents a profile groove tool.
712  */
713 typedef GoProfileTool GoProfileGroove;
714 
715 /**
716  * Adds an additional profile groove tool measurement.
717  *
718  * @public @memberof GoProfileGroove
719  * @version Introduced in firmware 4.0.10.27
720  * @param tool GoProfileGroove object.
721  * @param type The measurement type to add. It must be a valid profile groove tool type.
722  * @param measurement A reference to the new GoMeasurement handle. Can be kNULL if you do not wish to do anything immediate with the new measurement.
723  * @return Operation status.
724  */
725 GoFx(kStatus) GoProfileGroove_AddMeasurement(GoProfileGroove tool, GoMeasurementType type, GoMeasurement* measurement);
726 
727 /**
728  * Removes a measurement from the tool at the given index.
729  *
730  * @public @memberof GoProfileGroove
731  * @version Introduced in firmware 4.0.10.27
732  * @param tool GoProfileGroove object.
733  * @param index The index with which to remove a measurement.
734  * @return Operation status.
735  */
736 GoFx(kStatus) GoProfileGroove_RemoveMeasurement(GoProfileGroove tool, kSize index);
737 
738 /**
739  * Returns the measurement count for the given tool.
740  *
741  * @public @memberof GoProfileGroove
742  * @version Introduced in firmware 4.0.10.27
743  * @param tool GoProfileGroove object.
744  * @return Tool measurement count.
745  */
746 GoFx(kSize) GoProfileGroove_MeasurementCount(GoProfileGroove tool);
747 
748 /**
749  * Returns a measurement object at the given index.
750  *
751  * @public @memberof GoProfileGroove
752  * @version Introduced in firmware 4.0.10.27
753  * @param tool GoProfileGroove object.
754  * @param index The index with which to return a measurement object.
755  * @return A profile groove tool measurement or kNULL if the index is invalid.
756  */
757 GoFx(GoMeasurement) GoProfileGroove_MeasurementAt(GoProfileGroove tool, kSize index);
758 
759 /**
760  * Gets the current groove determination shape.
761  *
762  * @public @memberof GoProfileGroove
763  * @version Introduced in firmware 4.0.10.27
764  * @param tool GoProfileGroove object.
765  * @return The profile groove shape.
766  */
767 GoFx(GoProfileGrooveShape) GoProfileGroove_Shape(GoProfileGroove tool);
768 
769 /**
770  * Sets the groove determination shape.
771  *
772  * @public @memberof GoProfileGroove
773  * @version Introduced in firmware 4.0.10.27
774  * @param tool GoProfileGroove object.
775  * @param shape The intended profile groove shape.
776  * @return Operation status.
777  */
778 GoFx(kStatus) GoProfileGroove_SetShape(GoProfileGroove tool, GoProfileGrooveShape shape);
779 
780 /**
781  * Gets the groove depth minimum.
782  *
783  * @public @memberof GoProfileGroove
784  * @version Introduced in firmware 4.0.10.27
785  * @param tool GoProfileGroove object.
786  * @return The groove depth minimum value.
787  */
788 GoFx(k64f) GoProfileGroove_MinDepth(GoProfileGroove tool);
789 
790 /**
791  * Sets the groove depth minimum.
792  *
793  * @public @memberof GoProfileGroove
794  * @version Introduced in firmware 4.0.10.27
795  * @param tool GoProfileGroove object.
796  * @param depth The minimum groove depth value to set.
797  * @return Operation status.
798  */
799 GoFx(kStatus) GoProfileGroove_SetMinDepth(GoProfileGroove tool, k64f depth);
800 
801 /**
802  * Gets the groove width maximum.
803  *
804  * @public @memberof GoProfileGroove
805  * @version Introduced in firmware 4.0.10.27
806  * @param tool GoProfileGroove object.
807  * @return The groove width maximum value.
808  */
809 GoFx(k64f) GoProfileGroove_MaxWidth(GoProfileGroove tool);
810 
811 /**
812  * Sets the groove width maximum.
813  *
814  * @public @memberof GoProfileGroove
815  * @version Introduced in firmware 4.0.10.27
816  * @param tool GoProfileGroove object.
817  * @param width The maximum groove width value to set.
818  * @return Operation status.
819  */
820 GoFx(kStatus) GoProfileGroove_SetMaxWidth(GoProfileGroove tool, k64f width);
821 
822 /**
823  * Gets the groove width minimum value.
824  *
825  * @public @memberof GoProfileGroove
826  * @version Introduced in firmware 4.0.10.27
827  * @param tool GoProfileGroove object.
828  * @return The groove width minimum.
829  */
830 GoFx(k64f) GoProfileGroove_MinWidth(GoProfileGroove tool);
831 
832 /**
833  * Sets the groove width minimum.
834  *
835  * @public @memberof GoProfileGroove
836  * @version Introduced in firmware 4.0.10.27
837  * @param tool GoProfileGroove object.
838  * @param width The minimum groove width value to set.
839  * @return Operation status.
840  */
841 GoFx(kStatus) GoProfileGroove_SetMinWidth(GoProfileGroove tool, k64f width);
842 
843 /**
844  * Gets the profile region.
845  *
846  * @public @memberof GoProfileGroove
847  * @version Introduced in firmware 4.0.10.27
848  * @param tool GoProfileGroove object.
849  * @return The profile region.
850  */
851 GoFx(GoProfileRegion) GoProfileGroove_Region(GoProfileGroove tool);
852 
853 
854 /**
855  * @class GoProfileIntersect
856  * @extends GoProfileTool
857  * @ingroup GoSdk-ProfileTools
858  * @brief Represents a profile intersect tool.
859  */
860 typedef GoProfileTool GoProfileIntersect;
861 
862 
863 /**
864  * Gets the reference profile line type.
865  *
866  * @public @memberof GoProfileIntersect
867  * @version Introduced in firmware 4.0.10.27
868  * @param tool GoProfileIntersect object.
869  * @return The profile line type.
870  */
871 GoFx(GoProfileBaseline) GoProfileIntersect_RefLineType(GoProfileIntersect tool);
872 
873 /**
874  * Sets the reference line type.
875  *
876  * @public @memberof GoProfileIntersect
877  * @version Introduced in firmware 4.0.10.27
878  * @param tool GoProfileIntersect object.
879  * @param type The line type to set.
880  * @return
881  */
882 GoFx(kStatus) GoProfileIntersect_SetRefLineType(GoProfileIntersect tool, GoProfileBaseline type);
883 
884 /**
885  * Gets the reference profile line.
886  *
887  * @public @memberof GoProfileIntersect
888  * @version Introduced in firmware 4.0.10.27
889  * @param tool GoProfileIntersect object.
890  * @return The reference profile line.
891  */
892 GoFx(GoProfileLineRegion) GoProfileIntersect_RefLine(GoProfileIntersect tool);
893 
894 /**
895  * Gets the non-reference profile line.
896  *
897  * @public @memberof GoProfileIntersect
898  * @version Introduced in firmware 4.0.10.27
899  * @param tool GoProfileIntersect object.
900  * @return The non-reference profile line.
901  */
902 GoFx(GoProfileLineRegion) GoProfileIntersect_Line(GoProfileIntersect tool);
903 
904 /**
905  * Returns a GoProfileIntersect X measurement object.
906  *
907  * @public @memberof GoProfileIntersect
908  * @version Introduced in firmware 4.0.10.27
909  * @param tool GoProfileIntersect object.
910  * @return A GoProfileIntersect X measurement.
911  */
912 GoFx(GoProfileIntersectX) GoProfileIntersect_XMeasurement(GoProfileIntersect tool);
913 
914 /**
915  * Returns a GoProfileIntersect Z measurement object.
916  *
917  * @public @memberof GoProfileIntersect
918  * @version Introduced in firmware 4.0.10.27
919  * @param tool GoProfileIntersect object.
920  * @return A GoProfileIntersect Z measurement.
921  */
922 GoFx(GoProfileIntersectZ) GoProfileIntersect_ZMeasurement(GoProfileIntersect tool);
923 
924 /**
925  * Returns a GoProfileIntersect Angle measurement object.
926  *
927  * @public @memberof GoProfileIntersect
928  * @version Introduced in firmware 4.0.10.27
929  * @param tool GoProfileIntersect object.
930  * @return A GoProfileIntersect Angle measurement.
931  */
932 GoFx(GoProfileIntersectAngle) GoProfileIntersect_AngleMeasurement(GoProfileIntersect tool);
933 
934 
935 /**
936  * @class GoProfileLine
937  * @extends GoProfileTool
938  * @ingroup GoSdk-ProfileTools
939  * @brief Represents a profile line tool.
940  */
941 typedef GoProfileTool GoProfileLine;
942 
943 /**
944  * Gets the profile region.
945  *
946  * @public @memberof GoProfileDev
947  * @version Introduced in firmware 4.0.10.27
948  * @param tool GoProfileDev object.
949  * @return The profile region.
950  */
951 GoFx(GoProfileRegion) GoProfileLine_Region(GoProfileLine tool);
952 
953 /**
954  * Returns a GoProfileLine Standard Deviation measurement object.
955  *
956  * @public @memberof GoProfileLine
957  * @version Introduced in firmware 4.0.10.27
958  * @param tool GoProfileLine object.
959  * @return A GoProfileLine Standard Deviation measurement.
960  */
961 GoFx(GoProfileLineStdDev) GoProfileLine_StdDevMeasurement(GoProfileLine tool);
962 
963 /**
964  * Returns a GoProfileLine Maximum Error measurement object.
965  *
966  * @public @memberof GoProfileLine
967  * @version Introduced in firmware 4.0.10.27
968  * @param tool GoProfileLine object.
969  * @return A GoProfileLine Maximum Error measurement.
970  */
972 
973 /**
974  * Returns a GoProfileLine Minimum Error measurement object.
975  *
976  * @public @memberof GoProfileLine
977  * @version Introduced in firmware 4.0.10.27
978  * @param tool GoProfileLine object.
979  * @return A GoProfileLine Minimum Error measurement.
980  */
982 
983 /**
984  * Returns a GoProfileLine Percentile measurement object.
985  *
986  * @public @memberof GoProfileLine
987  * @version Introduced in firmware 4.0.10.27
988  * @param tool GoProfileLine object.
989  * @return A GoProfileLine Percentile measurement.
990  */
992 
993 
994 /**
995  * @class GoProfilePanel
996  * @extends GoProfileTool
997  * @ingroup GoSdk-ProfileTools
998  * @brief Represents a profile panel tool.
999  */
1000 typedef GoProfileTool GoProfilePanel;
1001 
1002 /**
1003  * Gets the maximum gap width.
1004  *
1005  * @public @memberof GoProfilePanel
1006  * @version Introduced in firmware 4.0.10.27
1007  * @param tool GoProfilePanel object.
1008  * @return The maximum gap width.
1009  */
1010 GoFx(k64f) GoProfilePanel_MaxGapWidth(GoProfilePanel tool);
1011 
1012 /**
1013  * Sets the maximum gap width.
1014  *
1015  * @public @memberof GoProfilePanel
1016  * @version Introduced in firmware 4.0.10.27
1017  * @param tool GoProfilePanel object.
1018  * @param width The maximum gap width value to set.
1019  * @return Operation status.
1020  */
1021 GoFx(kStatus) GoProfilePanel_SetMaxGapWidth(GoProfilePanel tool, k64f width);
1022 
1023 /**
1024  * Gets the reference edge side.
1025  *
1026  * @public @memberof GoProfilePanel
1027  * @version Introduced in firmware 4.0.10.27
1028  * @param tool GoProfilePanel object.
1029  * @return The reference edge side.
1030  */
1031 GoFx(GoProfilePanelSide) GoProfilePanel_RefEdgeSide(GoProfilePanel tool);
1032 
1033 /**
1034  * Sets the reference edge side.
1035  *
1036  * @public @memberof GoProfilePanel
1037  * @version Introduced in firmware 4.0.10.27
1038  * @param tool GoProfilePanel object.
1039  * @param side The reference edge side.
1040  * @return Operation status.
1041  */
1042 GoFx(kStatus) GoProfilePanel_SetRefEdgeSide(GoProfilePanel tool, GoProfilePanelSide side);
1043 
1044 /**
1045  * Gets the left profile edge.
1046  *
1047  * @public @memberof GoProfilePanel
1048  * @version Introduced in firmware 4.0.10.27
1049  * @param tool GoProfilePanel object.
1050  * @return The left profile edge.
1051  */
1052 GoFx(GoProfileEdge) GoProfilePanel_LeftEdge(GoProfilePanel tool);
1053 
1054 /**
1055  * Gets the right profile edge.
1056  *
1057  * @public @memberof GoProfilePanel
1058  * @version Introduced in firmware 4.0.10.27
1059  * @param tool GoProfilePanel object.
1060  * @return The right profile edge.
1061  */
1062 GoFx(GoProfileEdge) GoProfilePanel_RightEdge(GoProfilePanel tool);
1063 
1064 /**
1065  * Returns a GoProfilePanel Gap measurement object.
1066  *
1067  * @public @memberof GoProfilePanel
1068  * @version Introduced in firmware 4.0.10.27
1069  * @param tool GoProfilePanel object.
1070  * @return A GoProfilePanel Gap measurement.
1071  */
1072 GoFx(GoProfilePanelGap) GoProfilePanel_GapMeasurement(GoProfilePanel tool);
1073 
1074 /**
1075  * Returns a GoProfilePanel Flush measurement object.
1076  *
1077  * @public @memberof GoProfilePanel
1078  * @version Introduced in firmware 4.0.10.27
1079  * @param tool GoProfilePanel object.
1080  * @return A GoProfilePanel Flush measurement.
1081  */
1082 GoFx(GoProfilePanelFlush) GoProfilePanel_FlushMeasurement(GoProfilePanel tool);
1083 
1084 
1085 /**
1086  * @class GoProfilePosition
1087  * @extends GoProfileTool
1088  * @ingroup GoSdk-ProfileTools
1089  * @brief Represents a profile position tool.
1090  */
1091 typedef GoProfileTool GoProfilePosition;
1092 
1093 /**
1094  * Gets the profile feature.
1095  *
1096  * @public @memberof GoProfilePosition
1097  * @version Introduced in firmware 4.0.10.27
1098  * @param tool GoProfilePos object.
1099  * @return The profile feature.
1100  */
1101 GoFx(GoProfileFeature) GoProfilePosition_Feature(GoProfilePosition tool);
1102 
1103 /**
1104  * Returns a GoProfilePosition X measurement object.
1105  *
1106  * @public @memberof GoProfilePosition
1107  * @version Introduced in firmware 4.0.10.27
1108  * @param tool GoProfilePosition object.
1109  * @return A GoProfilePosition X measurement.
1110  */
1111 GoFx(GoProfilePositionX) GoProfilePosition_XMeasurement(GoProfilePosition tool);
1112 
1113 /**
1114  * Returns a GoProfilePosition Z measurement object.
1115  *
1116  * @public @memberof GoProfilePosition
1117  * @version Introduced in firmware 4.0.10.27
1118  * @param tool GoProfilePosition object.
1119  * @return A GoProfilePosition Z measurement.
1120  */
1121 GoFx(GoProfilePositionZ) GoProfilePosition_ZMeasurement(GoProfilePosition tool);
1122 
1123 
1124 /**
1125  * @class GoProfileStrip
1126  * @extends GoProfileTool
1127  * @ingroup GoSdk-ProfileTools
1128  * @brief Represents a profile strip tool.
1129  */
1130 typedef GoProfileTool GoProfileStrip;
1131 
1132 /**
1133  * Sets the strip base type.
1134  *
1135  * @public @memberof GoProfileStrip
1136  * @version Introduced in firmware 4.0.10.27
1137  * @param tool GoProfileStrip object.
1138  * @param type The strip base type.
1139  * @return Operation status.
1140  */
1141 GoFx(kStatus) GoProfileStrip_SetBaseType(GoProfileStrip tool, GoProfileStripBaseType type);
1142 
1143 /**
1144  * Gets the strip base type.
1145  *
1146  * @public @memberof GoProfileStrip
1147  * @version Introduced in firmware 4.0.10.27
1148  * @param tool GoProfileStrip object.
1149  * @return The strip base type.
1150  */
1151 GoFx(GoProfileStripBaseType) GoProfileStrip_BaseType(GoProfileStrip tool);
1152 
1153 /**
1154  * Gets the left edge value.
1155  *
1156  * @public @memberof GoProfileStrip
1157  * @version Introduced in firmware 4.0.10.27
1158  * @param tool GoProfileStrip object.
1159  * @return The left edge value.
1160  */
1161 GoFx(GoProfileStripEdgeType) GoProfileStrip_LeftEdge(GoProfileStrip tool);
1162 
1163 /**
1164  * Sets the left edge.
1165  *
1166  * @public @memberof GoProfileStrip
1167  * @version Introduced in firmware 4.0.10.27
1168  * @param tool GoProfileStrip object.
1169  * @param leftEdge Left edge value.
1170  * @return Operation status.
1171  */
1172 GoFx(kStatus) GoProfileStrip_SetLeftEdge(GoProfileStrip tool, GoProfileStripEdgeType leftEdge);
1173 
1174 /**
1175  * Gets the right edge value.
1176  *
1177  * @public @memberof GoProfileStrip
1178  * @version Introduced in firmware 4.0.10.27
1179  * @param tool GoProfileStrip object.
1180  * @return The right edge value.
1181  */
1182 GoFx(GoProfileStripEdgeType) GoProfileStrip_RightEdge(GoProfileStrip tool);
1183 
1184 /**
1185  * Sets the right edge.
1186  *
1187  * @public @memberof GoProfileStrip
1188  * @version Introduced in firmware 4.0.10.27
1189  * @param tool GoProfileStrip object.
1190  * @param rightEdge Right edge value.
1191  * @return Operation status.
1192  */
1193 GoFx(kStatus) GoProfileStrip_SetRightEdge(GoProfileStrip tool, GoProfileStripEdgeType rightEdge);
1194 
1195 /**
1196  * Gets the tilt enabled state.
1197  *
1198  * @public @memberof GoProfileStrip
1199  * @version Introduced in firmware 4.0.10.27
1200  * @param tool GoProfileStrip object.
1201  * @return kTRUE if tilt is enabled, kFALSE otherwise.
1202  */
1203 GoFx(kBool) GoProfileStrip_TiltEnabled(GoProfileStrip tool);
1204 
1205 /**
1206  * Enables or disables tilt.
1207  *
1208  * @public @memberof GoProfileStrip
1209  * @version Introduced in firmware 4.0.10.27
1210  * @param tool GoProfileStrip object.
1211  * @param enable kTRUE to enable tilt, kFALSE to disable it.
1212  * @return Operation status.
1213  */
1214 GoFx(kStatus) GoProfileStrip_EnableTilt(GoProfileStrip tool, kBool enable);
1215 
1216 /**
1217  * Gets the transition width.
1218  *
1219  * @public @memberof GoProfileStrip
1220  * @version Introduced in firmware 4.0.10.27
1221  * @param tool GoProfileStrip object.
1222  * @return The transition width (in mm).
1223  */
1224 GoFx(k64f) GoProfileStrip_TransitionWidth(GoProfileStrip tool);
1225 
1226 /**
1227  * Sets the transition width.
1228  *
1229  * @public @memberof GoProfileStrip
1230  * @version Introduced in firmware 4.0.10.27
1231  * @param tool GoProfileStrip object.
1232  * @param value The transition width (in mm).
1233  * @return Operation status.
1234  */
1235 GoFx(kStatus) GoProfileStrip_SetTransitionWidth(GoProfileStrip tool, k64f value);
1236 
1237 /**
1238  * Gets the minimum width.
1239  *
1240  * @public @memberof GoProfileStrip
1241  * @version Introduced in firmware 4.0.10.27
1242  * @param tool GoProfileStrip object.
1243  * @return The minimum width (in mm).
1244  */
1245 GoFx(k64f) GoProfileStrip_MinWidth(GoProfileStrip tool);
1246 
1247 /**
1248  * Sets the minimum width.
1249  *
1250  * @public @memberof GoProfileStrip
1251  * @version Introduced in firmware 4.0.10.27
1252  * @param tool GoProfileStrip object.
1253  * @param value The minimum width (in mm).
1254  * @return Operation status.
1255  */
1256 GoFx(kStatus) GoProfileStrip_SetMinWidth(GoProfileStrip tool, k64f value);
1257 
1258 /**
1259  * Gets the minimum height.
1260  *
1261  * @public @memberof GoProfileStrip
1262  * @version Introduced in firmware 4.0.10.27
1263  * @param tool GoProfileStrip object.
1264  * @return The minimum height (in mm).
1265  */
1266 GoFx(k64f) GoProfileStrip_MinHeight(GoProfileStrip tool);
1267 
1268 /**
1269  * Sets the transition height.
1270  *
1271  * @public @memberof GoProfileStrip
1272  * @version Introduced in firmware 4.0.10.27
1273  * @param tool GoProfileStrip object.
1274  * @param value The minimum height (in mm).
1275  * @return Operation status.
1276  */
1277 GoFx(kStatus) GoProfileStrip_SetMinHeight(GoProfileStrip tool, k64f value);
1278 
1279 /**
1280  * Gets the maximum void width.
1281  *
1282  * @public @memberof GoProfileStrip
1283  * @version Introduced in firmware 4.0.10.27
1284  * @param tool GoProfileStrip object.
1285  * @return The maximum void width (in mm).
1286  */
1287 GoFx(k64f) GoProfileStrip_MaxVoidWidth(GoProfileStrip tool);
1288 
1289 /**
1290  * Sets the maximum void width.
1291  *
1292  * @public @memberof GoProfileStrip
1293  * @version Introduced in firmware 4.0.10.27
1294  * @param tool GoProfileStrip object.
1295  * @param value The maximum void width (in mm).
1296  * @return Operation status.
1297  */
1298 GoFx(kStatus) GoProfileStrip_SetMaxVoidWidth(GoProfileStrip tool, k64f value);
1299 
1300 /**
1301  * Gets the profile strip tool region.
1302  *
1303  * @public @memberof GoProfileStrip
1304  * @version Introduced in firmware 4.0.10.27
1305  * @param tool GoProfileStrip object.
1306  * @return A GoProfileRegion object.
1307  */
1308 GoFx(GoProfileRegion) GoProfileStrip_Region(GoProfileStrip tool);
1309 
1310 /**
1311  * Adds an additional profile strip tool measurement.
1312  *
1313  * @public @memberof GoProfileStrip
1314  * @version Introduced in firmware 4.0.10.27
1315  * @param tool GoProfileStrip object.
1316  * @param type The measurement type to add. It must be a valid profile strip tool type.
1317  * @param measurement A reference to the new GoMeasurement handle. Can be kNULL if you do not wish to do anything immediate with the new measurement.
1318  * @return Operation status.
1319  */
1320 GoFx(kStatus) GoProfileStrip_AddMeasurement(GoProfileStrip tool, GoMeasurementType type, GoMeasurement* measurement);
1321 
1322 /**
1323  * Removes a measurement from the tool at the given index.
1324  *
1325  * @public @memberof GoProfileStrip
1326  * @version Introduced in firmware 4.0.10.27
1327  * @param tool GoProfileStrip object.
1328  * @param index The index with which to remove a measurement.
1329  * @return Operation status.
1330  */
1331 GoFx(kStatus) GoProfileStrip_RemoveMeasurement(GoProfileStrip tool, kSize index);
1332 
1333 /**
1334  * Returns the measurement count for the given tool.
1335  *
1336  * @public @memberof GoProfileStrip
1337  * @version Introduced in firmware 4.0.10.27
1338  * @param tool GoProfileStrip object.
1339  * @return Tool measurement count.
1340  */
1341 GoFx(kSize) GoProfileStrip_MeasurementCount(GoProfileStrip tool);
1342 
1343 /**
1344  * Returns a measurement object at the given index.
1345  *
1346  * @public @memberof GoProfileStrip
1347  * @version Introduced in firmware 4.0.10.27
1348  * @param tool GoProfileStrip object.
1349  * @param index The index with which to return a measurement object.
1350  * @return A profile strip tool measurement or kNULL if the index is invalid.
1351  */
1352 GoFx(GoMeasurement) GoProfileStrip_MeasurementAt(GoProfileStrip tool, kSize index);
1353 
1354 
1355 /**
1356  * @class GoProfileXLine
1357  * @extends GoProfileTool
1358  * @ingroup GoSdk-ProfileTools
1359  * @brief Represents a profile X-Line tool.
1360 */
1361 typedef GoProfileTool GoProfileXLine;
1362 
1363 /**
1364  * Returns the enabled state of the tool region.
1365  *
1366  * @public @memberof GoProfileXLine
1367  * @version Introduced in firmware 4.3.3.124
1368  * @param tool GoProfileXLine object.
1369  * @return kTRUE if enabled and kFALSE if disabled.
1370  */
1371 GoFx(kBool) GoProfileXLine_RegionEnabled(GoProfileXLine tool);
1372 
1373 /**
1374  * Enables or disables the tool region.
1375  *
1376  * @public @memberof GoProfileXLine
1377  * @version Introduced in firmware 4.3.3.124
1378  * @param tool GoProfileXLine object.
1379  * @param enable kTRUE to enable the tool region, kFALSE to disable it.
1380  * @return Operation status.
1381  */
1382 GoFx(kStatus) GoProfileXLine_EnableRegion(GoProfileXLine tool, kBool enable);
1383 
1384 /**
1385  * Gets the profile X-Line tool region.
1386  *
1387  * @public @memberof GoProfileXLine
1388  * @version Introduced in firmware 4.3.3.124
1389  * @param tool GoProfileXLine object.
1390  * @return A GoRegion3d object.
1391  */
1392 GoFx(GoProfileRegion) GoProfileXLine_Region(GoProfileXLine tool);
1393 
1394 /**
1395  * Sets the profile X-Line tool maximum tracking speed.
1396  *
1397  * @public @memberof GoProfileXLine
1398  * @version Introduced in firmware 4.3.3.124
1399  * @param tool GoProfileXLine object.
1400  * @param value The value to set.
1401  * @return Operation status.
1402  */
1403 GoFx(kStatus) GoProfileXLine_SetMaxTrackingSpeed(GoProfileXLine tool, k64f value);
1404 
1405 /**
1406  * Gets the profile X-Line tool maximum tracking speed.
1407  *
1408  * @public @memberof GoProfileXLine
1409  * @version Introduced in firmware 4.3.3.124
1410  * @param tool GoProfileXLine object.
1411  * @return The maximum tracking speed.
1412  */
1413 GoFx(k64f) GoProfileXLine_MaxTrackingSpeed(GoProfileXLine tool);
1414 
1415 /**
1416  * Returns a GoProfileXLine Z measurement object.
1417  *
1418  * @public @memberof GoProfileXLine
1419  * @version Introduced in firmware 4.3.3.124
1420  * @param tool GoProfileXLine object.
1421  * @return A GoProfileXLine Z measurement.
1422  */
1423 GoFx(GoProfileXLineZ) GoProfileXLine_ZMeasurement(GoProfileXLine tool);
1424 
1425 /**
1426  * Returns a GoProfileXLine Validity measurement object.
1427  *
1428  * @public @memberof GoProfileXLine
1429  * @version Introduced in firmware 4.3.3.124
1430  * @param tool GoProfileXLine object.
1431  * @return A GoProfileXLine Validity measurement.
1432  */
1433 GoFx(GoProfileXLineZ) GoProfileXLine_ValidityMeasurement(GoProfileXLine tool);
1434 
1435 kEndHeader()
1436 #include <GoSdk/Tools/GoProfileTools.x.h>
1437 
1438 #endif
1439 /// @endcond
GoProfileBoxWidth GoProfileBox_WidthMeasurement(GoProfileBox tool)
Returns a GoProfileBox Width measurement object.
kBool GoProfileTool_ZAnchorEnabled(GoProfileTool tool)
Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anc...
kStatus GoProfileXLine_EnableRegion(GoProfileXLine tool, kBool enable)
Enables or disables the tool region.
Represents a profile line tool.
kStatus GoProfileStrip_SetMinHeight(GoProfileStrip tool, k64f value)
Sets the transition height.
Declares the base GoTool class.
GoProfileRegion GoProfileStrip_Region(GoProfileStrip tool)
Gets the profile strip tool region.
kStatus GoProfileStrip_SetRightEdge(GoProfileStrip tool, GoProfileStripEdgeType rightEdge)
Sets the right edge.
Represents an X value measurement for a Profile Circle Tool.
GoProfileBoxHeight GoProfileBox_HeightMeasurement(GoProfileBox tool)
Returns a GoProfileBox Height measurement object.
GoProfileIntersectZ GoProfileIntersect_ZMeasurement(GoProfileIntersect tool)
Returns a GoProfileIntersect Z measurement object.
GoProfileBridgeValueBridgeValue GoProfileBridgeValue_BridgeValueMeasurement(GoProfileBridgeValue tool)
Returns a GoProfileBridgeValue bridge value measurement object.
Represents the base class for a tool measurement or script output.
kBool GoProfileBox_RegionEnabled(GoProfileBox tool)
Returns the enabled state of the tool region.
Represents a Z measurement for a Profile Bounding Box tool.
kStatus GoProfileIntersect_SetRefLineType(GoProfileIntersect tool, GoProfileBaseline type)
Sets the reference line type.
GoProfileRegion GoProfileGroove_Region(GoProfileGroove tool)
Gets the profile region.
GoProfileCircleRadius GoProfileCircle_RadiusMeasurement(GoProfileCircle tool)
Returns a GoProfileCircle Radius measurement object.
GoProfileLineRegion GoProfileIntersect_RefLine(GoProfileIntersect tool)
Gets the reference profile line.
GoProfileBoxX GoProfileBox_XMeasurement(GoProfileBox tool)
Returns a GoProfileBox X measurement object.
kStatus GoProfileBridgeValue_SetMaxInvalid(GoProfileBridgeValue tool, k64f value)
Sets the profile X-Line tool max invalid percentage.
k64f GoProfileGroove_MaxWidth(GoProfileGroove tool)
Gets the groove width maximum.
kStatus GoProfileGroove_SetMaxWidth(GoProfileGroove tool, k64f width)
Sets the groove width maximum.
kStatus GoProfileGroove_SetMinDepth(GoProfileGroove tool, k64f depth)
Sets the groove depth minimum.
Represents a gap measurement for a Profile Panel Tool.
kStatus GoProfileBridgeValue_EnableRegion(GoProfileBridgeValue tool, kBool enable)
Enables or disables the tool region.
kSize GoProfileTool_XAnchorOptionCount(GoProfileTool tool)
Gets the X-anchoring option list count.
Lists all measurement types.
kStatus GoProfileGroove_AddMeasurement(GoProfileGroove tool, GoMeasurementType type, GoMeasurement *measurement)
Adds an additional profile groove tool measurement.
Represents a profile dimension tool.
GoProfileLineRegion GoProfileArea_LineRegion(GoProfileArea tool)
Gets the reference profile line.
kStatus GoProfileXLine_SetMaxTrackingSpeed(GoProfileXLine tool, k64f value)
Sets the profile X-Line tool maximum tracking speed.
Represents a center X value measurement for a Profile Dimension Tool.
Represents a flush measurement for a Profile Panel Tool.
GoProfileRegion GoProfileBridgeValue_Region(GoProfileBridgeValue tool)
Gets the bridge value profile region.
Represents a profile bounding box tool.
GoProfileLineMinError GoProfileLine_MinErrorMeasurement(GoProfileLine tool)
Returns a GoProfileLine Minimum Error measurement object.
GoProfileFeature GoProfilePosition_Feature(GoProfilePosition tool)
Gets the profile feature.
kStatus GoProfileGroove_SetShape(GoProfileGroove tool, GoProfileGrooveShape shape)
Sets the groove determination shape.
kStatus GoProfilePanel_SetRefEdgeSide(GoProfilePanel tool, GoProfilePanelSide side)
Sets the reference edge side.
k64f GoProfileStrip_MinWidth(GoProfileStrip tool)
Gets the minimum width.
GoProfileRegion GoProfileCircle_Region(GoProfileCircle tool)
Gets the profile region.
k64f GoProfileBridgeValue_WindowSkip(GoProfileBridgeValue tool)
Gets the profile X-Line tool window skip percentage.
GoMeasurement GoProfileGroove_MeasurementAt(GoProfileGroove tool, kSize index)
Returns a measurement object at the given index.
kStatus GoProfileStrip_RemoveMeasurement(GoProfileStrip tool, kSize index)
Removes a measurement from the tool at the given index.
GoProfileStripEdgeType GoProfileStrip_RightEdge(GoProfileStrip tool)
Gets the right edge value.
kStatus GoProfileArea_SetType(GoProfileArea tool, GoProfileAreaType type)
Sets the profile area type.
GoProfileRegion GoProfileBox_Region(GoProfileBox tool)
Gets the profile bounding box region.
k32s GoProfileTool_ZAnchor(GoProfileTool tool)
Gets the current Z-anchoring source.
kSize GoProfileStrip_MeasurementCount(GoProfileStrip tool)
Returns the measurement count for the given tool.
Represents a profile intersect tool.
kStatus GoProfileTool_SetSource(GoProfileTool tool, GoDataSource source)
Sets the data source.
GoProfileBoxGlobalX GoProfileBox_GlobalXMeasurement(GoProfileBox tool)
Returns a GoProfileBox global X measurement object.
Represents a width value measurement for a Profile Dimension Tool.
Represents a data source.
Represents an angle measurement for a Profile Bridge Value tool.
Represents a profile area tool.
kStatus GoProfileStrip_SetTransitionWidth(GoProfileStrip tool, k64f value)
Sets the transition width.
k64f GoProfileGroove_MinDepth(GoProfileGroove tool)
Gets the groove depth minimum.
GoProfilePanelFlush GoProfilePanel_FlushMeasurement(GoProfilePanel tool)
Returns a GoProfilePanel Flush measurement object.
kBool GoProfileStrip_TiltEnabled(GoProfileStrip tool)
Gets the tilt enabled state.
Contains various helper functions.
Represents an intersect X measurement for a Profile Intersect Tool.
Represents a profile edge used in various profile tools.
Represents a profile panel tool.
GoProfileLineRegion GoProfileIntersect_Line(GoProfileIntersect tool)
Gets the non-reference profile line.
kBool GoProfileBridgeValue_NormalizeEnabled(GoProfileBridgeValue tool)
Returns the enabled state of normalization.
Represents a maximum error measurement for a Profile Line Tool.
GoProfileAreaType GoProfileArea_Type(GoProfileArea tool)
Gets the profile area type.
Represents a profile groove tool.
kBool GoProfileXLine_RegionEnabled(GoProfileXLine tool)
Returns the enabled state of the tool region.
GoProfileStripEdgeType GoProfileStrip_LeftEdge(GoProfileStrip tool)
Gets the left edge value.
k64f GoProfileBridgeValue_MaxDifferentialLimitMax(GoProfileBridgeValue tool)
Gets the profile X-Line tool max differential maximum value limit.
Represents a centroid Z measurement for a Profile Area Tool.
kStatus GoProfileStrip_SetMaxVoidWidth(GoProfileStrip tool, k64f value)
Sets the maximum void width.
GoProfileAreaArea GoProfileArea_AreaMeasurement(GoProfileArea tool)
Returns a GoProfileArea Area measurement object.
k64f GoProfileBridgeValue_MaxDifferentialLimitMin(GoProfileBridgeValue tool)
Gets the profile X-Line tool max differential minimum value limit.
Represents a profile region used in various profile tools.
kStatus GoProfileBridgeValue_EnableNormalize(GoProfileBridgeValue tool, kBool enable)
Enables or disables normalization.
kBool GoProfileTool_XAnchorEnabled(GoProfileTool tool)
Returns a boolean value representing whether or not a valid X-anchoring source has been set for X-anc...
Represents a profile circle tool.
GoProfileAreaCentroidX GoProfileArea_CentroidXMeasurement(GoProfileArea tool)
Returns a GoProfileArea Centroid X measurement object.
k32s GoProfileTool_XAnchor(GoProfileTool tool)
Gets the current X-anchoring source.
Represents an area measurement for a Profile Area tool.
GoProfileEdge GoProfilePanel_RightEdge(GoProfilePanel tool)
Gets the right profile edge.
Represents a height measurement for a Profile Bounding Box tool.
Represents a minimum error measurement for a Profile Line Tool.
Represents a profile edge type.
Represents an Z measurement for a Profile Position tool.
Essential SDK declarations.
GoProfileBaseline GoProfileArea_Baseline(GoProfileArea tool)
Gets the profile area baseline.
GoProfileDimCenterX GoProfileDim_CenterXMeasurement(GoProfileDim tool)
Returns a GoProfileDim Center X measurement object.
k32u GoProfileTool_ZAnchorOptionAt(GoProfileTool tool, kSize index)
Gets the Z-anchoring option at the given index.
GoProfileIntersectX GoProfileIntersect_XMeasurement(GoProfileIntersect tool)
Returns a GoProfileIntersect X measurement object.
GoProfilePositionZ GoProfilePosition_ZMeasurement(GoProfilePosition tool)
Returns a GoProfilePosition Z measurement object.
kStatus GoProfileTool_SetZAnchor(GoProfileTool tool, k32s id)
Sets the Z-anchoring source.
k64f GoProfileBridgeValue_MaxDifferential(GoProfileBridgeValue tool)
Gets the profile X-Line tool max differential.
Represents a percentile measurement for a Profile Line Tool.
GoProfilePanelSide GoProfilePanel_RefEdgeSide(GoProfilePanel tool)
Gets the reference edge side.
Represents a profile strip tool.
GoProfileLineStdDev GoProfileLine_StdDevMeasurement(GoProfileLine tool)
Returns a GoProfileLine Standard Deviation measurement object.
GoProfileStripBaseType GoProfileStrip_BaseType(GoProfileStrip tool)
Gets the strip base type.
Represents the base tool class.
GoProfileDimWidth GoProfileDim_WidthMeasurement(GoProfileDim tool)
Returns a GoProfileDim Width measurement object.
Represents an X measurement for a Profile Bounding Box tool.
kStatus GoProfileBox_EnableRegion(GoProfileBox tool, kBool enable)
Enables or disables the tool region.
GoProfileAreaCentroidZ GoProfileArea_CentroidZMeasurement(GoProfileArea tool)
Returns a GoProfileArea Centroid Z measurement object.
Represents a profile bridge value tool.
Represents a height value measurement for a Profile Dimension Tool.
Represents a profile strip tool base type.
Represents a profile feature used in various profile tools.
k64f GoProfileStrip_MaxVoidWidth(GoProfileStrip tool)
Gets the maximum void width.
GoProfileBaseline GoProfileIntersect_RefLineType(GoProfileIntersect tool)
Gets the reference profile line type.
GoProfileLinePercentile GoProfileLine_PercentileMeasurement(GoProfileLine tool)
Returns a GoProfileLine Percentile measurement object.
Represents a profile strip tool edge type.
Represents a Z value measurement for a Profile Circle Tool.
GoProfileEdge GoProfilePanel_LeftEdge(GoProfilePanel tool)
Gets the left profile edge.
k32u GoProfileTool_XAnchorOptionAt(GoProfileTool tool, kSize index)
Gets the X-anchoring option at the given index.
GoProfileFeature GoProfileDim_Feature(GoProfileDim tool)
Gets the non-reference profile feature.
kBool GoProfileArea_BaselineUsed(GoProfileArea tool)
Returns a boolean representing whether the profile area baseline is used.
GoDataSource GoProfileTool_SourceOptionAt(GoProfileTool tool, kSize index)
Gets the data source option at the given index.
GoProfileFeature GoProfileDim_RefFeature(GoProfileDim tool)
Gets the reference profile feature.
GoProfileRegion GoProfileArea_Region(GoProfileArea tool)
Gets the profile region.
k64f GoProfileStrip_MinHeight(GoProfileStrip tool)
Gets the minimum height.
k64f GoProfileBridgeValue_WindowSize(GoProfileBridgeValue tool)
Gets the profile X-Line tool window size percentage.
kStatus GoProfileStrip_AddMeasurement(GoProfileStrip tool, GoMeasurementType type, GoMeasurement *measurement)
Adds an additional profile strip tool measurement.
GoMeasurement GoProfileStrip_MeasurementAt(GoProfileStrip tool, kSize index)
Returns a measurement object at the given index.
kStatus GoProfileBridgeValue_SetMaxDifferential(GoProfileBridgeValue tool, k64f value)
Sets the profile X-Line tool max differential.
kStatus GoProfileStrip_SetBaseType(GoProfileStrip tool, GoProfileStripBaseType type)
Sets the strip base type.
GoProfilePanelGap GoProfilePanel_GapMeasurement(GoProfilePanel tool)
Returns a GoProfilePanel Gap measurement object.
Represents a profile X-Line tool.
kBool GoProfileBridgeValue_RegionEnabled(GoProfileBridgeValue tool)
Returns the enabled state of the tool region.
GoProfileGrooveShape GoProfileGroove_Shape(GoProfileGroove tool)
Gets the current groove determination shape.
kStatus GoProfileStrip_SetMinWidth(GoProfileStrip tool, k64f value)
Sets the minimum width.
GoProfileRegion GoProfileXLine_Region(GoProfileXLine tool)
Gets the profile X-Line tool region.
kSize GoProfileTool_SourceOptionCount(GoProfileTool tool)
Gets the data source option list count.
Declares shared profile tool configuration classes.
GoProfilePositionX GoProfilePosition_XMeasurement(GoProfilePosition tool)
Returns a GoProfilePosition X measurement object.
Represents a standard deviation measurement for a Profile Line Tool.
Represents a center Z value measurement for a Profile Dimension Tool.
GoProfileBridgeValueAngle GoProfileBridgeValue_AngleMeasurement(GoProfileBridgeValue tool)
Returns a GoProfileBridgeValue angle measurement object.
kStatus GoProfileGroove_RemoveMeasurement(GoProfileGroove tool, kSize index)
Removes a measurement from the tool at the given index.
kStatus GoProfileBridgeValue_SetWindowSkip(GoProfileBridgeValue tool, k64f value)
Sets the profile X-Line tool window skip percentage.
GoProfileXLineZ GoProfileXLine_ZMeasurement(GoProfileXLine tool)
Returns a GoProfileXLine Z measurement object.
GoProfileIntersectAngle GoProfileIntersect_AngleMeasurement(GoProfileIntersect tool)
Returns a GoProfileIntersect Angle measurement object.
Represents a centroid X measurement for a Profile Area Tool.
kBool GoProfileArea_TypeUsed(GoProfileArea tool)
Gets the boolean representing whether the area type is used.
GoProfileLineMaxError GoProfileLine_MaxErrorMeasurement(GoProfileLine tool)
Returns a GoProfileLine Maximum Error measurement object.
k64f GoProfileBridgeValue_MaxInvalid(GoProfileBridgeValue tool)
Gets the profile X-Line tool max invalid percentage.
kStatus GoProfileGroove_SetMinWidth(GoProfileGroove tool, k64f width)
Sets the groove width minimum.
GoProfileBoxZ GoProfileBox_ZMeasurement(GoProfileBox tool)
Returns a GoProfileBox Z measurement object.
kStatus GoProfileStrip_SetLeftEdge(GoProfileStrip tool, GoProfileStripEdgeType leftEdge)
Sets the left edge.
GoDataSource GoProfileTool_Source(GoProfileTool tool)
Gets the data source.
Represents an intersect angle measurement for a Profile Intersect Tool.
k64f GoProfileStrip_TransitionWidth(GoProfileStrip tool)
Gets the transition width.
Represents a radius value measurement for a Profile Circle Tool.
Represents an Z measurement for a Profile X-Line tool.
Represents a width measurement for a Profile Bounding Box tool.
GoProfileDimHeight GoProfileDim_HeightMeasurement(GoProfileDim tool)
Returns a GoProfileDim Height measurement object.
kStatus GoProfilePanel_SetMaxGapWidth(GoProfilePanel tool, k64f width)
Sets the maximum gap width.
k64f GoProfileXLine_MaxTrackingSpeed(GoProfileXLine tool)
Gets the profile X-Line tool maximum tracking speed.
Determines how to calculate profile area.
kStatus GoProfileTool_SetXAnchor(GoProfileTool tool, k32s id)
Sets the X-anchoring source.
GoProfileDimDistance GoProfileDim_DistanceMeasurement(GoProfileDim tool)
Returns a GoProfileDim Distance measurement object.
Represents an intersect Z measurement for a Profile Intersect Tool.
Represents an X measurement for a Profile Position tool.
GoProfileCircleX GoProfileCircle_XMeasurement(GoProfileCircle tool)
Returns a GoProfileCircle X measurement object.
GoProfileCircleZ GoProfileCircle_ZMeasurement(GoProfileCircle tool)
Returns a GoProfileCircle Z measurement object.
k64f GoProfilePanel_MaxGapWidth(GoProfilePanel tool)
Gets the maximum gap width.
kSize GoProfileGroove_MeasurementCount(GoProfileGroove tool)
Returns the measurement count for the given tool.
GoProfileDimCenterZ GoProfileDim_CenterZMeasurement(GoProfileDim tool)
Returns a GoProfileDim Center Z measurement object.
Represents a bridge value measurement for a Profile Bridge Value tool.
kStatus GoProfileStrip_EnableTilt(GoProfileStrip tool, kBool enable)
Enables or disables tilt.
Represents a base profile tool.
kStatus GoProfileArea_SetBaseline(GoProfileArea tool, GoProfileBaseline type)
Sets the profile area type.
kSize GoProfileTool_ZAnchorOptionCount(GoProfileTool tool)
Gets the Z-anchoring option list count.
Represents a global X measurement for a Profile Bounding Box tool.
kStatus GoProfileBridgeValue_SetWindowSize(GoProfileBridgeValue tool, k64f value)
Sets the profile X-Line tool window size percentage.
k64f GoProfileGroove_MinWidth(GoProfileGroove tool)
Gets the groove width minimum value.
Represents a profile position tool.
Represents a distance value measurement for a Profile Dimension Tool.
GoProfileXLineZ GoProfileXLine_ValidityMeasurement(GoProfileXLine tool)
Returns a GoProfileXLine Validity measurement object.