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