Gocator API

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