Gocator API

- Home
- Types
- Files

All Classes Files Functions Variables Typedefs Macros Modules Pages
GoExtTool.h
Go to the documentation of this file.
1 /**
2 * @file GoExtTool.h
3 * @brief Declares the base GoExtTool class.
4 *
5 * @internal
6 * Copyright (C) 2016-2018 by LMI Technologies Inc.
7 * Licensed under the MIT License.
8 * Redistributed files must retain the above copyright notice.
9 */
10 #ifndef GO_EXT_TOOL_H
11 #define GO_EXT_TOOL_H
12
13 ///@cond private
14
15 #include <GoSdk/GoSdkDef.h>
16 #include <GoSdk/Tools/GoTool.h>
17 #include <GoSdk/Tools/GoExtParams.h>
18 #include <GoSdk/Tools/GoExtToolDataOutput.h>
19 #include <kApi/Data/kXml.h>
20
21 kBeginHeader()
22
23 /**
24 * @class GoExtTool
25 * @extends GoTool
26 * @ingroup GoSdk-Tools
27 * @brief Represents an extensible tool.
28 */
29 typedef GoTool GoExtTool;
30
31 /**
32 * Returns the tool configuration version string.
33 *
34 * @public @memberof GoExtTool
35 * @version Introduced in firmware 4.4.4.14
36 * @param tool GoExtTool object.
37 * @return The tool configuration version string.
38 */
39 GoFx(const kChar*) GoExtTool_Version(GoExtTool tool);
40
41 /**
42 * Returns the measurement count.
43 *
44 * @public @memberof GoExtTool
45 * @version Introduced in firmware 4.4.4.14
46 * @param tool GoExtTool object.
47 * @return The measurement count.
48 */
49 GoFx(kSize) GoExtTool_MeasurementCount(GoExtTool tool);
50
51 /**
52 * Retrieves the measurement at the given index.
53 *
54 * @public @memberof GoExtTool
55 * @version Introduced in firmware 4.4.4.14
56 * @param tool GoExtTool object.
57 * @param index The index of the measurement.
58 * @return The measurement at the given index or kNULL if an invalid index is provided.
59 */
60 GoFx(GoMeasurement) GoExtTool_MeasurementAt(GoExtTool tool, kSize index);
61
62 /**
63 * Sets the name of the tool.
64 *
65 * @public @memberof GoExtTool
66 * @version Introduced in firmware 4.4.4.14
67 * @param tool GoExtTool object.
68 * @param name The name to be set for the tool.
69 * @return Operation status.
70 */
71 GoFx(kStatus) GoExtTool_SetDisplayName(GoExtTool tool, const kChar* name);
72
73 /**
74 * Retrieves the display name of the tool.
75 *
76 * @public @memberof GoExtTool
77 * @version Introduced in firmware 4.4.4.14
78 * @param tool GoExtTool object.
79 * @return The tool display name.
80 */
81 GoFx(const kChar*) GoExtTool_DisplayName(GoExtTool tool);
82
83 /**
84 * Retrieves the type of the tool.
85 *
86 * @public @memberof GoExtTool
87 * @version Introduced in firmware 4.4.4.14
88 * @param tool GoExtTool object.
89 * @return The tool type as a character array.
90 */
91 GoFx(const kChar*) GoExtTool_Type(GoExtTool tool);
92
93 /**
94 * Sets the data source.
95 *
96 * @public @memberof GoExtTool
97 * @version Introduced in firmware 4.4.4.14
98 * @param tool GoExtTool object.
99 * @param source GoDataSource object.
100 * @return Operation status.
101 * @see GoExtTool_IntensitySupportEnabled
102 */
103 GoFx(kStatus) GoExtTool_SetSource(GoExtTool tool, GoDataSource source);
104
105 /**
106 * Gets the data source.
107 *
108 * @public @memberof GoExtTool
109 * @version Introduced in firmware 4.4.4.14
110 * @param tool GoExtTool object.
111 * @return The data source.
112 */
113 GoFx(GoDataSource) GoExtTool_Source(GoExtTool tool);
114
115 /**
116 * Gets the data source option list count.
117 *
118 * @public @memberof GoExtTool
119 * @version Introduced in firmware 4.4.4.14
120 * @param tool GoExtTool object.
121 * @return The current tool data source option list count.
122 */
123 GoFx(kSize) GoExtTool_SourceOptionCount(GoExtTool tool);
124
125 /**
126 * Gets the data source option at the given index.
127 *
128 * @public @memberof GoExtTool
129 * @version Introduced in firmware 4.4.4.14
130 * @param tool GoExtTool object.
131 * @param index The index of the option list to access.
132 * @return The tool data source option at the given index, or k32U_MAX if an invalid index is given.
133 */
134 GoFx(k32u) GoExtTool_SourceOptionAt(GoExtTool tool, kSize index);
135
136 /**
137 * Returns a boolean value representing whether the tool supports x anchoring.
138 *
139 * @public @memberof GoExtTool
140 * @version Introduced in firmware 4.4.4.14
141 * @param tool GoExtTool object.
142 * @return kTRUE if supported, kFALSE if not.
143 */
144 GoFx(kBool) GoExtTool_XAnchorSupportEnabled(GoExtTool tool);
145
146 /**
147 * Gets the X-anchoring option list count.
148 *
149 * @public @memberof GoExtTool
150 * @version Introduced in firmware 4.4.4.14
151 *
152 * @param tool GoExtTool object.
153 * @return The X-anchoring option list count.
154 */
155 GoFx(kSize) GoExtTool_XAnchorOptionCount(GoExtTool tool);
156
157 /**
158 * Gets the X-anchoring option at the given index.
159 *
160 * @public @memberof GoExtTool
161 * @version Introduced in firmware 4.4.4.14
162 *
163 * @param tool GoExtTool object.
164 * @param index The index of the option list to access.
165 * @return The X-anchoring option at the given index or k32U_MAX if invalid.
166 */
167 GoFx(k32u) GoExtTool_XAnchorOptionAt(GoExtTool tool, kSize index);
168
169 /**
170 * Gets the current X-anchoring source.
171 *
172 * @public @memberof GoExtTool
173 * @version Introduced in firmware 4.4.4.14
174 *
175 * @param tool GoExtTool object.
176 * @return The X-anchoring source or -1 if no source is currently set.
177 */
178 GoFx(k32s) GoExtTool_XAnchor(GoExtTool tool);
179
180 /**
181 * Sets the X-anchoring source.
182 *
183 * @public @memberof GoExtTool
184 * @version Introduced in firmware 4.4.4.14
185 *
186 * @param tool GoExtTool object.
187 * @param id The measurement ID of a valid X-anchoring source.
188 * @return Operation status.
189 * @see GoExtTool_AnchorSupportEnabled
190 */
191 GoFx(kStatus) GoExtTool_SetXAnchor(GoExtTool tool, k32s id);
192
193 /**
194 * Returns a boolean value representing whether or not a valid X-anchoring source has been set for X-anchoring.
195 *
196 * @public @memberof GoExtTool
197 * @version Introduced in firmware 4.4.4.14
198 *
199 * @param tool GoExtTool object.
200 * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
201 * @see GoExtTool_AnchorSupportEnabled
202 */
203 GoFx(kBool) GoExtTool_XAnchorEnabled(GoExtTool tool);
204
205 ///@cond (Gocator_3x00)
206
207 /**
208 * Returns a boolean value representing whether the tool supports y anchoring.
209 *
210 * @public @memberof GoExtTool
211 * @version Introduced in firmware 4.6.3.95
212 * @param tool GoExtTool object.
213 * @return kTRUE if supported, kFALSE if not.
214 */
215 GoFx(kBool) GoExtTool_YAnchorSupportEnabled(GoExtTool tool);
216
217 /**
218 * Gets the Y-anchoring option list count.
219 *
220 * @public @memberof GoExtTool
221 * @version Introduced in firmware 4.4.4.14
222 *
223 * @param tool GoExtTool object.
224 * @return The Y-anchoring option list count.
225 */
226 GoFx(kSize) GoExtTool_YAnchorOptionCount(GoExtTool tool);
227
228 /**
229 * Gets the Y-anchoring option at the given index.
230 *
231 * @public @memberof GoExtTool
232 * @version Introduced in firmware 4.4.4.14
233 *
234 * @param tool GoExtTool object.
235 * @param index The index of the option list to access.
236 * @return The Y-anchoring option at the given index or k32U_MAX if invalid.
237 */
238 GoFx(k32u) GoExtTool_YAnchorOptionAt(GoExtTool tool, kSize index);
239
240 /**
241 * Gets the current Y-anchoring source.
242 *
243 * @public @memberof GoExtTool
244 * @version Introduced in firmware 4.4.4.14
245 *
246 * @param tool GoExtTool object.
247 * @return The Y-anchoring source or -1 if no source is currently set.
248 */
249 GoFx(k32s) GoExtTool_YAnchor(GoExtTool tool);
250
251 /**
252 * Sets the Y-anchoring source.
253 *
254 * @public @memberof GoExtTool
255 * @version Introduced in firmware 4.4.4.14
256 * @param tool GoExtTool object.
257 * @param id The measurement ID of a valid Y-anchoring source.
258 * @return Operation status.
259 * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
260 */
261 GoFx(kStatus) GoExtTool_SetYAnchor(GoExtTool tool, k32s id);
262
263 /**
264 * Returns a boolean value representing whether or not a valid Y-anchoring source has been set for Y-anchoring.
265 *
266 * @public @memberof GoExtTool
267 * @version Introduced in firmware 4.4.4.14
268 * @param tool GoExtTool object.
269 * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
270 * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
271 */
272 GoFx(kBool) GoExtTool_YAnchorEnabled(GoExtTool tool);
273
274 ///@endcond
275
276 ///@cond (Gocator_2x00 || Gocator_3x00)
277
278 /**
279 * Returns a boolean value representing whether the tool supports z anchoring.
280 *
281 * @public @memberof GoExtTool
282 * @version Introduced in firmware 4.6.3.95
283 * @param tool GoExtTool object.
284 * @return kTRUE if supported, kFALSE if not.
285 */
286 GoFx(kBool) GoExtTool_ZAnchorSupportEnabled(GoExtTool tool);
287
288 /**
289 * Gets the Z-anchoring option list count.
290 *
291 * @public @memberof GoExtTool
292 * @version Introduced in firmware 4.4.4.14
293 * @param tool GoExtTool object.
294 * @return The X-anchoring option list count.
295 */
296 GoFx(kSize) GoExtTool_ZAnchorOptionCount(GoExtTool tool);
297
298 /**
299 * Gets the Z-anchoring option at the given index.
300 *
301 * @public @memberof GoExtTool
302 * @version Introduced in firmware 4.4.4.14
303 * @param tool GoExtTool object.
304 * @param index The index of the option list to access.
305 * @return The Z-anchoring option at the given index or k32U_MAX if invalid.
306 */
307 GoFx(k32u) GoExtTool_ZAnchorOptionAt(GoExtTool tool, kSize index);
308
309 /**
310 * Gets the current Z-anchoring source.
311 *
312 * @public @memberof GoExtTool
313 * @version Introduced in firmware 4.4.4.14
314 * @param tool GoExtTool object.
315 * @return The Z-anchoring source or -1 if no source is currently set.
316 */
317 GoFx(k32s) GoExtTool_ZAnchor(GoExtTool tool);
318
319 /**
320 * Sets the Z-anchoring source.
321 *
322 * @public @memberof GoExtTool
323 * @version Introduced in firmware 4.4.4.14
324 * @param tool GoExtTool object.
325 * @param id The measurement ID of a valid Z-anchoring source.
326 * @return Operation status.
327 * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
328 */
329 GoFx(kStatus) GoExtTool_SetZAnchor(GoExtTool tool, k32s id);
330
331 /**
332 * Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anchoring.
333 *
334 * @public @memberof GoExtTool
335 * @version Introduced in firmware 4.4.4.14
336 * @param tool GoExtTool object.
337 * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
338 * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
339 */
340 GoFx(kBool) GoExtTool_ZAnchorEnabled(GoExtTool tool);
341
342 ///@endcond
343
344 ///@cond (Gocator_2x00 || Gocator_3x00)
345
346 /**
347 * Returns a boolean value representing whether the tool supports z angle anchoring.
348 *
349 * @public @memberof GoExtTool
350 * @version Introduced in firmware 4.6.3.95
351 * @param tool GoExtTool object.
352 * @return kTRUE if supported, kFALSE if not.
353 */
354 GoFx(kBool) GoExtTool_ZAngleAnchorSupportEnabled(GoExtTool tool);
355
356 /**
357 * Gets the ZAngle-anchoring option list count.
358 *
359 * @public @memberof GoExtTool
360 * @version Introduced in firmware 4.6.2.133
361 * @param tool GoExtTool object.
362 * @return The ZAngle-anchoring option list count.
363 */
364 GoFx(kSize) GoExtTool_ZAngleAnchorOptionCount(GoExtTool tool);
365
366 /**
367 * Gets the ZAngle-anchoring option at the given index.
368 *
369 * @public @memberof GoExtTool
370 * @version Introduced in firmware 4.6.2.133
371 * @param tool GoExtTool object.
372 * @param index The index of the option list to access.
373 * @return The ZAngle-anchoring option at the given index or k32U_MAX if invalid.
374 */
375 GoFx(k32u) GoExtTool_ZAngleAnchorOptionAt(GoExtTool tool, kSize index);
376
377 /**
378 * Gets the current Z-anchoring source.
379 *
380 * @public @memberof GoExtTool
381 * @version Introduced in firmware 4.6.2.133
382 * @param tool GoExtTool object.
383 * @return The ZAngle-anchoring source or -1 if no source is currently set.
384 */
385 GoFx(k32s) GoExtTool_ZAngleAnchor(GoExtTool tool);
386
387 /**
388 * Sets the Z-anchoring source.
389 *
390 * @public @memberof GoExtTool
391 * @version Introduced in firmware 4.6.2.133
392 * @param tool GoExtTool object.
393 * @param id The measurement ID of a valid Z-anchoring source.
394 * @return Operation status.
395 * @see GoExtTool_AngleAnchorSupportEnabled, GoExtTool_Type
396 */
397 GoFx(kStatus) GoExtTool_SetZAngleAnchor(GoExtTool tool, k32s id);
398
399 /**
400 * Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anchoring.
401 *
402 * @public @memberof GoExtTool
403 * @version Introduced in firmware 4.6.2.133
404 * @param tool GoExtTool object.
405 * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
406 * @see GoExtTool_AngleAnchorSupportEnabled, GoExtTool_Type
407 */
408 GoFx(kBool) GoExtTool_ZAngleAnchorEnabled(GoExtTool tool);
409
410 ///@endcond
411
412 /**
413 * Retrieves the first found instance of a measurement for a given enumeration type.
414 *
415 * @public @memberof GoExtTool
416 * @version Introduced in firmware 4.4.4.14
417 * @param tool GoExtTool object.
418 * @param name The name of the measurement to retrieve.
419 * @return A measurement object if one is found, otherwise kNULL.
420 */
421 GoFx(GoMeasurement) GoExtTool_FindMeasurementByName(GoExtTool tool, const kChar* name);
422
423 /**
424 * Returns the number of parameters available for the given tool.
425 *
426 * @public @memberof GoExtTool
427 * @version Introduced in firmware 4.4.4.14
428 * @param tool GoExtTool object.
429 * @return Parameter count.
430 */
431 GoFx(kSize) GoExtTool_ParameterCount(GoExtTool tool);
432
433 /**
434 * Returns the parameter at the given index.
435 *
436 * @public @memberof GoExtTool
437 * @version Introduced in firmware 4.4.4.14
438 * @param tool GoExtTool object.
439 * @param index The index of the parameter to retrieve.
440 * @return The custom tool parameter object.
441 */
442 GoFx(GoExtParam) GoExtTool_ParameterAt(GoExtTool tool, kSize index);
443
444 /**
445 * Returns the parameter which matches the given label.
446 *
447 * @public @memberof GoExtTool
448 * @version Introduced in firmware 4.4.4.14
449 * @param tool GoExtTool object.
450 * @param label The label of the parameter to retrieve.
451 * @return The parameter matching the label or kNULL if no match is found.
452 * @remark The search is case sensitive.
453 */
454 GoFx(GoExtParam) GoExtTool_FindParameterById(GoExtTool tool, const kChar* label);
455
456 /**
457 * Returns the number of tool data outputs available for the given tool.
458 *
459 * @public @memberof GoExtTool
460 * @version Introduced in firmware 4.7.3.97
461 * @param tool GoExtTool object.
462 * @return Tool data output count.
463 */
464 GoFx(kSize) GoExtTool_ToolDataOutputCount(GoExtTool tool);
465
466 /**
467 * Returns the tool data output item at the given index.
468 *
469 * @public @memberof GoExtTool
470 * @version Introduced in firmware 4.7.3.97
471 * @param tool GoExtTool object.
472 * @param index The index of the tool data output item to retrieve.
473 * @return The custom tool data output object or kNULL if no such entry.
474 */
475 GoFx(GoExtToolDataOutput) GoExtTool_ToolDataOutputAt(GoExtTool tool, kSize index);
476
477 kEndHeader()
478 #include <GoSdk/Tools/GoExtTool.x.h>
479
480 ///@endcond
481
482 #endif
k32u
GoTool.h
Declares the base GoTool class.
GoMeasurement
Represents the base class for a tool measurement or script output.
kSize
GoDataSource
Represents a data source.
kChar
GoExtToolDataOutput.h
Declares the GoExtToolDataOutput class.
GoSdkDef.h
Essential SDK declarations.
GoTool
Represents the base tool class.
k32s
GoExtToolDataOutput
Represents the base class for a tool data output.
kStatus
kXml.h
kBool