Gocator API
 All Classes Files Functions Variables Typedefs Macros Modules Pages
GoProfileToolUtils.h
Go to the documentation of this file.
1 /**
2  * @file GoProfileToolUtils.h
3  * @brief Declares shared profile tool configuration classes.
4  *
5  * @internal
6  * Copyright (C) 2016-2022 by LMI Technologies Inc.
7  * Licensed under the MIT License.
8  * Redistributed files must retain the above copyright notice.
9  */
10 #ifndef GO_PROFILE_TOOL_UTILS_H
11 #define GO_PROFILE_TOOL_UTILS_H
12 
13 #include <GoSdk/GoSdkDef.h>
14 #include <GoSdk/GoUtils.h>
15 
16 /**
17  * @class GoProfileRegion
18  * @extends kObject
19  * @note Supported with G1, G2
20  * @ingroup GoSdk-ProfileTools
21  * @brief Represents a profile region used in various profile tools.
22  */
23 typedef kObject GoProfileRegion;
24 
25 /**
26  * Sets the X position.
27  *
28  * @public @memberof GoProfileRegion
29  * @note Supported with G1, G2
30  * @version Introduced in firmware 4.0.10.27
31  * @param region GoProfileRegion object.
32  * @param x The X-position to set.
33  * @return Operation status.
34  */
36 
37 /**
38  * Gets the X-position.
39  *
40  * @public @memberof GoProfileRegion
41  * @note Supported with G1, G2
42  * @version Introduced in firmware 4.0.10.27
43  * @param region GoProfileRegion object.
44  * @return The X-position of the region.
45  */
47 
48 /**
49  * Sets the Z-position.
50  *
51  * @public @memberof GoProfileRegion
52  * @note Supported with G1, G2
53  * @version Introduced in firmware 4.0.10.27
54  * @param region GoProfileRegion object.
55  * @param z The Z-position to set.
56  * @return Operation status.
57  */
59 
60 /**
61  * Gets the Z-position.
62  *
63  * @public @memberof GoProfileRegion
64  * @note Supported with G1, G2
65  * @version Introduced in firmware 4.0.10.27
66  * @param region GoProfileRegion object.
67  * @return The Z-position of the region.
68  */
70 
71 /**
72  * Sets the width.
73  *
74  * @public @memberof GoProfileRegion
75  * @note Supported with G1, G2
76  * @version Introduced in firmware 4.0.10.27
77  * @param region GoProfileRegion object.
78  * @param width The width to set.
79  * @return Operation status.
80  */
82 
83 /**
84  * Gets the width.
85  *
86  * @public @memberof GoProfileRegion
87  * @note Supported with G1, G2
88  * @version Introduced in firmware 4.0.10.27
89  * @param region GoProfileRegion object.
90  * @return The width of the region.
91  */
93 
94 /**
95  * Sets the height.
96  *
97  * @public @memberof GoProfileRegion
98  * @note Supported with G1, G2
99  * @version Introduced in firmware 4.0.10.27
100  * @param region GoProfileRegion object.
101  * @param height The height to set.
102  * @return Operation status.
103  */
105 
106 /**
107  * Gets the height.
108  *
109  * @public @memberof GoProfileRegion
110  * @note Supported with G1, G2
111  * @version Introduced in firmware 4.0.10.27
112  * @param region GoProfileRegion object.
113  * @return The height of the region.
114  */
116 
117 /**
118 * @class GoProfileFeature
119 * @extends kObject
120 * @note Supported with G1, G2
121 * @ingroup GoSdk-ProfileTools
122 * @brief Represents a profile feature used in various profile tools.
123 */
124 typedef kObject GoProfileFeature;
125 
126 /**
127  * Sets the feature type.
128  *
129  * @public @memberof GoProfileFeature
130  * @note Supported with G1, G2
131  * @version Introduced in firmware 4.0.10.27
132  * @param feature GoProfileFeature object.
133  * @param type GoProfileFeatureType object.
134  * @return Operation status.
135  */
136 GoFx(kStatus) GoProfileFeature_SetType(GoProfileFeature feature, GoProfileFeatureType type);
137 
138 /**
139  * Gets the profile feature type.
140  *
141  * @public @memberof GoProfileFeature
142  * @note Supported with G1, G2
143  * @version Introduced in firmware 4.0.10.27
144  * @param feature GoProfileFeature object.
145  * @return The feature type.
146  */
147 GoFx(GoProfileFeatureType) GoProfileFeature_Type(GoProfileFeature feature);
148 
149 /**
150  * Gets the profile feature region.
151  *
152  * @public @memberof GoProfileFeature
153  * @note Supported with G1, G2
154  * @version Introduced in firmware 4.0.10.27
155  * @param feature GoProfileFeature object.
156  * @return A GoProfileRegion object.
157  */
158 GoFx(GoProfileRegion) GoProfileFeature_Region(GoProfileFeature feature);
159 
160 /**
161  * Enables the region.
162  *
163  * @public @memberof GoProfileRegion
164  * @note Supported with G1, G2
165  * @version Introduced in firmware 4.4.4.14
166  * @param feature GoProfileFeature object.
167  * @param enable kTRUE to use the region, kFALSE otherwise.
168  * @return Operation status.
169  */
170 GoFx(kStatus) GoProfileFeature_EnableRegion(GoProfileFeature feature, kBool enable);
171 
172 /**
173  * Indicates whether the region is enabled.
174  *
175  * @public @memberof GoProfileFeature
176  * @note Supported with G1, G2
177  * @version Introduced in firmware 4.4.4.14
178  * @param feature GoProfileFeature object.
179  * @return kTRUE if the region is enabled and kFALSE otherwise.
180  */
181 GoFx(kBool) GoProfileFeature_RegionEnabled(GoProfileFeature feature);
182 
183 /**
184 * @class GoProfileLineFittingRegion
185 * @extends kObject
186 * @ingroup GoSdk-ProfileTools
187 * @brief Represents a profile line region used in various profile tools.
188 */
190 
191 /**
192  * Returns the number of regions.
193  *
194  * @public @memberof GoProfileLine
195  * @note Supported with G1, G2
196  * @version Introduced in firmware 4.0.10.27
197  * @param lineRegion GoProfileLineFittingRegion object.
198  * @return The region count.
199  */
200 GoFx(k32u) GoProfileLineFittingRegion_RegionCount(GoProfileLineFittingRegion lineRegion);
201 
202 /**
203 * Sets the number of regions in use.
204 *
205 * @public @memberof GoProfileLine
206 * @version Introduced in firmware 4.7.11.65
207 * @param lineRegion GoProfileLineFittingRegion object.
208 * @param count number of regions configured
209 * @return Operation status.
210 */
211 GoFx(kStatus) GoProfileLineFittingRegion_SetRegionCount(GoProfileLineFittingRegion lineRegion, kSize count);
212 
213 /**
214  * Gets the profile region based on the given index.
215  *
216  * @public @memberof GoProfileLine
217  * @note Supported with G1, G2
218  * @version Introduced in firmware 4.0.10.27
219  * @param lineRegion GoProfileLineFittingRegion object.
220  * @param index The index of the profile region to return.
221  * @return The profile region.
222  * @see GoProfileLineFittingRegion_RegionCount
223  */
224 GoFx(GoProfileRegion) GoProfileLineFittingRegion_RegionAt(GoProfileLineFittingRegion lineRegion, kSize index);
225 
226 /**
227  * Enables the region.
228  *
229  * @public @memberof GoProfileRegion
230  * @note Supported with G1, G2
231  * @version Introduced in firmware 4.4.4.14
232  * @param lineRegion GoProfileLineFittingRegion object.
233  * @param index The region index of which to modify.
234  * @param enable kTRUE to use the region, kFALSE otherwise.
235  * @return Operation status.
236  */
237 GoFx(kStatus) GoProfileLineFittingRegion_EnableRegionAt(GoProfileLineFittingRegion lineRegion, kSize index, kBool enable);
238 
239 /**
240  * Indicates whether the region is enabled.
241  *
242  * @public @memberof GoProfileLineFittingRegion
243  * @note Supported with G1, G2
244  * @version Introduced in firmware 4.4.4.14
245  * @param lineRegion GoProfileLineFittingRegion object.
246  * @param index The region index to retrieve the enabled state from.
247  * @return kTRUE if the region is enabled and kFALSE otherwise.
248  */
249 GoFx(kBool) GoProfileLineFittingRegion_RegionEnabledAt(GoProfileLineFittingRegion lineRegion, kSize index);
250 
251 /**
252 * @class GoProfileEdge
253 * @extends kObject
254 * @note Supported with G1, G2
255 * @ingroup GoSdk-ProfileTools
256 * @brief Represents a profile edge used in various profile tools.
257 */
258 typedef kObject GoProfileEdge;
259 
260 /**
261  * Sets the profile edge type.
262  *
263  * @public @memberof GoProfileEdge
264  * @note Supported with G1, G2
265  * @version Introduced in firmware 4.0.10.27
266  * @param edge GoProfileEdge object.
267  * @param type The type of the profile edge.
268  * @return Operation status.
269  */
270 GoFx(kStatus) GoProfileEdge_SetType(GoProfileEdge edge, GoProfileEdgeType type);
271 
272 /**
273  * Gets the profile edge type.
274  *
275  * @public @memberof GoProfileEdge
276  * @note Supported with G1, G2
277  * @version Introduced in firmware 4.0.10.27
278  * @param edge GoProfileEdge object.
279  * @return The profile edge type.
280  */
281 GoFx(GoProfileEdgeType) GoProfileEdge_Type(GoProfileEdge edge);
282 
283 /**
284  * Gets the profile region.
285  *
286  * @public @memberof GoProfileEdge
287  * @note Supported with G1, G2
288  * @version Introduced in firmware 4.0.10.27
289  * @param edge GoProfileEdge object.
290  * @return The profile region.
291  */
292 GoFx(GoProfileRegion) GoProfileEdge_Region(GoProfileEdge edge);
293 
294 /**
295  * Enables the region.
296  *
297  * @public @memberof GoProfileRegion
298  * @note Supported with G1, G2
299  * @version Introduced in firmware 4.4.4.14
300  * @param edge GoProfileEdge object.
301  * @param enable kTRUE to use the region, kFALSE otherwise.
302  * @return Operation status.
303  */
304 GoFx(kStatus) GoProfileEdge_EnableRegion(GoProfileEdge edge, kBool enable);
305 
306 /**
307  * Indicates whether the region is enabled.
308  *
309  * @public @memberof GoProfileEdge
310  * @note Supported with G1, G2
311  * @version Introduced in firmware 4.4.4.14
312  * @param edge GoProfileEdge object.
313  * @return kTRUE if the region is enabled and kFALSE otherwise.
314  */
315 GoFx(kBool) GoProfileEdge_RegionEnabled(GoProfileEdge edge);
316 
317 /**
318  * Sets the maximum void width.
319  *
320  * @public @memberof GoProfileEdge
321  * @note Supported with G1, G2
322  * @version Introduced in firmware 4.0.10.27
323  * @param edge GoProfileEdge object.
324  * @param width The width to set for the maximum void width.
325  * @return Operation status.
326  */
327 GoFx(kStatus) GoProfileEdge_SetVoidWidthMax(GoProfileEdge edge, k64f width);
328 
329 /**
330  * Gets the maximum void width.
331  *
332  * @public @memberof GoProfileEdge
333  * @note Supported with G1, G2
334  * @version Introduced in firmware 4.0.10.27
335  * @param edge GoProfileEdge object.
336  * @return Maximum void width.
337  */
338 GoFx(k64f) GoProfileEdge_VoidWidthMax(GoProfileEdge edge);
339 
340 /**
341  * Sets the minimum depth.
342  *
343  * @public @memberof GoProfileEdge
344  * @note Supported with G1, G2
345  * @version Introduced in firmware 4.0.10.27
346  * @param edge GoProfileEdge object.
347  * @param depth The minimum depth.
348  * @return Operation status.
349  */
350 GoFx(kStatus) GoProfileEdge_SetDepthMin(GoProfileEdge edge, k64f depth);
351 
352 /**
353  * Gets the minimum depth.
354  *
355  * @public @memberof GoProfileEdge
356  * @note Supported with G1, G2
357  * @version Introduced in firmware 4.0.10.27
358  * @param edge GoProfileEdge object.
359  * @return The minimum depth.
360  */
361 GoFx(k64f) GoProfileEdge_DepthMin(GoProfileEdge edge);
362 
363 /**
364  * Sets the surface width.
365  *
366  * @public @memberof GoProfileEdge
367  * @note Supported with G1, G2
368  * @version Introduced in firmware 4.0.10.27
369  * @param edge GoProfileEdge object.
370  * @param width The surface width.
371  * @return Operation status.
372  */
373 GoFx(kStatus) GoProfileEdge_SetSurfaceWidth(GoProfileEdge edge, k64f width);
374 
375 /**
376  * Gets the surface width.
377  *
378  * @public @memberof GoProfileEdge
379  * @note Supported with G1, G2
380  * @version Introduced in firmware 4.0.10.27
381  * @param edge GoProfileEdge object.
382  * @return The surface width.
383  */
384 GoFx(k64f) GoProfileEdge_SurfaceWidth(GoProfileEdge edge);
385 
386 /**
387  * Sets the surface offset.
388  *
389  * @public @memberof GoProfileEdge
390  * @note Supported with G1, G2
391  * @version Introduced in firmware 4.0.10.27
392  * @param edge GoProfileEdge object.
393  * @param offset The surface offset.
394  * @return Operation status.
395  */
396 GoFx(kStatus) GoProfileEdge_SetSurfaceOffset(GoProfileEdge edge, k64f offset);
397 
398 /**
399  * Gets the surface offset.
400  *
401  * @public @memberof GoProfileEdge
402  * @note Supported with G1, G2
403  * @version Introduced in firmware 4.0.10.27
404  * @param edge GoProfileEdge object.
405  * @return The surface offset.
406  */
407 GoFx(k64f) GoProfileEdge_SurfaceOffset(GoProfileEdge edge);
408 
409 /**
410  * Sets the nominal radius.
411  *
412  * @public @memberof GoProfileEdge
413  * @note Supported with G1, G2
414  * @version Introduced in firmware 4.0.10.27
415  * @param edge GoProfileEdge object.
416  * @param radius The nominal radius.
417  * @return Operation status.
418  */
419 GoFx(kStatus) GoProfileEdge_SetNominalRadius(GoProfileEdge edge, k64f radius);
420 
421 /**
422  * Gets the nominal radius.
423  *
424  * @public @memberof GoProfileEdge
425  * @note Supported with G1, G2
426  * @version Introduced in firmware 4.0.10.27
427  * @param edge GoProfileEdge object.
428  * @return The nominal radius.
429  */
430 GoFx(k64f) GoProfileEdge_NominalRadius(GoProfileEdge edge);
431 
432 /**
433  * Sets the edge angle.
434  *
435  * @public @memberof GoProfileEdge
436  * @note Supported with G1, G2
437  * @version Introduced in firmware 4.0.10.27
438  * @param edge GoProfileEdge object.
439  * @param angle k64f object.
440  * @return Operation status.
441  */
442 GoFx(kStatus) GoProfileEdge_SetEdgeAngle(GoProfileEdge edge, k64f angle);
443 
444 /**
445  * Gets the edge angle.
446  *
447  * @public @memberof GoProfileEdge
448  * @note Supported with G1, G2
449  * @version Introduced in firmware 4.0.10.27
450  * @param edge GoProfileEdge object.
451  * @return The edge angle.
452  */
453 GoFx(k64f) GoProfileEdge_EdgeAngle(GoProfileEdge edge);
454 
455 #include <GoSdk/Tools/GoProfileToolUtils.x.h>
456 
457 #endif
kStatus GoProfileFeature_SetType(GoProfileFeature feature, GoProfileFeatureType type)
Sets the feature type.
kStatus GoProfileEdge_SetDepthMin(GoProfileEdge edge, k64f depth)
Sets the minimum depth.
kStatus GoProfileEdge_EnableRegion(GoProfileEdge edge, kBool enable)
Enables the region.
GoProfileRegion GoProfileFeature_Region(GoProfileFeature feature)
Gets the profile feature region.
kStatus GoProfileEdge_SetType(GoProfileEdge edge, GoProfileEdgeType type)
Sets the profile edge type.
GoProfileRegion GoProfileEdge_Region(GoProfileEdge edge)
Gets the profile region.
kStatus GoProfileEdge_SetSurfaceOffset(GoProfileEdge edge, k64f offset)
Sets the surface offset.
Contains various helper functions.
GoProfileEdgeType GoProfileEdge_Type(GoProfileEdge edge)
Gets the profile edge type.
k64f GoProfileRegion_Z(GoProfileRegion region)
Gets the Z-position.
Represents a profile edge used in various profile tools.
k64f GoProfileEdge_SurfaceWidth(GoProfileEdge edge)
Gets the surface width.
kBool GoProfileFeature_RegionEnabled(GoProfileFeature feature)
Indicates whether the region is enabled.
GoProfileFeatureType GoProfileFeature_Type(GoProfileFeature feature)
Gets the profile feature type.
k64f GoProfileEdge_SurfaceOffset(GoProfileEdge edge)
Gets the surface offset.
Represents a profile region used in various profile tools.
kStatus GoProfileRegion_SetWidth(GoProfileRegion region, k64f width)
Sets the width.
kStatus GoProfileEdge_SetNominalRadius(GoProfileEdge edge, k64f radius)
Sets the nominal radius.
kStatus GoProfileRegion_SetZ(GoProfileRegion region, k64f z)
Sets the Z-position.
Essential SDK declarations.
kStatus GoProfileLineFittingRegion_EnableRegionAt(GoProfileLineFittingRegion lineRegion, kSize index, kBool enable)
Enables the region.
kStatus GoProfileEdge_SetVoidWidthMax(GoProfileEdge edge, k64f width)
Sets the maximum void width.
kStatus GoProfileEdge_SetSurfaceWidth(GoProfileEdge edge, k64f width)
Sets the surface width.
kStatus GoProfileFeature_EnableRegion(GoProfileFeature feature, kBool enable)
Enables the region.
k32u GoProfileLineFittingRegion_RegionCount(GoProfileLineFittingRegion lineRegion)
Returns the number of regions.
Represents a profile feature used in various profile tools.
GoProfileRegion GoProfileLineFittingRegion_RegionAt(GoProfileLineFittingRegion lineRegion, kSize index)
Gets the profile region based on the given index.
kBool GoProfileEdge_RegionEnabled(GoProfileEdge edge)
Indicates whether the region is enabled.
kStatus GoProfileEdge_SetEdgeAngle(GoProfileEdge edge, k64f angle)
Sets the edge angle.
Represents a profile line region used in various profile tools.
k64f GoProfileEdge_NominalRadius(GoProfileEdge edge)
Gets the nominal radius.
k64f GoProfileRegion_X(GoProfileRegion region)
Gets the X-position.
kBool GoProfileLineFittingRegion_RegionEnabledAt(GoProfileLineFittingRegion lineRegion, kSize index)
Indicates whether the region is enabled.
kStatus GoProfileLineFittingRegion_SetRegionCount(GoProfileLineFittingRegion lineRegion, kSize count)
Sets the number of regions in use.
k64f GoProfileEdge_EdgeAngle(GoProfileEdge edge)
Gets the edge angle.
k64f GoProfileRegion_Width(GoProfileRegion region)
Gets the width.
k64f GoProfileRegion_Height(GoProfileRegion region)
Gets the height.
kStatus GoProfileRegion_SetHeight(GoProfileRegion region, k64f height)
Sets the height.
k64f GoProfileEdge_DepthMin(GoProfileEdge edge)
Gets the minimum depth.
k64f GoProfileEdge_VoidWidthMax(GoProfileEdge edge)
Gets the maximum void width.
kStatus GoProfileRegion_SetX(GoProfileRegion region, k64f x)
Sets the X position.
Represents a profile edge type.
Represents a profile feature point type.