Gocator API
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-2019 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 */
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 */
347 
348 GoFx(kSize) GoPointSetRegion_PointCount(GoPointSetRegion region);
349 
350 GoFx(kStatus) GoPointSetRegion_SetPointCount(GoPointSetRegion region, kSize count);
351 
352 #if 0
353 /**
354 * Sets point values for the region.
355 *
356 * @public @memberof GoPointSetRegion
357 * @note Supported with G2, G3
358 * @version Introduced in firmware 5.2.18.3
359 * @param region GoPointSetRegion object.
360 * @param points kArrayList of kPoint3d64f. Values are copied.
361 * @return Operation status
362 */
363 GoFx(kStatus) GoPointSetRegion_SetPoints(GoPointSetRegion region, const kArrayList* points);
364 
365 /**
366 * Gets point values for the region.
367 *
368 * @public @memberof GoPointSetRegion
369 * @note Supported with G2, G3
370 * @version Introduced in firmware 5.2.18.3
371 * @param region GoPointSetRegion object.
372 * @param points Pre-constructed kArrayList of kPoint3d64f. Values are copied.
373 * @return Operation status
374 */
375 GoFx(kStatus) GoPointSetRegion_Points(GoPointSetRegion region, kArrayList* points);
376 #endif
377 
378 /**
379 * @class GoCylinderRegion
380 * @extends kObject
381 * @note Supported with G2, G3
382 * @ingroup GoSdk-SurfaceTools
383 * @brief Represents a cylinder region for select surface tools.
384 */
385 typedef kObject GoCylinderRegion;
386 
387 /**
388  * Sets the X position.
389  *
390  * @public @memberof GoCylinderRegion
391  * @note Supported with G2, G3
392  * @version Introduced in firmware 4.0.10.27
393  * @param region GoCylinderRegion object.
394  * @param x The X position to set.(mm)
395  * @return Operation status.
396  */
398 
399 /**
400  * Gets the X position.
401  *
402  * @public @memberof GoCylinderRegion
403  * @note Supported with G2, G3
404  * @version Introduced in firmware 4.0.10.27
405  * @param region GoCylinderRegion object.
406  * @return The X position of the region.(mm)
407  */
409 
410 /**
411  * Sets the Y position.
412  *
413  * @public @memberof GoCylinderRegion
414  * @note Supported with G2, G3
415  * @version Introduced in firmware 4.0.10.27
416  * @param region GoCylinderRegion object.
417  * @param value The Y position to set.(mm)
418  * @return Operation status.
419  */
421 
422 /**
423  * Gets the Y position.
424  *
425  * @public @memberof GoCylinderRegion
426  * @note Supported with G2, G3
427  * @version Introduced in firmware 4.0.10.27
428  * @param region GoCylinderRegion object.
429  * @return The Y position of the region.(mm)
430  */
432 
433 /**
434  * Sets the Z-position.
435  *
436  * @public @memberof GoCylinderRegion
437  * @note Supported with G2, G3
438  * @version Introduced in firmware 4.0.10.27
439  * @param region GoCylinderRegion object.
440  * @param z The Z-position to set.(mm)
441  * @return Operation status.
442  */
444 
445 /**
446  * Gets the Z-position.
447  *
448  * @public @memberof GoCylinderRegion
449  * @note Supported with G2, G3
450  * @version Introduced in firmware 4.0.10.27
451  * @param region GoCylinderRegion object.
452  * @return The Z-position of the region.(mm)
453  */
455 
456 /**
457  * Sets the radius.
458  *
459  * @public @memberof GoCylinderRegion
460  * @note Supported with G2, G3
461  * @version Introduced in firmware 4.0.10.27
462  * @param region GoCylinderRegion object.
463  * @param value The radius to set.(mm)
464  * @return Operation status.
465  */
467 
468 /**
469  * Gets the radius.
470  *
471  * @public @memberof GoCylinderRegion
472  * @note Supported with G2, G3
473  * @version Introduced in firmware 4.0.10.27
474  * @param region GoCylinderRegion object.
475  * @return The radius of the region.(mm)
476  */
478 
479 /**
480  * Sets the height.
481  *
482  * @public @memberof GoCylinderRegion
483  * @note Supported with G2, G3
484  * @version Introduced in firmware 4.0.10.27
485  * @param region GoCylinderRegion object.
486  * @param value The height to set.(mm)
487  * @return Operation status.
488  */
490 
491 /**
492  * Gets the height.
493  *
494  * @public @memberof GoCylinderRegion
495  * @note Supported with G2, G3
496  * @version Introduced in firmware 4.0.10.27
497  * @param region GoCylinderRegion object.
498  * @return The height of the region.(mm)
499  */
501 
502 
503 /**
504 * @class GoSurfaceFeature
505 * @extends kObject
506 * @ingroup GoSdk-SurfaceTools
507 * @brief Represents a surface feature for select surface tools.
508 */
509 typedef kObject GoSurfaceFeature;
510 
511 /**
512  * Gets the surface feature type.
513  *
514  * @public @memberof GoSurfaceFeature
515  * @note Supported with G2, G3
516  * @version Introduced in firmware 4.0.10.27
517  * @param feature GoSurfaceFeature object.
518  * @return The surface feature type.
519  */
521 
522 /**
523  * Sets the surface feature type.
524  *
525  * @public @memberof GoSurfaceFeature
526  * @note Supported with G2, G3
527  * @version Introduced in firmware 4.0.10.27
528  * @param feature GoSurfaceFeature object.
529  * @param type The feature type value to set.
530  * @return Operation status.
531  */
533 
534 /**
535  * Gets the current state the surface feature region.
536  *
537  * @public @memberof GoSurfaceFeature
538  * @note Supported with G2, G3
539  * @version Introduced in firmware 4.0.10.27
540  * @param feature GoSurfaceFeature object.
541  * @return kTRUE if enabled and kFALSE if disabled.
542  */
544 
545 /**
546  * Enable or disable the surface feature region.
547  *
548  * @public @memberof GoSurfaceFeature
549  * @note Supported with G2, G3
550  * @version Introduced in firmware 4.0.10.27
551  * @param feature GoSurfaceFeature object.
552  * @param enable kTRUE to enable, or kFALSE to disable.
553  * @return Operation status.
554  */
556 
557 /**
558  * Gets the 3d region for the feature.
559  *
560  * @public @memberof GoSurfaceFeature
561  * @note Supported with G2, G3
562  * @version Introduced in firmware 4.0.10.27
563  * @param feature GoSurfaceFeature object.
564  * @return A GoRegion3d object.
565  */
567 
568 #include <GoSdk/Tools/GoSurfaceToolUtils.x.h>
569 
570 #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.