Gocator API
 All Classes Files Functions Variables Typedefs Macros Modules Pages
GoProfileTools.h
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>
17 #include <GoSdk/Tools/GoProfileToolUtils.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  */
287 GoFx(GoProfileAreaCentroidX) GoProfileArea_CentroidXMeasurement(GoProfileArea tool);
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  */
297 GoFx(GoProfileAreaCentroidZ) GoProfileArea_CentroidZMeasurement(GoProfileArea tool);
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  */
387 GoFx(GoProfileBoxGlobalX) GoProfileBox_GlobalXMeasurement(GoProfileBox tool);
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  * @param tool GoProfileBridgeValue object.
404  * @return kTRUE if enabled and kFALSE if disabled.
405  */
406 GoFx(kBool) GoProfileBridgeValue_RegionEnabled(GoProfileBridgeValue tool);
407 
408 /**
409  * Enables or disables the tool region.
410  *
411  * @public @memberof GoProfileBridgeValue
412  * @param tool GoProfileBridgeValue object.
413  * @param enable kTRUE to enable the tool region, kFALSE to disable it.
414  * @return Operation status.
415  */
416 GoFx(kStatus) GoProfileBridgeValue_EnableRegion(GoProfileBridgeValue tool, kBool enable);
417 
418 /**
419  * Gets the bridge value profile region.
420  *
421  * @public @memberof GoProfileBridgeValue
422  * @param tool GoProfileArea object.
423  * @return The profile region.
424  */
425 GoFx(GoProfileRegion) GoProfileBridgeValue_Region(GoProfileBridgeValue tool);
426 
427 
428 /**
429  * Returns the enabled state of normalization.
430  *
431  * @public @memberof GoProfileBridgeValue
432  * @param tool GoProfileBridgeValue object.
433  * @return kTRUE if enabled and kFALSE if disabled.
434  */
435 GoFx(kBool) GoProfileBridgeValue_NormalizeEnabled(GoProfileBridgeValue tool);
436 
437 /**
438  * Enables or disables normalization.
439  *
440  * @public @memberof GoProfileBridgeValue
441  * @param tool GoProfileBridgeValue object.
442  * @param enable kTRUE to enable the tool region, kFALSE to disable it.
443  * @return Operation status.
444  */
445 GoFx(kStatus) GoProfileBridgeValue_EnableNormalize(GoProfileBridgeValue tool, kBool enable);
446 
447 /**
448  * Sets the profile X-Line tool window size percentage.
449  *
450  * @public @memberof GoProfileBridgeValue
451  * @param tool GoProfileBridgeValue object.
452  * @param value The value to set.
453  * @return Operation status.
454  */
455 GoFx(kStatus) GoProfileBridgeValue_SetWindowSize(GoProfileBridgeValue tool, k64f value);
456 
457 /**
458  * Gets the profile X-Line tool window size percentage.
459  *
460  * @public @memberof GoProfileBridgeValue
461  * @param tool GoProfileBridgeValue object.
462  * @return The window size.
463  */
464 GoFx(k64f) GoProfileBridgeValue_WindowSize(GoProfileBridgeValue tool);
465 
466 /**
467  * Sets the profile X-Line tool window skip percentage.
468  *
469  * @public @memberof GoProfileBridgeValue
470  * @param tool GoProfileBridgeValue object.
471  * @param value The value to set.
472  * @return Operation status.
473  */
474 GoFx(kStatus) GoProfileBridgeValue_SetWindowSkip(GoProfileBridgeValue tool, k64f value);
475 
476 /**
477  * Gets the profile X-Line tool window skip percentage.
478  *
479  * @public @memberof GoProfileBridgeValue
480  * @param tool GoProfileBridgeValue object.
481  * @return The window size.
482  */
483 GoFx(k64f) GoProfileBridgeValue_WindowSkip(GoProfileBridgeValue tool);
484 
485 /**
486  * Sets the profile X-Line tool max invalid percentage.
487  *
488  * @public @memberof GoProfileBridgeValue
489  * @param tool GoProfileBridgeValue object.
490  * @param value The value to set.
491  * @return Operation status.
492  */
493 GoFx(kStatus) GoProfileBridgeValue_SetMaxInvalid(GoProfileBridgeValue tool, k64f value);
494 
495 /**
496  * Gets the profile X-Line tool max invalid percentage.
497  *
498  * @public @memberof GoProfileBridgeValue
499  * @param tool GoProfileBridgeValue object.
500  * @return The window size.
501  */
502 GoFx(k64f) GoProfileBridgeValue_MaxInvalid(GoProfileBridgeValue tool);
503 
504 /**
505  * Sets the profile X-Line tool max differential.
506  *
507  * @public @memberof GoProfileBridgeValue
508  * @param tool GoProfileBridgeValue object.
509  * @param value The value to set.
510  * @return Operation status.
511  */
512 GoFx(kStatus) GoProfileBridgeValue_SetMaxDifferential(GoProfileBridgeValue tool, k64f value);
513 
514 /**
515  * Gets the profile X-Line tool max differential.
516  *
517  * @public @memberof GoProfileBridgeValue
518  * @param tool GoProfileBridgeValue object.
519  * @return The max differential.
520  */
521 GoFx(k64f) GoProfileBridgeValue_MaxDifferential(GoProfileBridgeValue tool);
522 
523 /**
524  * Gets the profile X-Line tool max differential maximum value limit.
525  *
526  * @public @memberof GoProfileBridgeValue
527  * @param tool GoProfileBridgeValue object.
528  * @return The max differential maximum value limit.
529  */
530 GoFx(k64f) GoProfileBridgeValue_MaxDifferentialLimitMax(GoProfileBridgeValue tool);
531 
532 /**
533  * Gets the profile X-Line tool max differential minimum value limit.
534  * NOTE: A value of 0 will result in an automated differential determination.
535  *
536  * @public @memberof GoProfileBridgeValue
537  * @param tool GoProfileBridgeValue object.
538  * @return The max differential minimum value limit.
539  */
540 GoFx(k64f) GoProfileBridgeValue_MaxDifferentialLimitMin(GoProfileBridgeValue tool);
541 
542 /**
543  * Returns a GoProfileBridgeValue bridge value measurement object.
544  *
545  * @public @memberof GoProfileBridgeValue
546  * @param tool GoProfileBridgeValue object.
547  * @return A GoProfileBridgeValue bridge value measurement.
548  */
549 GoFx(GoProfileBridgeValueBridgeValue) GoProfileBridgeValue_BridgeValueMeasurement(GoProfileBridgeValue tool);
550 
551 /**
552  * Returns a GoProfileBridgeValue angle measurement object.
553  *
554  * @public @memberof GoProfileBridgeValue
555  * @param tool GoProfileBridgeValue object.
556  * @return A GoProfileBridgeValue angle measurement.
557  */
558 GoFx(GoProfileBridgeValueAngle) GoProfileBridgeValue_AngleMeasurement(GoProfileBridgeValue tool);
559 
560 
561 /**
562  * @class GoProfileCircle
563  * @extends GoProfileTool
564  * @ingroup GoSdk-ProfileTools
565  * @brief Represents a profile circle tool.
566  */
567 typedef GoProfileTool GoProfileCircle;
568 
569 /**
570  * Gets the profile region.
571  *
572  * @public @memberof GoProfileCircle
573  * @version Introduced in firmware 4.0.10.27
574  * @param tool GoProfileCircle object.
575  * @return The profile region.
576  */
577 GoFx(GoProfileRegion) GoProfileCircle_Region(GoProfileCircle tool);
578 
579 /**
580  * Returns a GoProfileCircle X measurement object.
581  *
582  * @public @memberof GoProfileCircle
583  * @version Introduced in firmware 4.0.10.27
584  * @param tool GoProfileCircle object.
585  * @return A GoProfileCircleX measurement.
586  */
587 GoFx(GoProfileCircleX) GoProfileCircle_XMeasurement(GoProfileCircle tool);
588 
589 /**
590  * Returns a GoProfileCircle Z measurement object.
591  *
592  * @public @memberof GoProfileCircle
593  * @version Introduced in firmware 4.0.10.27
594  * @param tool GoProfileCircle object.
595  * @return A GoProfileCircleZ measurement.
596  */
597 GoFx(GoProfileCircleZ) GoProfileCircle_ZMeasurement(GoProfileCircle tool);
598 
599 /**
600  * Returns a GoProfileCircle Radius measurement object.
601  *
602  * @public @memberof GoProfileCircle
603  * @version Introduced in firmware 4.0.10.27
604  * @param tool GoProfileCircle object.
605  * @return A GoProfileCircle Radius measurement.
606  */
607 GoFx(GoProfileCircleRadius) GoProfileCircle_RadiusMeasurement(GoProfileCircle tool);
608 
609 
610 /**
611  * @class GoProfileDim
612  * @extends GoProfileTool
613  * @ingroup GoSdk-ProfileTools
614  * @brief Represents a profile dimension tool.
615  */
616 typedef GoProfileTool GoProfileDim;
617 
618 
619 /**
620  * Gets the reference profile feature.
621  *
622  * @public @memberof GoProfileDim
623  * @version Introduced in firmware 4.0.10.27
624  * @param tool GoProfileDim object.
625  * @return The reference profile feature object.
626  */
627 GoFx(GoProfileFeature) GoProfileDim_RefFeature(GoProfileDim tool);
628 
629 /**
630  * Gets the non-reference profile feature.
631  *
632  * @public @memberof GoProfileDim
633  * @version Introduced in firmware 4.0.10.27
634  * @param tool GoProfileDim object.
635  * @return The profile feature object.
636  */
637 GoFx(GoProfileFeature) GoProfileDim_Feature(GoProfileDim tool);
638 
639 /**
640  * Returns a GoProfileDim Width measurement object.
641  *
642  * @public @memberof GoProfileDim
643  * @version Introduced in firmware 4.0.10.27
644  * @param tool GoProfileDim object.
645  * @return A GoProfileDimWidth measurement.
646  */
647 GoFx(GoProfileDimWidth) GoProfileDim_WidthMeasurement(GoProfileDim tool);
648 
649 /**
650  * Returns a GoProfileDim Height measurement object.
651  *
652  * @public @memberof GoProfileDim
653  * @version Introduced in firmware 4.0.10.27
654  * @param tool GoProfileDim object.
655  * @return A GoProfileDimHeight measurement.
656  */
657 GoFx(GoProfileDimHeight) GoProfileDim_HeightMeasurement(GoProfileDim tool);
658 
659 /**
660  * Returns a GoProfileDim Distance measurement object.
661  *
662  * @public @memberof GoProfileDim
663  * @version Introduced in firmware 4.0.10.27
664  * @param tool GoProfileDim object.
665  * @return A GoProfileDimDistance measurement.
666  */
667 GoFx(GoProfileDimDistance) GoProfileDim_DistanceMeasurement(GoProfileDim tool);
668 
669 /**
670  * Returns a GoProfileDim Center X measurement object.
671  *
672  * @public @memberof GoProfileDim
673  * @version Introduced in firmware 4.0.10.27
674  * @param tool GoProfileDim object.
675  * @return A GoProfileDimCenterX measurement.
676  */
677 GoFx(GoProfileDimCenterX) GoProfileDim_CenterXMeasurement(GoProfileDim tool);
678 
679 /**
680  * Returns a GoProfileDim Center Z measurement object.
681  *
682  * @public @memberof GoProfileDim
683  * @version Introduced in firmware 4.0.10.27
684  * @param tool GoProfileDim object.
685  * @return A GoProfileDimCenterZ measurement.
686  */
687 GoFx(GoProfileDimCenterZ) GoProfileDim_CenterZMeasurement(GoProfileDim tool);
688 
689 
690 /**
691  * @class GoProfileGroove
692  * @extends GoProfileTool
693  * @ingroup GoSdk-ProfileTools
694  * @brief Represents a profile groove tool.
695  */
696 typedef GoProfileTool GoProfileGroove;
697 
698 /**
699  * Adds an additional profile groove tool measurement.
700  *
701  * @public @memberof GoProfileGroove
702  * @version Introduced in firmware 4.0.10.27
703  * @param tool GoProfileGroove object.
704  * @param type The measurement type to add. It must be a valid profile groove tool type.
705  * @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.
706  * @return Operation status.
707  */
708 GoFx(kStatus) GoProfileGroove_AddMeasurement(GoProfileGroove tool, GoMeasurementType type, GoMeasurement* measurement);
709 
710 /**
711  * Removes a measurement from the tool at the given index.
712  *
713  * @public @memberof GoProfileGroove
714  * @version Introduced in firmware 4.0.10.27
715  * @param tool GoProfileGroove object.
716  * @param index The index with which to remove a measurement.
717  * @return Operation status.
718  */
719 GoFx(kStatus) GoProfileGroove_RemoveMeasurement(GoProfileGroove tool, kSize index);
720 
721 /**
722  * Returns the measurement count for the given tool.
723  *
724  * @public @memberof GoProfileGroove
725  * @version Introduced in firmware 4.0.10.27
726  * @param tool GoProfileGroove object.
727  * @return Tool measurement count.
728  */
729 GoFx(kSize) GoProfileGroove_MeasurementCount(GoProfileGroove tool);
730 
731 /**
732  * Returns a measurement object at the given index.
733  *
734  * @public @memberof GoProfileGroove
735  * @version Introduced in firmware 4.0.10.27
736  * @param tool GoProfileGroove object.
737  * @param index The index with which to return a measurement object.
738  * @return A profile groove tool measurement or kNULL if the index is invalid.
739  */
740 GoFx(GoMeasurement) GoProfileGroove_MeasurementAt(GoProfileGroove tool, kSize index);
741 
742 /**
743  * Gets the current groove determination shape.
744  *
745  * @public @memberof GoProfileGroove
746  * @version Introduced in firmware 4.0.10.27
747  * @param tool GoProfileGroove object.
748  * @return The profile groove shape.
749  */
750 GoFx(GoProfileGrooveShape) GoProfileGroove_Shape(GoProfileGroove tool);
751 
752 /**
753  * Sets the groove determination shape.
754  *
755  * @public @memberof GoProfileGroove
756  * @version Introduced in firmware 4.0.10.27
757  * @param tool GoProfileGroove object.
758  * @param shape The intended profile groove shape.
759  * @return Operation status.
760  */
761 GoFx(kStatus) GoProfileGroove_SetShape(GoProfileGroove tool, GoProfileGrooveShape shape);
762 
763 /**
764  * Gets the groove depth minimum.
765  *
766  * @public @memberof GoProfileGroove
767  * @version Introduced in firmware 4.0.10.27
768  * @param tool GoProfileGroove object.
769  * @return The groove depth minimum value.
770  */
771 GoFx(k64f) GoProfileGroove_MinDepth(GoProfileGroove tool);
772 
773 /**
774  * Sets the groove depth minimum.
775  *
776  * @public @memberof GoProfileGroove
777  * @version Introduced in firmware 4.0.10.27
778  * @param tool GoProfileGroove object.
779  * @param depth The minimum groove depth value to set.
780  * @return Operation status.
781  */
782 GoFx(kStatus) GoProfileGroove_SetMinDepth(GoProfileGroove tool, k64f depth);
783 
784 /**
785  * Gets the groove width maximum.
786  *
787  * @public @memberof GoProfileGroove
788  * @version Introduced in firmware 4.0.10.27
789  * @param tool GoProfileGroove object.
790  * @return The groove width maximum value.
791  */
792 GoFx(k64f) GoProfileGroove_MaxWidth(GoProfileGroove tool);
793 
794 /**
795  * Sets the groove width maximum.
796  *
797  * @public @memberof GoProfileGroove
798  * @version Introduced in firmware 4.0.10.27
799  * @param tool GoProfileGroove object.
800  * @param width The maximum groove width value to set.
801  * @return Operation status.
802  */
803 GoFx(kStatus) GoProfileGroove_SetMaxWidth(GoProfileGroove tool, k64f width);
804 
805 /**
806  * Gets the groove width minimum value.
807  *
808  * @public @memberof GoProfileGroove
809  * @version Introduced in firmware 4.0.10.27
810  * @param tool GoProfileGroove object.
811  * @return The groove width minimum.
812  */
813 GoFx(k64f) GoProfileGroove_MinWidth(GoProfileGroove tool);
814 
815 /**
816  * Sets the groove width minimum.
817  *
818  * @public @memberof GoProfileGroove
819  * @version Introduced in firmware 4.0.10.27
820  * @param tool GoProfileGroove object.
821  * @param width The minimum groove width value to set.
822  * @return Operation status.
823  */
824 GoFx(kStatus) GoProfileGroove_SetMinWidth(GoProfileGroove tool, k64f width);
825 
826 /**
827  * Gets the profile region.
828  *
829  * @public @memberof GoProfileGroove
830  * @version Introduced in firmware 4.0.10.27
831  * @param tool GoProfileGroove object.
832  * @return The profile region.
833  */
834 GoFx(GoProfileRegion) GoProfileGroove_Region(GoProfileGroove tool);
835 
836 
837 /**
838  * @class GoProfileIntersect
839  * @extends GoProfileTool
840  * @ingroup GoSdk-ProfileTools
841  * @brief Represents a profile intersect tool.
842  */
843 typedef GoProfileTool GoProfileIntersect;
844 
845 
846 /**
847  * Gets the reference profile line type.
848  *
849  * @public @memberof GoProfileIntersect
850  * @version Introduced in firmware 4.0.10.27
851  * @param tool GoProfileIntersect object.
852  * @return The profile line type.
853  */
854 GoFx(GoProfileBaseline) GoProfileIntersect_RefLineType(GoProfileIntersect tool);
855 
856 /**
857  * Sets the reference line type.
858  *
859  * @public @memberof GoProfileIntersect
860  * @version Introduced in firmware 4.0.10.27
861  * @param tool GoProfileIntersect object.
862  * @param type The line type to set.
863  * @return
864  */
865 GoFx(kStatus) GoProfileIntersect_SetRefLineType(GoProfileIntersect tool, GoProfileBaseline type);
866 
867 /**
868  * Gets the reference profile line.
869  *
870  * @public @memberof GoProfileIntersect
871  * @version Introduced in firmware 4.0.10.27
872  * @param tool GoProfileIntersect object.
873  * @return The reference profile line.
874  */
875 GoFx(GoProfileLineRegion) GoProfileIntersect_RefLine(GoProfileIntersect tool);
876 
877 /**
878  * Gets the non-reference profile line.
879  *
880  * @public @memberof GoProfileIntersect
881  * @version Introduced in firmware 4.0.10.27
882  * @param tool GoProfileIntersect object.
883  * @return The non-reference profile line.
884  */
885 GoFx(GoProfileLineRegion) GoProfileIntersect_Line(GoProfileIntersect tool);
886 
887 /**
888  * Returns a GoProfileIntersect X measurement object.
889  *
890  * @public @memberof GoProfileIntersect
891  * @version Introduced in firmware 4.0.10.27
892  * @param tool GoProfileIntersect object.
893  * @return A GoProfileIntersect X measurement.
894  */
895 GoFx(GoProfileIntersectX) GoProfileIntersect_XMeasurement(GoProfileIntersect tool);
896 
897 /**
898  * Returns a GoProfileIntersect Z measurement object.
899  *
900  * @public @memberof GoProfileIntersect
901  * @version Introduced in firmware 4.0.10.27
902  * @param tool GoProfileIntersect object.
903  * @return A GoProfileIntersect Z measurement.
904  */
905 GoFx(GoProfileIntersectZ) GoProfileIntersect_ZMeasurement(GoProfileIntersect tool);
906 
907 /**
908  * Returns a GoProfileIntersect Angle measurement object.
909  *
910  * @public @memberof GoProfileIntersect
911  * @version Introduced in firmware 4.0.10.27
912  * @param tool GoProfileIntersect object.
913  * @return A GoProfileIntersect Angle measurement.
914  */
915 GoFx(GoProfileIntersectAngle) GoProfileIntersect_AngleMeasurement(GoProfileIntersect tool);
916 
917 
918 /**
919  * @class GoProfileLine
920  * @extends GoProfileTool
921  * @ingroup GoSdk-ProfileTools
922  * @brief Represents a profile line tool.
923  */
924 typedef GoProfileTool GoProfileLine;
925 
926 /**
927  * Gets the profile region.
928  *
929  * @public @memberof GoProfileDev
930  * @version Introduced in firmware 4.0.10.27
931  * @param tool GoProfileDev object.
932  * @return The profile region.
933  */
934 GoFx(GoProfileRegion) GoProfileLine_Region(GoProfileLine tool);
935 
936 /**
937  * Returns a GoProfileLine Standard Deviation measurement object.
938  *
939  * @public @memberof GoProfileLine
940  * @version Introduced in firmware 4.0.10.27
941  * @param tool GoProfileLine object.
942  * @return A GoProfileLine Standard Deviation measurement.
943  */
944 GoFx(GoProfileLineStdDev) GoProfileLine_StdDevMeasurement(GoProfileLine tool);
945 
946 /**
947  * Returns a GoProfileLine Maximum Error measurement object.
948  *
949  * @public @memberof GoProfileLine
950  * @version Introduced in firmware 4.0.10.27
951  * @param tool GoProfileLine object.
952  * @return A GoProfileLine Maximum Error measurement.
953  */
954 GoFx(GoProfileLineMaxError) GoProfileLine_MaxErrorMeasurement(GoProfileLine tool);
955 
956 /**
957  * Returns a GoProfileLine Minimum Error measurement object.
958  *
959  * @public @memberof GoProfileLine
960  * @version Introduced in firmware 4.0.10.27
961  * @param tool GoProfileLine object.
962  * @return A GoProfileLine Minimum Error measurement.
963  */
964 GoFx(GoProfileLineMinError) GoProfileLine_MinErrorMeasurement(GoProfileLine tool);
965 
966 /**
967  * Returns a GoProfileLine Percentile measurement object.
968  *
969  * @public @memberof GoProfileLine
970  * @version Introduced in firmware 4.0.10.27
971  * @param tool GoProfileLine object.
972  * @return A GoProfileLine Percentile measurement.
973  */
974 GoFx(GoProfileLinePercentile) GoProfileLine_PercentileMeasurement(GoProfileLine tool);
975 
976 
977 /**
978  * @class GoProfilePanel
979  * @extends GoProfileTool
980  * @ingroup GoSdk-ProfileTools
981  * @brief Represents a profile panel tool.
982  */
983 typedef GoProfileTool GoProfilePanel;
984 
985 /**
986  * Gets the maximum gap width.
987  *
988  * @public @memberof GoProfilePanel
989  * @version Introduced in firmware 4.0.10.27
990  * @param tool GoProfilePanel object.
991  * @return The maximum gap width.
992  */
993 GoFx(k64f) GoProfilePanel_MaxGapWidth(GoProfilePanel tool);
994 
995 /**
996  * Sets the maximum gap width.
997  *
998  * @public @memberof GoProfilePanel
999  * @version Introduced in firmware 4.0.10.27
1000  * @param tool GoProfilePanel object.
1001  * @param width The maximum gap width value to set.
1002  * @return Operation status.
1003  */
1004 GoFx(kStatus) GoProfilePanel_SetMaxGapWidth(GoProfilePanel tool, k64f width);
1005 
1006 /**
1007  * Gets the reference edge side.
1008  *
1009  * @public @memberof GoProfilePanel
1010  * @version Introduced in firmware 4.0.10.27
1011  * @param tool GoProfilePanel object.
1012  * @return The reference edge side.
1013  */
1014 GoFx(GoProfilePanelSide) GoProfilePanel_RefEdgeSide(GoProfilePanel tool);
1015 
1016 /**
1017  * Sets the reference edge side.
1018  *
1019  * @public @memberof GoProfilePanel
1020  * @version Introduced in firmware 4.0.10.27
1021  * @param tool GoProfilePanel object.
1022  * @param side The reference edge side.
1023  * @return Operation status.
1024  */
1025 GoFx(kStatus) GoProfilePanel_SetRefEdgeSide(GoProfilePanel tool, GoProfilePanelSide side);
1026 
1027 /**
1028  * Gets the left profile edge.
1029  *
1030  * @public @memberof GoProfilePanel
1031  * @version Introduced in firmware 4.0.10.27
1032  * @param tool GoProfilePanel object.
1033  * @return The left profile edge.
1034  */
1035 GoFx(GoProfileEdge) GoProfilePanel_LeftEdge(GoProfilePanel tool);
1036 
1037 /**
1038  * Gets the right profile edge.
1039  *
1040  * @public @memberof GoProfilePanel
1041  * @version Introduced in firmware 4.0.10.27
1042  * @param tool GoProfilePanel object.
1043  * @return The right profile edge.
1044  */
1045 GoFx(GoProfileEdge) GoProfilePanel_RightEdge(GoProfilePanel tool);
1046 
1047 /**
1048  * Returns a GoProfilePanel Gap measurement object.
1049  *
1050  * @public @memberof GoProfilePanel
1051  * @version Introduced in firmware 4.0.10.27
1052  * @param tool GoProfilePanel object.
1053  * @return A GoProfilePanel Gap measurement.
1054  */
1055 GoFx(GoProfilePanelGap) GoProfilePanel_GapMeasurement(GoProfilePanel tool);
1056 
1057 /**
1058  * Returns a GoProfilePanel Flush measurement object.
1059  *
1060  * @public @memberof GoProfilePanel
1061  * @version Introduced in firmware 4.0.10.27
1062  * @param tool GoProfilePanel object.
1063  * @return A GoProfilePanel Flush measurement.
1064  */
1065 GoFx(GoProfilePanelFlush) GoProfilePanel_FlushMeasurement(GoProfilePanel tool);
1066 
1067 
1068 /**
1069  * @class GoProfilePosition
1070  * @extends GoProfileTool
1071  * @ingroup GoSdk-ProfileTools
1072  * @brief Represents a profile position tool.
1073  */
1074 typedef GoProfileTool GoProfilePosition;
1075 
1076 /**
1077  * Gets the profile feature.
1078  *
1079  * @public @memberof GoProfilePosition
1080  * @version Introduced in firmware 4.0.10.27
1081  * @param tool GoProfilePos object.
1082  * @return The profile feature.
1083  */
1084 GoFx(GoProfileFeature) GoProfilePosition_Feature(GoProfilePosition tool);
1085 
1086 /**
1087  * Returns a GoProfilePosition X measurement object.
1088  *
1089  * @public @memberof GoProfilePosition
1090  * @version Introduced in firmware 4.0.10.27
1091  * @param tool GoProfilePosition object.
1092  * @return A GoProfilePosition X measurement.
1093  */
1094 GoFx(GoProfilePositionX) GoProfilePosition_XMeasurement(GoProfilePosition tool);
1095 
1096 /**
1097  * Returns a GoProfilePosition Z measurement object.
1098  *
1099  * @public @memberof GoProfilePosition
1100  * @version Introduced in firmware 4.0.10.27
1101  * @param tool GoProfilePosition object.
1102  * @return A GoProfilePosition Z measurement.
1103  */
1104 GoFx(GoProfilePositionZ) GoProfilePosition_ZMeasurement(GoProfilePosition tool);
1105 
1106 
1107 /**
1108  * @class GoProfileStrip
1109  * @extends GoProfileTool
1110  * @ingroup GoSdk-ProfileTools
1111  * @brief Represents a profile strip tool.
1112  */
1113 typedef GoProfileTool GoProfileStrip;
1114 
1115 /**
1116  * Sets the strip base type.
1117  *
1118  * @public @memberof GoProfileStrip
1119  * @version Introduced in firmware 4.0.10.27
1120  * @param tool GoProfileStrip object.
1121  * @param type The strip base type.
1122  * @return Operation status.
1123  */
1124 GoFx(kStatus) GoProfileStrip_SetBaseType(GoProfileStrip tool, GoProfileStripBaseType type);
1125 
1126 /**
1127  * Gets the strip base type.
1128  *
1129  * @public @memberof GoProfileStrip
1130  * @version Introduced in firmware 4.0.10.27
1131  * @param tool GoProfileStrip object.
1132  * @return The strip base type.
1133  */
1134 GoFx(GoProfileStripBaseType) GoProfileStrip_BaseType(GoProfileStrip tool);
1135 
1136 /**
1137  * Gets the left edge value.
1138  *
1139  * @public @memberof GoProfileStrip
1140  * @version Introduced in firmware 4.0.10.27
1141  * @param tool GoProfileStrip object.
1142  * @return The left edge value.
1143  */
1144 GoFx(k8u) GoProfileStrip_LeftEdge(GoProfileStrip tool);
1145 
1146 /**
1147  * Sets the left edge.
1148  *
1149  * @public @memberof GoProfileStrip
1150  * @version Introduced in firmware 4.0.10.27
1151  * @param tool GoProfileStrip object.
1152  * @param leftEdge Left edge value.
1153  * @return Operation status.
1154  */
1155 GoFx(kStatus) GoProfileStrip_SetLeftEdge(GoProfileStrip tool, k8u leftEdge);
1156 
1157 /**
1158  * Gets the right edge value.
1159  *
1160  * @public @memberof GoProfileStrip
1161  * @version Introduced in firmware 4.0.10.27
1162  * @param tool GoProfileStrip object.
1163  * @return The right edge value.
1164  */
1165 GoFx(k8u) GoProfileStrip_RightEdge(GoProfileStrip tool);
1166 
1167 /**
1168  * Sets the right edge.
1169  *
1170  * @public @memberof GoProfileStrip
1171  * @version Introduced in firmware 4.0.10.27
1172  * @param tool GoProfileStrip object.
1173  * @param rightEdge Right edge value.
1174  * @return Operation status.
1175  */
1176 GoFx(kStatus) GoProfileStrip_SetRightEdge(GoProfileStrip tool, k8u rightEdge);
1177 
1178 /**
1179  * Gets the tilt enabled state.
1180  *
1181  * @public @memberof GoProfileStrip
1182  * @version Introduced in firmware 4.0.10.27
1183  * @param tool GoProfileStrip object.
1184  * @return kTRUE if tilt is enabled, kFALSE otherwise.
1185  */
1186 GoFx(kBool) GoProfileStrip_TiltEnabled(GoProfileStrip tool);
1187 
1188 /**
1189  * Enables or disables tilt.
1190  *
1191  * @public @memberof GoProfileStrip
1192  * @version Introduced in firmware 4.0.10.27
1193  * @param tool GoProfileStrip object.
1194  * @param enable kTRUE to enable tilt, kFALSE to disable it.
1195  * @return Operation status.
1196  */
1197 GoFx(kStatus) GoProfileStrip_EnableTilt(GoProfileStrip tool, kBool enable);
1198 
1199 /**
1200  * Gets the transition width.
1201  *
1202  * @public @memberof GoProfileStrip
1203  * @version Introduced in firmware 4.0.10.27
1204  * @param tool GoProfileStrip object.
1205  * @return The transition width (in mm).
1206  */
1207 GoFx(k64f) GoProfileStrip_TransitionWidth(GoProfileStrip tool);
1208 
1209 /**
1210  * Sets the transition width.
1211  *
1212  * @public @memberof GoProfileStrip
1213  * @version Introduced in firmware 4.0.10.27
1214  * @param tool GoProfileStrip object.
1215  * @param value The transition width (in mm).
1216  * @return Operation status.
1217  */
1218 GoFx(kStatus) GoProfileStrip_SetTransitionWidth(GoProfileStrip tool, k64f value);
1219 
1220 /**
1221  * Gets the minimum width.
1222  *
1223  * @public @memberof GoProfileStrip
1224  * @version Introduced in firmware 4.0.10.27
1225  * @param tool GoProfileStrip object.
1226  * @return The minimum width (in mm).
1227  */
1228 GoFx(k64f) GoProfileStrip_MinWidth(GoProfileStrip tool);
1229 
1230 /**
1231  * Sets the minimum width.
1232  *
1233  * @public @memberof GoProfileStrip
1234  * @version Introduced in firmware 4.0.10.27
1235  * @param tool GoProfileStrip object.
1236  * @param value The minimum width (in mm).
1237  * @return Operation status.
1238  */
1239 GoFx(kStatus) GoProfileStrip_SetMinWidth(GoProfileStrip tool, k64f value);
1240 
1241 /**
1242  * Gets the minimum height.
1243  *
1244  * @public @memberof GoProfileStrip
1245  * @version Introduced in firmware 4.0.10.27
1246  * @param tool GoProfileStrip object.
1247  * @return The minimum height (in mm).
1248  */
1249 GoFx(k64f) GoProfileStrip_MinHeight(GoProfileStrip tool);
1250 
1251 /**
1252  * Sets the transition height.
1253  *
1254  * @public @memberof GoProfileStrip
1255  * @version Introduced in firmware 4.0.10.27
1256  * @param tool GoProfileStrip object.
1257  * @param value The minimum height (in mm).
1258  * @return Operation status.
1259  */
1260 GoFx(kStatus) GoProfileStrip_SetMinHeight(GoProfileStrip tool, k64f value);
1261 
1262 /**
1263  * Gets the maximum void width.
1264  *
1265  * @public @memberof GoProfileStrip
1266  * @version Introduced in firmware 4.0.10.27
1267  * @param tool GoProfileStrip object.
1268  * @return The maximum void width (in mm).
1269  */
1270 GoFx(k64f) GoProfileStrip_MaxVoidWidth(GoProfileStrip tool);
1271 
1272 /**
1273  * Sets the maximum void width.
1274  *
1275  * @public @memberof GoProfileStrip
1276  * @version Introduced in firmware 4.0.10.27
1277  * @param tool GoProfileStrip object.
1278  * @param value The maximum void width (in mm).
1279  * @return Operation status.
1280  */
1281 GoFx(kStatus) GoProfileStrip_SetMaxVoidWidth(GoProfileStrip tool, k64f value);
1282 
1283 /**
1284  * Gets the profile strip tool region.
1285  *
1286  * @public @memberof GoProfileStrip
1287  * @version Introduced in firmware 4.0.10.27
1288  * @param tool GoProfileStrip object.
1289  * @return A GoProfileRegion object.
1290  */
1291 GoFx(GoProfileRegion) GoProfileStrip_Region(GoProfileStrip tool);
1292 
1293 /**
1294  * Adds an additional profile strip tool measurement.
1295  *
1296  * @public @memberof GoProfileStrip
1297  * @version Introduced in firmware 4.0.10.27
1298  * @param tool GoProfileStrip object.
1299  * @param type The measurement type to add. It must be a valid profile strip tool type.
1300  * @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.
1301  * @return Operation status.
1302  */
1303 GoFx(kStatus) GoProfileStrip_AddMeasurement(GoProfileStrip tool, GoMeasurementType type, GoMeasurement* measurement);
1304 
1305 /**
1306  * Removes a measurement from the tool at the given index.
1307  *
1308  * @public @memberof GoProfileStrip
1309  * @version Introduced in firmware 4.0.10.27
1310  * @param tool GoProfileStrip object.
1311  * @param index The index with which to remove a measurement.
1312  * @return Operation status.
1313  */
1314 GoFx(kStatus) GoProfileStrip_RemoveMeasurement(GoProfileStrip tool, kSize index);
1315 
1316 /**
1317  * Returns the measurement count for the given tool.
1318  *
1319  * @public @memberof GoProfileStrip
1320  * @version Introduced in firmware 4.0.10.27
1321  * @param tool GoProfileStrip object.
1322  * @return Tool measurement count.
1323  */
1324 GoFx(kSize) GoProfileStrip_MeasurementCount(GoProfileStrip tool);
1325 
1326 /**
1327  * Returns a measurement object at the given index.
1328  *
1329  * @public @memberof GoProfileStrip
1330  * @version Introduced in firmware 4.0.10.27
1331  * @param tool GoProfileStrip object.
1332  * @param index The index with which to return a measurement object.
1333  * @return A profile strip tool measurement or kNULL if the index is invalid.
1334  */
1335 GoFx(GoMeasurement) GoProfileStrip_MeasurementAt(GoProfileStrip tool, kSize index);
1336 
1337 
1338 /**
1339  * @class GoProfileXLine
1340  * @extends GoProfileTool
1341  * @ingroup GoSdk-ProfileTools
1342  * @brief Represents a profile X-Line tool.
1343 */
1344 typedef GoProfileTool GoProfileXLine;
1345 
1346 /**
1347  * Returns the enabled state of the tool region.
1348  *
1349  * @public @memberof GoProfileXLine
1350  * @param tool GoProfileXLine object.
1351  * @return kTRUE if enabled and kFALSE if disabled.
1352  */
1353 GoFx(kBool) GoProfileXLine_RegionEnabled(GoProfileXLine tool);
1354 
1355 /**
1356  * Enables or disables the tool region.
1357  *
1358  * @public @memberof GoProfileXLine
1359  * @param tool GoProfileXLine object.
1360  * @param enable kTRUE to enable the tool region, kFALSE to disable it.
1361  * @return Operation status.
1362  */
1363 GoFx(kStatus) GoProfileXLine_EnableRegion(GoProfileXLine tool, kBool enable);
1364 
1365 /**
1366  * Gets the profile X-Line tool region.
1367  *
1368  * @public @memberof GoProfileXLine
1369  * @param tool GoProfileXLine object.
1370  * @return A GoRegion3d object.
1371  */
1372 GoFx(GoProfileRegion) GoProfileXLine_Region(GoProfileXLine tool);
1373 
1374 /**
1375  * Sets the profile X-Line tool maximum tracking speed.
1376  *
1377  * @public @memberof GoProfileXLine
1378  * @param tool GoProfileXLine object.
1379  * @param value The value to set.
1380  * @return Operation status.
1381  */
1382 GoFx(kStatus) GoProfileXLine_SetMaxTrackingSpeed(GoProfileXLine tool, k64f value);
1383 
1384 /**
1385  * Gets the profile X-Line tool maximum tracking speed.
1386  *
1387  * @public @memberof GoProfileXLine
1388  * @param tool GoProfileXLine object.
1389  * @return The maximum tracking speed.
1390  */
1391 GoFx(k64f) GoProfileXLine_MaxTrackingSpeed(GoProfileXLine tool);
1392 
1393 /**
1394  * Returns a GoProfileXLine Z measurement object.
1395  *
1396  * @public @memberof GoProfileXLine
1397  * @param tool GoProfileXLine object.
1398  * @return A GoProfileXLine Z measurement.
1399  */
1400 GoFx(GoProfileXLineZ) GoProfileXLine_ZMeasurement(GoProfileXLine tool);
1401 
1402 /**
1403  * Returns a GoProfileXLine Validity measurement object.
1404  *
1405  * @public @memberof GoProfileXLine
1406  * @param tool GoProfileXLine object.
1407  * @return A GoProfileXLine Validity measurement.
1408  */
1409 GoFx(GoProfileXLineZ) GoProfileXLine_ValidityMeasurement(GoProfileXLine tool);
1410 
1411 kEndHeader()
1412 #include <GoSdk/Tools/GoProfileTools.x.h>
1413 
1414 #endif
1415 /// @endcond
Declares the base GoTool class.
Represents the base class for a tool measurement or script output.
Lists all measurement types.
Represents a data source.
Contains various helper functions.
Essential SDK declarations.
Represents the base tool class.