Gocator API
 All Classes Files Functions Variables Typedefs Macros Modules Pages
GoSurfaceToolUtils.h
Go to the documentation of this file.
1 /**
2  * @file GoSurfaceToolUtils.h
3  * @brief Declares all surface tools and their related classes.
4  *
5  * @internal
6  * Copyright (C) 2016-2021 by LMI Technologies Inc.
7  * Licensed under the MIT License.
8  * Redistributed files must retain the above copyright notice.
9  */
10 
11 #ifndef GO_SURFACE_TOOL_UTILS_H
12 #define GO_SURFACE_TOOL_UTILS_H
13 
14 #include <GoSdk/GoSdkDef.h>
15 #include <GoSdk/GoUtils.h>
16 #include <GoSdk/Tools/GoFeature.h>
17 
18 /**
19 * @class GoSurfaceRegion2d
20 * @extends kObject
21 * @ingroup GoSdk-SurfaceTools
22 * @brief Represents a two dimensional surface tool region.
23 */
24 typedef kObject GoSurfaceRegion2d;
25 
26 /**
27  * Sets the X position.
28  *
29  * @public @memberof GoSurfaceRegion2d
30  * @note Supported with G2, G3
31  * @version Introduced in firmware 4.0.10.27
32  * @param region GoSurfaceRegion2d object.
33  * @param x The X position to set.(mm)
34  * @return Operation status.
35  */
37 
38 /**
39  * Gets the X position.
40  *
41  * @public @memberof GoSurfaceRegion2d
42  * @note Supported with G2, G3
43  * @version Introduced in firmware 4.0.10.27
44  * @param region GoSurfaceRegion2d object.
45  * @return The X position of the region.(mm)
46  */
48 
49 /**
50  * Sets the Y position.
51  *
52  * @public @memberof GoSurfaceRegion2d
53  * @note Supported with G2, G3
54  * @version Introduced in firmware 4.0.10.27
55  * @param region GoSurfaceRegion2d object.
56  * @param value The Y position to set.(mm)
57  * @return Operation status.
58  */
60 
61 /**
62  * Gets the Y position.
63  *
64  * @public @memberof GoSurfaceRegion2d
65  * @note Supported with G2, G3
66  * @version Introduced in firmware 4.0.10.27
67  * @param region GoSurfaceRegion2d object.
68  * @return The Y position of the region.(mm)
69  */
71 
72 /**
73  * Sets the width.
74  *
75  * @public @memberof GoSurfaceRegion2d
76  * @note Supported with G2, G3
77  * @version Introduced in firmware 4.0.10.27
78  * @param region GoSurfaceRegion2d object.
79  * @param width The width to set.(mm)
80  * @return Operation status.
81  */
83 
84 /**
85  * Gets the width.
86  *
87  * @public @memberof GoSurfaceRegion2d
88  * @note Supported with G2, G3
89  * @version Introduced in firmware 4.0.10.27
90  * @param region GoSurfaceRegion2d object.
91  * @return The width of the region.(mm)
92  */
94 
95 /**
96  * Sets the length.
97  *
98  * @public @memberof GoSurfaceRegion2d
99  * @note Supported with G2, G3
100  * @version Introduced in firmware 4.0.10.27
101  * @param region GoSurfaceRegion2d object.
102  * @param length The length to set.(mm)
103  * @return Operation status.
104  */
106 
107 /**
108  * Gets the length.
109  *
110  * @public @memberof GoSurfaceRegion2d
111  * @note Supported with G2, G3
112  * @version Introduced in firmware 4.0.10.27
113  * @param region GoSurfaceRegion2d object.
114  * @return The length of the region.(mm)
115  */
117 
118 /**
119 * Sets the length.
120 *
121 * @public @memberof GoSurfaceRegion2d
122 * @note Supported with G2, G3
123 * @version Introduced in firmware 4.0.10.27
124 * @param region GoSurfaceRegion2d object.
125 * @param zAngle The zAngle to set.(degrees)
126 * @return Operation status.
127 */
129 
130 /**
131 * Gets the length.
132 *
133 * @public @memberof GoSurfaceRegion2d
134 * @note Supported with G2, G3
135 * @version Introduced in firmware 4.0.10.27
136 * @param region GoSurfaceRegion2d object.
137 * @return The zAngle of the region.(degrees)
138 */
140 
141 
142 /**
143 * @class GoRegion3d
144 * @extends kObject
145 * @note Supported with G2, G3
146 * @ingroup GoSdk-SurfaceTools
147 * @brief Represents a three dimensional surface region.
148 */
149 typedef kObject GoRegion3d;
150 
151 /**
152  * Sets the X position.
153  *
154  * @public @memberof GoRegion3d
155  * @note Supported with G2, G3
156  * @version Introduced in firmware 4.0.10.27
157  * @param region GoRegion3d object.
158  * @param x The X position to set.(mm)
159  * @return Operation status.
160  */
161 GoFx(kStatus) GoRegion3d_SetX(GoRegion3d region, k64f x);
162 
163 /**
164  * Gets the X position.
165  *
166  * @public @memberof GoRegion3d
167  * @note Supported with G2, G3
168  * @version Introduced in firmware 4.0.10.27
169  * @param region GoRegion3d object.
170  * @return The X position of the region.(mm)
171  */
172 GoFx(k64f) GoRegion3d_X(GoRegion3d region);
173 
174 /**
175  * Sets the Y position.
176  *
177  * @public @memberof GoRegion3d
178  * @note Supported with G2, G3
179  * @version Introduced in firmware 4.0.10.27
180  * @param region GoRegion3d object.
181  * @param value The Y position to set.(mm)
182  * @return Operation status.
183  */
184 GoFx(kStatus) GoRegion3d_SetY(GoRegion3d region, k64f value);
185 
186 /**
187  * Gets the Y position.
188  *
189  * @public @memberof GoRegion3d
190  * @note Supported with G2, G3
191  * @version Introduced in firmware 4.0.10.27
192  * @param region GoRegion3d object.
193  * @return The Y position of the region.(mm)
194  */
195 GoFx(k64f) GoRegion3d_Y(GoRegion3d region);
196 
197 /**
198  * Sets the Z-position.
199  *
200  * @public @memberof GoRegion3d
201  * @note Supported with G2, G3
202  * @version Introduced in firmware 4.0.10.27
203  * @param region GoRegion3d object.
204  * @param z The Z-position to set.(mm)
205  * @return Operation status.
206  */
207 GoFx(kStatus) GoRegion3d_SetZ(GoRegion3d region, k64f z);
208 
209 /**
210  * Gets the Z-position.
211  *
212  * @public @memberof GoRegion3d
213  * @note Supported with G2, G3
214  * @version Introduced in firmware 4.0.10.27
215  * @param region GoRegion3d object.
216  * @return The Z-position of the region.(mm)
217  */
218 GoFx(k64f) GoRegion3d_Z(GoRegion3d region);
219 
220 /**
221  * Sets the width.
222  *
223  * @public @memberof GoRegion3d
224  * @note Supported with G2, G3
225  * @version Introduced in firmware 4.0.10.27
226  * @param region GoRegion3d object.
227  * @param width The width to set.(mm)
228  * @return Operation status.
229  */
230 GoFx(kStatus) GoRegion3d_SetWidth(GoRegion3d region, k64f width);
231 
232 /**
233  * Gets the width.
234  *
235  * @public @memberof GoRegion3d
236  * @note Supported with G2, G3
237  * @version Introduced in firmware 4.0.10.27
238  * @param region GoRegion3d object.
239  * @return The width of the region.(mm)
240  */
241 GoFx(k64f) GoRegion3d_Width(GoRegion3d region);
242 
243 /**
244  * Sets the length.
245  *
246  * @public @memberof GoRegion3d
247  * @note Supported with G2, G3
248  * @version Introduced in firmware 4.0.10.27
249  * @param region GoRegion3d object.
250  * @param length The length to set.(mm)
251  * @return Operation status.
252  */
253 GoFx(kStatus) GoRegion3d_SetLength(GoRegion3d region, k64f length);
254 
255 /**
256  * Gets the length.
257  *
258  * @public @memberof GoRegion3d
259  * @note Supported with G2, G3
260  * @version Introduced in firmware 4.0.10.27
261  * @param region GoRegion3d object.
262  * @return The length of the region.(mm)
263  */
264 GoFx(k64f) GoRegion3d_Length(GoRegion3d region);
265 
266 /**
267  * Sets the height.
268  *
269  * @public @memberof GoRegion3d
270  * @note Supported with G2, G3
271  * @version Introduced in firmware 4.0.10.27
272  * @param region GoRegion3d object.
273  * @param height The height to set.(mm)
274  * @return Operation status.
275  */
276 GoFx(kStatus) GoRegion3d_SetHeight(GoRegion3d region, k64f height);
277 
278 /**
279  * Gets the height.
280  *
281  * @public @memberof GoRegion3d
282  * @note Supported with G2, G3
283  * @version Introduced in firmware 4.0.10.27
284  * @param region GoRegion3d object.
285  * @return The height of the region.(mm)
286  */
287 GoFx(k64f) GoRegion3d_Height(GoRegion3d region);
288 
289 /**
290 * Sets the height.
291 *
292 * @public @memberof GoRegion3d
293 * @note Supported with G2, G3
294 * @version Introduced in firmware 4.0.10.27
295 * @param region GoRegion3d object.
296 * @param zAngle The zAngle to set.(degrees)
297 * @return Operation status.
298 */
299 GoFx(kStatus) GoRegion3d_SetZAngle(GoRegion3d region, k64f zAngle);
300 
301 /**
302 * Gets the height.
303 *
304 * @public @memberof GoRegion3d
305 * @note Supported with G2, G3
306 * @version Introduced in firmware 4.0.10.27
307 * @param region GoRegion3d object.
308 * @return The zAngle of the region.(degrees)
309 */
310 GoFx(k64f) GoRegion3d_ZAngle(GoRegion3d region);
311 
312 /**
313 * @class GoPointSetRegion
314 * @extends kObject
315 * @note Supported with G2, G3
316 * @ingroup GoSdk-SurfaceTools
317 * @brief Represents a point set region.
318 */
319 typedef kObject GoPointSetRegion;
320 
321 /**
322 * Sets constant-z value.
323 *
324 * @public @memberof GoPointSetRegion
325 * @note Supported with G2, G3
326 * @version Introduced in firmware 5.2.18.3
327 * @param region GoPointSetRegion object.
328 * @param constantZ Constant-z value
329 * @return Operation status
330 */
331 GoFx(kStatus) GoPointSetRegion_SetConstantZ(GoPointSetRegion region, k64f constantZ);
332 
333 GoFx(const kPoint3d64f*) GoPointSetRegion_PointAt(GoPointSetRegion region, kSize index);
334 
335 GoFx(kStatus) GoPointSetRegion_SetPointAt(GoPointSetRegion region, kSize index, const kPoint3d64f* point);
336 
337 /**
338 * Disables constant-z.
339 *
340 * @public @memberof GoPointSetRegion
341 * @note Supported with G2, G3
342 * @version Introduced in firmware 5.2.18.3
343 * @param region GoPointSetRegion object.
344 * @return Operation status
345 */
346 GoFx(kStatus) GoPointSetRegion_DisableConstantZ(GoPointSetRegion region);
347 
348 GoFx(kSize) GoPointSetRegion_PointCount(GoPointSetRegion region);
349 
350 
351 #if 0
352 /**
353 * Sets point values for the region.
354 *
355 * @public @memberof GoPointSetRegion
356 * @note Supported with G2, G3
357 * @version Introduced in firmware 5.2.18.3
358 * @param region GoPointSetRegion object.
359 * @param points kArrayList of kPoint3d64f. Values are copied.
360 * @return Operation status
361 */
362 GoFx(kStatus) GoPointSetRegion_SetPoints(GoPointSetRegion region, const kArrayList* points);
363 
364 /**
365 * Gets point values for the region.
366 *
367 * @public @memberof GoPointSetRegion
368 * @note Supported with G2, G3
369 * @version Introduced in firmware 5.2.18.3
370 * @param region GoPointSetRegion object.
371 * @param points Pre-constructed kArrayList of kPoint3d64f. Values are copied.
372 * @return Operation status
373 */
374 GoFx(kStatus) GoPointSetRegion_Points(GoPointSetRegion region, kArrayList* points);
375 #endif
376 
377 /**
378 * @class GoCylinderRegion
379 * @extends kObject
380 * @note Supported with G2, G3
381 * @ingroup GoSdk-SurfaceTools
382 * @brief Represents a cylinder region for select surface tools.
383 */
384 typedef kObject GoCylinderRegion;
385 
386 /**
387  * Sets the X position.
388  *
389  * @public @memberof GoCylinderRegion
390  * @note Supported with G2, G3
391  * @version Introduced in firmware 4.0.10.27
392  * @param region GoCylinderRegion object.
393  * @param x The X position to set.(mm)
394  * @return Operation status.
395  */
396 GoFx(kStatus) GoCylinderRegion_SetX(GoCylinderRegion region, k64f x);
397 
398 /**
399  * Gets the X position.
400  *
401  * @public @memberof GoCylinderRegion
402  * @note Supported with G2, G3
403  * @version Introduced in firmware 4.0.10.27
404  * @param region GoCylinderRegion object.
405  * @return The X position of the region.(mm)
406  */
407 GoFx(k64f) GoCylinderRegion_X(GoCylinderRegion region);
408 
409 /**
410  * Sets the Y position.
411  *
412  * @public @memberof GoCylinderRegion
413  * @note Supported with G2, G3
414  * @version Introduced in firmware 4.0.10.27
415  * @param region GoCylinderRegion object.
416  * @param value The Y position to set.(mm)
417  * @return Operation status.
418  */
419 GoFx(kStatus) GoCylinderRegion_SetY(GoCylinderRegion region, k64f value);
420 
421 /**
422  * Gets the Y position.
423  *
424  * @public @memberof GoCylinderRegion
425  * @note Supported with G2, G3
426  * @version Introduced in firmware 4.0.10.27
427  * @param region GoCylinderRegion object.
428  * @return The Y position of the region.(mm)
429  */
430 GoFx(k64f) GoCylinderRegion_Y(GoCylinderRegion region);
431 
432 /**
433  * Sets the Z-position.
434  *
435  * @public @memberof GoCylinderRegion
436  * @note Supported with G2, G3
437  * @version Introduced in firmware 4.0.10.27
438  * @param region GoCylinderRegion object.
439  * @param z The Z-position to set.(mm)
440  * @return Operation status.
441  */
442 GoFx(kStatus) GoCylinderRegion_SetZ(GoCylinderRegion region, k64f z);
443 
444 /**
445  * Gets the Z-position.
446  *
447  * @public @memberof GoCylinderRegion
448  * @note Supported with G2, G3
449  * @version Introduced in firmware 4.0.10.27
450  * @param region GoCylinderRegion object.
451  * @return The Z-position of the region.(mm)
452  */
453 GoFx(k64f) GoCylinderRegion_Z(GoCylinderRegion region);
454 
455 /**
456  * Sets the radius.
457  *
458  * @public @memberof GoCylinderRegion
459  * @note Supported with G2, G3
460  * @version Introduced in firmware 4.0.10.27
461  * @param region GoCylinderRegion object.
462  * @param value The radius to set.(mm)
463  * @return Operation status.
464  */
465 GoFx(kStatus) GoCylinderRegion_SetRadius(GoCylinderRegion region, k64f value);
466 
467 /**
468  * Gets the radius.
469  *
470  * @public @memberof GoCylinderRegion
471  * @note Supported with G2, G3
472  * @version Introduced in firmware 4.0.10.27
473  * @param region GoCylinderRegion object.
474  * @return The radius of the region.(mm)
475  */
476 GoFx(k64f) GoCylinderRegion_Radius(GoCylinderRegion region);
477 
478 /**
479  * Sets the height.
480  *
481  * @public @memberof GoCylinderRegion
482  * @note Supported with G2, G3
483  * @version Introduced in firmware 4.0.10.27
484  * @param region GoCylinderRegion object.
485  * @param value The height to set.(mm)
486  * @return Operation status.
487  */
488 GoFx(kStatus) GoCylinderRegion_SetHeight(GoCylinderRegion region, k64f value);
489 
490 /**
491  * Gets the height.
492  *
493  * @public @memberof GoCylinderRegion
494  * @note Supported with G2, G3
495  * @version Introduced in firmware 4.0.10.27
496  * @param region GoCylinderRegion object.
497  * @return The height of the region.(mm)
498  */
499 GoFx(k64f) GoCylinderRegion_Height(GoCylinderRegion region);
500 
501 
502 /**
503 * @class GoSurfaceFeature
504 * @extends kObject
505 * @ingroup GoSdk-SurfaceTools
506 * @brief Represents a surface feature for select surface tools.
507 */
508 typedef kObject GoSurfaceFeature;
509 
510 /**
511  * Gets the surface feature type.
512  *
513  * @public @memberof GoSurfaceFeature
514  * @note Supported with G2, G3
515  * @version Introduced in firmware 4.0.10.27
516  * @param feature GoSurfaceFeature object.
517  * @return The surface feature type.
518  */
519 GoFx(GoSurfaceFeatureType) GoSurfaceFeature_Type(GoSurfaceFeature feature);
520 
521 /**
522  * Sets the surface feature type.
523  *
524  * @public @memberof GoSurfaceFeature
525  * @note Supported with G2, G3
526  * @version Introduced in firmware 4.0.10.27
527  * @param feature GoSurfaceFeature object.
528  * @param type The feature type value to set.
529  * @return Operation status.
530  */
531 GoFx(kStatus) GoSurfaceFeature_SetType(GoSurfaceFeature feature, GoSurfaceFeatureType type);
532 
533 /**
534  * Gets the current state the surface feature region.
535  *
536  * @public @memberof GoSurfaceFeature
537  * @note Supported with G2, G3
538  * @version Introduced in firmware 4.0.10.27
539  * @param feature GoSurfaceFeature object.
540  * @return kTRUE if enabled and kFALSE if disabled.
541  */
542 GoFx(kBool) GoSurfaceFeature_RegionEnabled(GoSurfaceFeature feature);
543 
544 /**
545  * Enable or disable the surface feature region.
546  *
547  * @public @memberof GoSurfaceFeature
548  * @note Supported with G2, G3
549  * @version Introduced in firmware 4.0.10.27
550  * @param feature GoSurfaceFeature object.
551  * @param enable kTRUE to enable, or kFALSE to disable.
552  * @return Operation status.
553  */
554 GoFx(kStatus) GoSurfaceFeature_EnableRegion(GoSurfaceFeature feature, kBool enable);
555 
556 /**
557  * Gets the 3d region for the feature.
558  *
559  * @public @memberof GoSurfaceFeature
560  * @note Supported with G2, G3
561  * @version Introduced in firmware 4.0.10.27
562  * @param feature GoSurfaceFeature object.
563  * @return A GoRegion3d object.
564  */
565 GoFx(GoRegion3d) GoSurfaceFeature_Region(GoSurfaceFeature feature);
566 
567 #include <GoSdk/Tools/GoSurfaceToolUtils.x.h>
568 
569 #endif
kStatus GoSurfaceRegion2d_SetWidth(GoSurfaceRegion2d region, k64f width)
Sets the width.
k64f GoSurfaceRegion2d_Length(GoSurfaceRegion2d region)
Gets the length.
k64f GoCylinderRegion_Y(GoCylinderRegion region)
Gets the Y position.
Represents a surface feature type.
k64f GoRegion3d_X(GoRegion3d region)
Gets the X position.
kStatus GoRegion3d_SetHeight(GoRegion3d region, k64f height)
Sets the height.
kStatus GoRegion3d_SetLength(GoRegion3d region, k64f length)
Sets the length.
k64f GoCylinderRegion_Radius(GoCylinderRegion region)
Gets the radius.
kStatus GoRegion3d_SetZ(GoRegion3d region, k64f z)
Sets the Z-position.
GoRegion3d GoSurfaceFeature_Region(GoSurfaceFeature feature)
Gets the 3d region for the feature.
k64f GoCylinderRegion_X(GoCylinderRegion region)
Gets the X position.
kStatus GoCylinderRegion_SetX(GoCylinderRegion region, k64f x)
Sets the X position.
k64f GoCylinderRegion_Z(GoCylinderRegion region)
Gets the Z-position.
kStatus GoCylinderRegion_SetY(GoCylinderRegion region, k64f value)
Sets the Y position.
k64f GoSurfaceRegion2d_ZAngle(GoSurfaceRegion2d region)
Gets the length.
kBool GoSurfaceFeature_RegionEnabled(GoSurfaceFeature feature)
Gets the current state the surface feature region.
Represents a cylinder region for select surface tools.
Contains various helper functions.
k64f GoRegion3d_Y(GoRegion3d region)
Gets the Y position.
k64f GoSurfaceRegion2d_Y(GoSurfaceRegion2d region)
Gets the Y position.
kStatus GoCylinderRegion_SetZ(GoCylinderRegion region, k64f z)
Sets the Z-position.
k64f GoSurfaceRegion2d_X(GoSurfaceRegion2d region)
Gets the X position.
kStatus GoPointSetRegion_SetConstantZ(GoPointSetRegion region, k64f constantZ)
Sets constant-z value.
GoSurfaceFeatureType GoSurfaceFeature_Type(GoSurfaceFeature feature)
Gets the surface feature type.
Essential SDK declarations.
kStatus GoSurfaceRegion2d_SetX(GoSurfaceRegion2d region, k64f x)
Sets the X position.
Declares the GoFeature class.
k64f GoCylinderRegion_Height(GoCylinderRegion region)
Gets the height.
Represents a two dimensional surface tool region.
kStatus GoSurfaceRegion2d_SetLength(GoSurfaceRegion2d region, k64f length)
Sets the length.
kStatus GoRegion3d_SetWidth(GoRegion3d region, k64f width)
Sets the width.
kStatus GoSurfaceRegion2d_SetY(GoSurfaceRegion2d region, k64f value)
Sets the Y position.
Represents a three dimensional surface region.
Represents a point set region.
kStatus GoPointSetRegion_DisableConstantZ(GoPointSetRegion region)
Disables constant-z.
k64f GoRegion3d_Z(GoRegion3d region)
Gets the Z-position.
kStatus GoRegion3d_SetX(GoRegion3d region, k64f x)
Sets the X position.
k64f GoRegion3d_ZAngle(GoRegion3d region)
Gets the height.
kStatus GoSurfaceFeature_SetType(GoSurfaceFeature feature, GoSurfaceFeatureType type)
Sets the surface feature type.
k64f GoRegion3d_Width(GoRegion3d region)
Gets the width.
kStatus GoCylinderRegion_SetHeight(GoCylinderRegion region, k64f value)
Sets the height.
k64f GoRegion3d_Height(GoRegion3d region)
Gets the height.
kStatus GoRegion3d_SetZAngle(GoRegion3d region, k64f zAngle)
Sets the height.
kStatus GoSurfaceFeature_EnableRegion(GoSurfaceFeature feature, kBool enable)
Enable or disable the surface feature region.
kStatus GoCylinderRegion_SetRadius(GoCylinderRegion region, k64f value)
Sets the radius.
Represents a surface feature for select surface tools.
kStatus GoSurfaceRegion2d_SetZAngle(GoSurfaceRegion2d region, k64f zAngle)
Sets the length.
k64f GoRegion3d_Length(GoRegion3d region)
Gets the length.
k64f GoSurfaceRegion2d_Width(GoSurfaceRegion2d region)
Gets the width.
kStatus GoRegion3d_SetY(GoRegion3d region, k64f value)
Sets the Y position.