Gocator API

GoSurfaceToolUtils.h
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 */
38 GoFx(kStatus) GoSurfaceRegion2d_SetX(GoSurfaceRegion2d region, k64f x);
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 */
48 GoFx(k64f) GoSurfaceRegion2d_X(GoSurfaceRegion2d region);
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 */
59 GoFx(kStatus) GoSurfaceRegion2d_SetY(GoSurfaceRegion2d region, k64f value);
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 */
69 GoFx(k64f) GoSurfaceRegion2d_Y(GoSurfaceRegion2d region);
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 */
80 GoFx(kStatus) GoSurfaceRegion2d_SetWidth(GoSurfaceRegion2d region, k64f width);
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 */
90 GoFx(k64f) GoSurfaceRegion2d_Width(GoSurfaceRegion2d region);
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 */
101 GoFx(kStatus) GoSurfaceRegion2d_SetLength(GoSurfaceRegion2d region, k64f length);
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 */
111 GoFx(k64f) GoSurfaceRegion2d_Length(GoSurfaceRegion2d region);
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 */
122 GoFx(kStatus) GoSurfaceRegion2d_SetZAngle(GoSurfaceRegion2d region, k64f zAngle);
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 */
132 GoFx(k64f) GoSurfaceRegion2d_ZAngle(GoSurfaceRegion2d region);
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 */
307 GoFx(kStatus) GoPointSetRegion_SetConstantZ(GoPointSetRegion region, k64f constantZ);
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 */
321 GoFx(kStatus) GoPointSetRegion_DisableConstantZ(GoPointSetRegion region);
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 */
368 GoFx(kStatus) GoCylinderRegion_SetX(GoCylinderRegion region, k64f x);
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 */
378 GoFx(k64f) GoCylinderRegion_X(GoCylinderRegion region);
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 */
389 GoFx(kStatus) GoCylinderRegion_SetY(GoCylinderRegion region, k64f value);
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 */
399 GoFx(k64f) GoCylinderRegion_Y(GoCylinderRegion region);
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 */
410 GoFx(kStatus) GoCylinderRegion_SetZ(GoCylinderRegion region, k64f z);
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 */
420 GoFx(k64f) GoCylinderRegion_Z(GoCylinderRegion region);
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 */
431 GoFx(kStatus) GoCylinderRegion_SetRadius(GoCylinderRegion region, k64f value);
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 */
441 GoFx(k64f) GoCylinderRegion_Radius(GoCylinderRegion region);
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 */
452 GoFx(kStatus) GoCylinderRegion_SetHeight(GoCylinderRegion region, k64f value);
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 */
462 GoFx(k64f) GoCylinderRegion_Height(GoCylinderRegion region);
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 */
481 GoFx(GoSurfaceFeatureType) GoSurfaceFeature_Type(GoSurfaceFeature feature);
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 */
492 GoFx(kStatus) GoSurfaceFeature_SetType(GoSurfaceFeature feature, GoSurfaceFeatureType type);
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 */
502 GoFx(kBool) GoSurfaceFeature_RegionEnabled(GoSurfaceFeature feature);
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 */
513 GoFx(kStatus) GoSurfaceFeature_EnableRegion(GoSurfaceFeature feature, kBool enable);
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 */
523 GoFx(GoRegion3d) GoSurfaceFeature_Region(GoSurfaceFeature feature);
524
525
526 kEndHeader()
527 #include <GoSdk/Tools/GoSurfaceToolUtils.x.h>
528
529 #endif
530
531 /// @endcond
kSize
GoUtils.h
Contains various helper functions.
GoSdkDef.h
Essential SDK declarations.
GoFeature.h
Declares the GoFeature class.
kArrayList
kObject
kStatus
k64f
kBool
kPoint3d64f