Gocator API
GoRangeTools.h
1 /// @cond Gocator_1x00
2 /**
3  * @file GoRangeTools.h
4  * @brief Declares all range tools and their related classes.
5  *
6  * @internal
7  * Copyright (C) 2016-2020 by LMI Technologies Inc.
8  * Licensed under the MIT License.
9  * Redistributed files must retain the above copyright notice.
10  */
11 #ifndef GO_RANGE_TOOLS_H
12 #define GO_RANGE_TOOLS_H
13 
14 #include <GoSdk/GoSdkDef.h>
15 #include <GoSdk/GoUtils.h>
16 #include <GoSdk/Tools/GoTool.h>
17 kBeginHeader()
18 
19 /**
20  * @class GoRangeTool
21  * @extends GoTool
22  * @ingroup GoSdk-RangeTools
23  * @brief Represents a base range tool.
24  */
25 typedef GoTool GoRangeTool;
26 
27 /**
28  * Sets the data stream. Note that stream validation will only occur if tool
29  * is in the tool options list.
30  *
31  * @public @memberof GoRangeTool
32  * @version Introduced in firmware 5.2.29.2
33  * @param tool GoRangeTool object.
34  * @param stream GoDataStream value.
35  * @return Operation status.
36  * @see GoRangeTool_StreamOptionCount, GoRangeTool_StreamOptionAt
37  */
38 GoFx(kStatus) GoRangeTool_SetStream(GoRangeTool tool, GoDataStream stream);
39 
40 /**
41  * Gets the data stream.
42  *
43  * @public @memberof GoRangeTool
44  * @version Introduced in firmware 5.2.29.2
45  * @param tool GoRangeTool object.
46  * @return The current Range tool data stream value.
47  */
48 GoFx(GoDataStream) GoRangeTool_Stream(GoRangeTool tool);
49 
50 /**
51  * Gets the data stream option list count.
52  *
53  * @public @memberof GoRangeTool
54  * @version Introduced in firmware 5.2.29.2
55  * @param tool GoRangeTool object.
56  * @return The current Range tool data stream option list count.
57  */
58 GoFx(kSize) GoRangeTool_StreamOptionCount(GoRangeTool tool);
59 
60 /**
61  * Gets the data stream option at the given index.
62  *
63  * @public @memberof GoRangeTool
64  * @version Introduced in firmware 5.2.29.2
65  * @param tool GoRangeTool object.
66  * @param index The index of the option list to access.
67  * @return The Range tool data stream option at the given index, or k32U_MAX if an invalid index is given.
68  */
69 GoFx(GoDataStream) GoRangeTool_StreamOptionAt(GoRangeTool tool, kSize index);
70 
71 /**
72  * Sets the data source. Note that source validation will only occur if tool
73  * is in the tool options list.
74  *
75  * @public @memberof GoRangeTool
76  * @version Introduced in firmware 4.0.10.27
77  * @param tool GoRangeTool object.
78  * @param source GoDataSource object.
79  * @return Operation status.
80  * @see GoTools_ToolOptionCount, GoTools_ToolOptionAt
81  */
82 GoFx(kStatus) GoRangeTool_SetSource(GoRangeTool tool, GoDataSource source);
83 
84 /**
85  * Gets the data source.
86  *
87  * @public @memberof GoRangeTool
88  * @version Introduced in firmware 4.0.10.27
89  * @param tool GoRangeTool object.
90  * @return The data source.
91  */
92 GoFx(GoDataSource) GoRangeTool_Source(GoRangeTool tool);
93 
94 /**
95  * Gets the data source option list count.
96  *
97  * @public @memberof GoRangeTool
98  * @version Introduced in firmware 4.0.10.27
99  * @param tool GoRangeTool object.
100  * @return The data source option list count.
101  */
102 GoFx(kSize) GoRangeTool_SourceOptionCount(GoRangeTool tool);
103 
104 /**
105  * Gets the data source option at the given index.
106  *
107  * @public @memberof GoRangeTool
108  * @version Introduced in firmware 4.0.10.27
109  * @param tool GoRangeTool object.
110  * @param index The index with which to retrieve a data source option.
111  * @return The data source option at the given index or k32U_MAX if an invalid index is given.
112  */
113 GoFx(GoDataSource) GoRangeTool_SourceOptionAt(GoRangeTool tool, kSize index);
114 
115 /**
116  * @class GoRangePosition
117  * @extends GoRangeTool
118  * @ingroup GoSdk-RangeTools
119  * @brief Represents a range position tool.
120  */
121 typedef GoRangeTool GoRangePosition;
122 
123 /**
124  * Returns a range position tool Z measurement object.
125  *
126  * @public @memberof GoRangePosition
127  * @version Introduced in firmware 4.0.10.27
128  * @param tool GoRangePosition object.
129  * @return A GoRangePositionZ measurement.
130  */
131 GoFx(GoRangePositionZ) GoRangePosition_ZMeasurement(GoRangePosition tool);
132 
133 /**
134  * @class GoRangeThickness
135  * @extends GoRangeTool
136  * @ingroup GoSdk-RangeTools
137  * @brief Represents a range thickness tool.
138  */
139 typedef GoRangeTool GoRangeThickness;
140 
141 /**
142  * Returns a boolean value representing whether or not the measurement is set to return an absolute value.
143  *
144  * @public @memberof GoRangePosition
145  * @version Introduced in firmware 4.0.10.27
146  * @param tool GoRangePosition object.
147  * @return kTRUE if enabled and kFALSE otherwise.
148  */
149 GoFx(kBool) GoRangeThickness_AbsoluteEnabled(GoRangeThickness tool);
150 
151 /**
152  * Enable or disable absolute value measurement output.
153  *
154  * @public @memberof GoRangePosition
155  * @version Introduced in firmware 4.0.10.27
156  * @param tool GoRangePosition object.
157  * @param enable kTRUE to enable absolute value and kFALSE to disable it.
158  * @return Operation status.
159  */
160 GoFx(kStatus) GoRangeThickness_EnableAbsolute(GoRangeThickness tool, kBool enable);
161 
162 /**
163  * Returns a range thickness tool Thickness measurement object.
164  *
165  * @public @memberof GoRangeThickness
166  * @version Introduced in firmware 4.0.10.27
167  * @param tool GoRangeThickness object.
168  * @return A GoRangeThicknessThickness measurement.
169  */
170 GoFx(GoRangeThickness) GoRangeThickness_ThicknessMeasurement(GoRangeThickness tool);
171 
172 kEndHeader()
173 
174 #include <GoSdk/Tools/GoRangeTools.x.h>
175 
176 #endif
177 /// @endcond
Declares the base GoTool class.
Represents a data stream which consists of a data step and ID.
Definition: GoSdkDef.h:1193
Represents a data source.
Contains various helper functions.
Essential SDK declarations.
Represents the base tool class.