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