Gocator API
 All Classes Files Functions Variables Typedefs Macros Groups Pages
GoProfileTools.h
1 /// @cond Gocator_2x00
2 
3 /**
4  * @file GoProfileTools.h
5  * @brief Declares all profile tools and their related classes.
6  *
7  * @internal
8  * Copyright (C) 2014 by LMI Technologies Inc.
9  * Licensed under the MIT License.
10  * Redistributed files must retain the above copyright notice.
11  */
12 #ifndef GO_PROFILE_TOOLS_H
13 #define GO_PROFILE_TOOLS_H
14 
15 #include <GoSdk/GoSdkDef.h>
16 #include <GoSdk/GoUtils.h>
17 #include <GoSdk/Tools/GoTool.h>
19 
20 /**
21  * @class GoProfileRegion
22  * @extends kObject
23  * @ingroup GoSdk-ProfileTools
24  * @brief Represents a profile region used in various profile tools.
25  */
26 typedef kObject GoProfileRegion;
27 
28 /**
29  * Sets the X position.
30  *
31  * @public @memberof GoProfileRegion
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  * @param region GoProfileRegion object.
43  * @return The X-position of the region.
44  */
45 GoFx(k64f) GoProfileRegion_X(GoProfileRegion region);
46 
47 /**
48  * Sets the Z-position.
49  *
50  * @public @memberof GoProfileRegion
51  * @param region GoProfileRegion object.
52  * @param z The Z-position to set.
53  * @return Operation status.
54  */
55 GoFx(kStatus) GoProfileRegion_SetZ(GoProfileRegion region, k64f z);
56 
57 /**
58  * Gets the Z-position.
59  *
60  * @public @memberof GoProfileRegion
61  * @param region GoProfileRegion object.
62  * @return The Z-position of the region.
63  */
64 GoFx(k64f) GoProfileRegion_Z(GoProfileRegion region);
65 
66 /**
67  * Sets the width.
68  *
69  * @public @memberof GoProfileRegion
70  * @param region GoProfileRegion object.
71  * @param width The width to set.
72  * @return Operation status.
73  */
74 GoFx(kStatus) GoProfileRegion_SetWidth(GoProfileRegion region, k64f width);
75 
76 /**
77  * Gets the width.
78  *
79  * @public @memberof GoProfileRegion
80  * @param region GoProfileRegion object.
81  * @return The width of the region.
82  */
83 GoFx(k64f) GoProfileRegion_Width(GoProfileRegion region);
84 
85 /**
86  * Sets the height.
87  *
88  * @public @memberof GoProfileRegion
89  * @param region GoProfileRegion object.
90  * @param height The height to set.
91  * @return Operation status.
92  */
93 GoFx(kStatus) GoProfileRegion_SetHeight(GoProfileRegion region, k64f height);
94 
95 /**
96  * Gets the height.
97  *
98  * @public @memberof GoProfileRegion
99  * @param region GoProfileRegion object.
100  * @return The height of the region.
101  */
102 GoFx(k64f) GoProfileRegion_Height(GoProfileRegion region);
103 
104 /**
105 * @class GoProfileFeature
106 * @extends kObject
107 * @ingroup GoSdk-ProfileTools
108 * @brief Represents a profile feature used in various profile tools.
109 */
110 typedef kObject GoProfileFeature;
111 
112 /**
113  * Sets the feature type.
114  *
115  * @public @memberof GoProfileFeature
116  * @param feature GoProfileFeature object.
117  * @param type GoProfileFeatureType object.
118  * @return Operation status.
119  */
120 GoFx(kStatus) GoProfileFeature_SetType(GoProfileFeature feature, GoProfileFeatureType type);
121 
122 /**
123  * Gets the profile feature type.
124  *
125  * @public @memberof GoProfileFeature
126  * @param feature GoProfileFeature object.
127  * @return The feature type.
128  */
129 GoFx(GoProfileFeatureType) GoProfileFeature_Type(GoProfileFeature feature);
130 
131 /**
132  * Gets the profile feature region.
133  *
134  * @public @memberof GoProfileFeature
135  * @param feature GoProfileFeature object.
136  * @return A GoProfileRegion object.
137  */
138 GoFx(GoProfileRegion) GoProfileFeature_Region(GoProfileFeature feature);
139 
140 
141 /**
142 * @class GoProfileLine
143 * @extends kObject
144 * @ingroup GoSdk-ProfileTools
145 * @brief Represents a profile line region used in various profile tools.
146 */
147 typedef kObject GoProfileLineRegion;
148 
149 /**
150  * Returns the number of regions.
151  *
152  * @public @memberof GoProfileLine
153  * @param lineRegion GoProfileLineRegion object.
154  * @return The region count.
155  */
156 GoFx(k32u) GoProfileLineRegion_RegionCount(GoProfileLineRegion lineRegion);
157 
158 /**
159  * Gets the profile region based on the given index.
160  *
161  * @public @memberof GoProfileLine
162  * @param lineRegion GoProfileLineRegion object.
163  * @param index The index of the profile region to return.
164  * @return The profile region.
165  * @see GoProfileLineRegion_RegionCount
166  */
167 GoFx(GoProfileRegion) GoProfileLineRegion_RegionAt(GoProfileLineRegion lineRegion, kSize index);
168 
169 
170 /**
171 * @class GoProfileEdge
172 * @extends kObject
173 * @ingroup GoSdk-ProfileTools
174 * @brief Represents a profile edge used in various profile tools.
175 */
176 typedef kObject GoProfileEdge;
177 
178 /**
179  * Sets the profile edge type.
180  *
181  * @public @memberof GoProfileEdge
182  * @param edge GoProfileEdge object.
183  * @param type The type of the profile edge.
184  * @return Operation status.
185  */
186 GoFx(kStatus) GoProfileEdge_SetType(GoProfileEdge edge, GoProfileEdgeType type);
187 
188 /**
189  * Gets the profile edge type.
190  *
191  * @public @memberof GoProfileEdge
192  * @param edge GoProfileEdge object.
193  * @return The profile edge type.
194  */
195 GoFx(GoProfileEdgeType) GoProfileEdge_Type(GoProfileEdge edge);
196 
197 /**
198  * Gets the profile region.
199  *
200  * @public @memberof GoProfileEdge
201  * @param edge GoProfileEdge object.
202  * @return The profile region.
203  */
204 GoFx(GoProfileRegion) GoProfileEdge_Region(GoProfileEdge edge);
205 
206 /**
207  * Sets the maximum void width.
208  *
209  * @public @memberof GoProfileEdge
210  * @param edge GoProfileEdge object.
211  * @param width The width to set for the maximum void width.
212  * @return Operation status.
213  */
214 GoFx(kStatus) GoProfileEdge_SetVoidWidthMax(GoProfileEdge edge, k64f width);
215 
216 /**
217  * Gets the maximum void width.
218  *
219  * @public @memberof GoProfileEdge
220  * @param edge GoProfileEdge object.
221  * @return Maximum void width.
222  */
223 GoFx(k64f) GoProfileEdge_VoidWidthMax(GoProfileEdge edge);
224 
225 /**
226  * Sets the minimum depth.
227  *
228  * @public @memberof GoProfileEdge
229  * @param edge GoProfileEdge object.
230  * @param depth The minimum depth.
231  * @return Operation status.
232  */
233 GoFx(kStatus) GoProfileEdge_SetDepthMin(GoProfileEdge edge, k64f depth);
234 
235 /**
236  * Gets the minimum depth.
237  *
238  * @public @memberof GoProfileEdge
239  * @param edge GoProfileEdge object.
240  * @return The minimum depth.
241  */
242 GoFx(k64f) GoProfileEdge_DepthMin(GoProfileEdge edge);
243 
244 /**
245  * Sets the surface width.
246  *
247  * @public @memberof GoProfileEdge
248  * @param edge GoProfileEdge object.
249  * @param width The surface width.
250  * @return Operation status.
251  */
252 GoFx(kStatus) GoProfileEdge_SetSurfaceWidth(GoProfileEdge edge, k64f width);
253 
254 /**
255  * Gets the surface width.
256  *
257  * @public @memberof GoProfileEdge
258  * @param edge GoProfileEdge object.
259  * @return The surface width.
260  */
261 GoFx(k64f) GoProfileEdge_SurfaceWidth(GoProfileEdge edge);
262 
263 /**
264  * Sets the surface offset.
265  *
266  * @public @memberof GoProfileEdge
267  * @param edge GoProfileEdge object.
268  * @param offset The surface offset.
269  * @return Operation status.
270  */
271 GoFx(kStatus) GoProfileEdge_SetSurfaceOffset(GoProfileEdge edge, k64f offset);
272 
273 /**
274  * Gets the surface offset.
275  *
276  * @public @memberof GoProfileEdge
277  * @param edge GoProfileEdge object.
278  * @return The surface offset.
279  */
280 GoFx(k64f) GoProfileEdge_SurfaceOffset(GoProfileEdge edge);
281 
282 /**
283  * Sets the nominal radius.
284  *
285  * @public @memberof GoProfileEdge
286  * @param edge GoProfileEdge object.
287  * @param radius The nominal radius.
288  * @return Operation status.
289  */
290 GoFx(kStatus) GoProfileEdge_SetNominalRadius(GoProfileEdge edge, k64f radius);
291 
292 /**
293  * Gets the nominal radius.
294  *
295  * @public @memberof GoProfileEdge
296  * @param edge GoProfileEdge object.
297  * @return The nominal radius.
298  */
299 GoFx(k64f) GoProfileEdge_NominalRadius(GoProfileEdge edge);
300 
301 /**
302  * Sets the edge angle.
303  *
304  * @public @memberof GoProfileEdge
305  * @param edge GoProfileEdge object.
306  * @param angle k64f object.
307  * @return Operation status.
308  */
309 GoFx(kStatus) GoProfileEdge_SetEdgeAngle(GoProfileEdge edge, k64f angle);
310 
311 /**
312  * Gets the edge angle.
313  *
314  * @public @memberof GoProfileEdge
315  * @param edge GoProfileEdge object.
316  * @return The edge angle.
317  */
318 GoFx(k64f) GoProfileEdge_EdgeAngle(GoProfileEdge edge);
319 
320 
321 /**
322  * @class GoProfileTool
323  * @extends GoTool
324  * @ingroup GoSdk-ProfileTools
325  * @brief Represents a base profile tool.
326  */
327 typedef GoTool GoProfileTool;
328 
329 /**
330  * Sets the data source.
331  *
332  * @public @memberof GoProfileTool
333  * @param tool GoProfileTool object.
334  * @param source GoDataSource object.
335  * @return Operation status.
336  */
337 GoFx(kStatus) GoProfileTool_SetSource(GoProfileTool tool, GoDataSource source);
338 
339 /**
340  * Gets the data source.
341  *
342  * @public @memberof GoProfileTool
343  * @param tool GoProfileTool object.
344  * @return The current profile tool data source.
345  */
346 GoFx(GoDataSource) GoProfileTool_Source(GoProfileTool tool);
347 
348 /**
349  * Gets the data source option list count.
350  *
351  * @public @memberof GoProfileTool
352  * @param tool GoProfileTool object.
353  * @return The current profile tool data source option list count.
354  */
355 GoFx(kSize) GoProfileTool_SourceOptionCount(GoProfileTool tool);
356 
357 /**
358  * Gets the data source option at the given index.
359  *
360  * @public @memberof GoProfileTool
361  * @param tool GoProfileTool object.
362  * @param index The index of the option list to access.
363  * @return The profile tool data source option at the given index, or k32U_MAX if an invalid index is given.
364  */
365 GoFx(GoDataSource) GoProfileTool_SourceOptionAt(GoProfileTool tool, kSize index);
366 
367 /**
368  * Gets the X-anchoring option list count.
369  *
370  * @public @memberof GoProfileTool
371  * @param tool GoProfileTool object.
372  * @return The X-anchoring option list count.
373  */
374 GoFx(kSize) GoProfileTool_XAnchorOptionCount(GoProfileTool tool);
375 
376 /**
377  * Gets the X-anchoring option at the given index.
378  *
379  * @public @memberof GoProfileTool
380  * @param tool GoProfileTool object.
381  * @param index The index of the option list to access.
382  * @return The X-anchoring option at the given index or k32U_MAX if invalid.
383  */
384 GoFx(k32u) GoProfileTool_XAnchorOptionAt(GoProfileTool tool, kSize index);
385 
386 /**
387  * Gets the current X-anchoring source.
388  *
389  * @public @memberof GoProfileTool
390  * @param tool GoProfileTool object.
391  * @return The X-anchoring source or -1 if no source is currently set.
392  */
393 GoFx(k32s) GoProfileTool_XAnchor(GoProfileTool tool);
394 
395 /**
396  * Sets the X-anchoring source.
397  *
398  * @public @memberof GoProfileTool
399  * @param tool GoProfileTool object.
400  * @param id The measurement ID of a valid X-anchoring source.
401  * @return Operation status.
402  */
403 GoFx(kStatus) GoProfileTool_SetXAnchor(GoProfileTool tool, k32s id);
404 
405 /**
406  * Returns a boolean value representing whether or not a valid X-anchoring source has been set for X-anchoring.
407  *
408  * @public @memberof GoProfileTool
409  * @param tool GoProfileTool object.
410  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
411  */
412 GoFx(kBool) GoProfileTool_XAnchorEnabled(GoProfileTool tool);
413 
414 /**
415  * Gets the Z-anchoring option list count.
416  *
417  * @public @memberof GoProfileTool
418  * @param tool GoProfileTool object.
419  * @return The X-anchoring option list count.
420  */
421 GoFx(kSize) GoProfileTool_ZAnchorOptionCount(GoProfileTool tool);
422 
423 /**
424  * Gets the Z-anchoring option at the given index.
425  *
426  * @public @memberof GoProfileTool
427  * @param tool GoProfileTool object.
428  * @param index The index of the option list to access.
429  * @return The Z-anchoring option at the given index or k32U_MAX if invalid.
430  */
431 GoFx(k32u) GoProfileTool_ZAnchorOptionAt(GoProfileTool tool, kSize index);
432 
433 /**
434  * Gets the current Z-anchoring source.
435  *
436  * @public @memberof GoProfileTool
437  * @param tool GoProfileTool object.
438  * @return The Z-anchoring source or -1 if no source is currently set.
439  */
440 GoFx(k32s) GoProfileTool_ZAnchor(GoProfileTool tool);
441 
442 /**
443  * Sets the Z-anchoring source.
444  *
445  * @public @memberof GoProfileTool
446  * @param tool GoProfileTool object.
447  * @param id The measurement ID of a valid Z-anchoring source.
448  * @return Operation status.
449  */
450 GoFx(kStatus) GoProfileTool_SetZAnchor(GoProfileTool tool, k32s id);
451 
452 /**
453  * Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anchoring.
454  *
455  * @public @memberof GoProfileTool
456  * @param tool GoProfileTool object.
457  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
458  */
459 GoFx(kBool) GoProfileTool_ZAnchorEnabled(GoProfileTool tool);
460 
461 
462 /**
463  * @class GoProfileArea
464  * @extends GoProfileTool
465  * @ingroup GoSdk-ProfileTools
466  * @brief Represents a profile area tool.
467  */
468 typedef GoProfileTool GoProfileArea;
469 
470 /**
471  * Gets the profile area baseline.
472  *
473  * @public @memberof GoProfileArea
474  * @param tool GoProfileArea object.
475  * @return The profile area baseline.
476  */
477 GoFx(GoProfileBaseline) GoProfileArea_Baseline(GoProfileArea tool);
478 
479 /**
480  * Sets the profile area type.
481  *
482  * @public @memberof GoProfileArea
483  * @param tool GoProfileArea object.
484  * @param type The baseline type to set.
485  * @return Operation status.
486  */
487 GoFx(kStatus) GoProfileArea_SetBaseline(GoProfileArea tool, GoProfileBaseline type);
488 
489 /**
490  * Returns a boolean representing whether the profile area baseline is used.
491  *
492  * @public @memberof GoProfileArea
493  * @param tool GoProfileArea object.
494  * @return kTRUE if the baseline is used; kFALSE otherwise.
495  */
496 GoFx(kBool) GoProfileArea_BaselineUsed(GoProfileArea tool);
497 
498 /**
499  * Gets the reference profile line.
500  *
501  * @public @memberof GoProfileArea
502  * @param tool GoProfileArea object.
503  * @return The reference profile line.
504  */
505 GoFx(GoProfileLineRegion) GoProfileArea_LineRegion(GoProfileArea tool);
506 
507 /**
508  * Gets the profile area type.
509  *
510  * @public @memberof GoProfileArea
511  * @param tool GoProfileArea object.
512  * @return The profile area type.
513  */
514 GoFx(GoProfileAreaType) GoProfileArea_Type(GoProfileArea tool);
515 
516 /**
517  * Gets the boolean representing whether the area type is used.
518  *
519  * @public @memberof GoProfileArea
520  * @param tool GoProfileArea object.
521  * @return kTRUE if profile area type is used; kFALSE otherwise.
522  */
523 GoFx(kBool) GoProfileArea_TypeUsed(GoProfileArea tool);
524 
525 /**
526  * Sets the profile area type.
527  *
528  * @public @memberof GoProfileArea
529  * @param tool GoProfileArea object.
530  * @param type GoProfileAreaType object.
531  * @return Operation status.
532  */
533 GoFx(kStatus) GoProfileArea_SetType(GoProfileArea tool, GoProfileAreaType type);
534 
535 /**
536  * Gets the profile region.
537  *
538  * @public @memberof GoProfileArea
539  * @param tool GoProfileArea object.
540  * @return The profile region.
541  */
542 GoFx(GoProfileRegion) GoProfileArea_Region(GoProfileArea tool);
543 
544 /**
545  * Returns a GoProfileArea Area measurement object.
546  *
547  * @public @memberof GoProfileArea
548  * @param tool GoProfileArea object.
549  * @return A GoProfileAreaArea measurement.
550  */
551 GoFx(GoProfileAreaArea) GoProfileArea_AreaMeasurement(GoProfileArea tool);
552 
553 /**
554  * Returns a GoProfileArea Centroid X measurement object.
555  *
556  * @public @memberof GoProfileArea
557  * @param tool GoProfileArea object.
558  * @return A GoProfileAreaCentroidX measurement.
559  */
560 GoFx(GoProfileAreaCentroidX) GoProfileArea_CentroidXMeasurement(GoProfileArea tool);
561 
562 /**
563  * Returns a GoProfileArea Centroid Z measurement object.
564  *
565  * @public @memberof GoProfileArea
566  * @param tool GoProfileArea object.
567  * @return A GoProfileAreaCentroidZ measurement.
568  */
569 GoFx(GoProfileAreaCentroidZ) GoProfileArea_CentroidZMeasurement(GoProfileArea tool);
570 
571 
572 /**
573  * @class GoProfileCircle
574  * @extends GoProfileTool
575  * @ingroup GoSdk-ProfileTools
576  * @brief Represents a profile circle tool.
577  */
578 typedef GoProfileTool GoProfileCircle;
579 
580 /**
581  * Gets the profile region.
582  *
583  * @public @memberof GoProfileCircle
584  * @param tool GoProfileCircle object.
585  * @return The profile region.
586  */
587 GoFx(GoProfileRegion) GoProfileCircle_Region(GoProfileCircle tool);
588 
589 /**
590  * Returns a GoProfileCircle X measurement object.
591  *
592  * @public @memberof GoProfileCircle
593  * @param tool GoProfileCircle object.
594  * @return A GoProfileCircleX measurement.
595  */
596 GoFx(GoProfileCircleX) GoProfileCircle_XMeasurement(GoProfileCircle tool);
597 
598 /**
599  * Returns a GoProfileCircle Z measurement object.
600  *
601  * @public @memberof GoProfileCircle
602  * @param tool GoProfileCircle object.
603  * @return A GoProfileCircleZ measurement.
604  */
605 GoFx(GoProfileCircleZ) GoProfileCircle_ZMeasurement(GoProfileCircle tool);
606 
607 /**
608  * Returns a GoProfileCircle Radius measurement object.
609  *
610  * @public @memberof GoProfileCircle
611  * @param tool GoProfileCircle object.
612  * @return A GoProfileCircle Radius measurement.
613  */
614 GoFx(GoProfileCircleRadius) GoProfileCircle_RadiusMeasurement(GoProfileCircle tool);
615 
616 
617 /**
618  * @class GoProfileDim
619  * @extends GoProfileTool
620  * @ingroup GoSdk-ProfileTools
621  * @brief Represents a profile dimension tool.
622  */
623 typedef GoProfileTool GoProfileDim;
624 
625 
626 /**
627  * Gets the reference profile feature.
628  *
629  * @public @memberof GoProfileDim
630  * @param tool GoProfileDim object.
631  * @return The reference profile feature object.
632  */
633 GoFx(GoProfileFeature) GoProfileDim_RefFeature(GoProfileDim tool);
634 
635 /**
636  * Gets the non-reference profile feature.
637  *
638  * @public @memberof GoProfileDim
639  * @param tool GoProfileDim object.
640  * @return The profile feature object.
641  */
642 GoFx(GoProfileFeature) GoProfileDim_Feature(GoProfileDim tool);
643 
644 /**
645  * Returns a GoProfileDim Width measurement object.
646  *
647  * @public @memberof GoProfileDim
648  * @param tool GoProfileDim object.
649  * @return A GoProfileDimWidth measurement.
650  */
651 GoFx(GoProfileDimWidth) GoProfileDim_WidthMeasurement(GoProfileDim tool);
652 
653 /**
654  * Returns a GoProfileDim Height measurement object.
655  *
656  * @public @memberof GoProfileDim
657  * @param tool GoProfileDim object.
658  * @return A GoProfileDimHeight measurement.
659  */
660 GoFx(GoProfileDimHeight) GoProfileDim_HeightMeasurement(GoProfileDim tool);
661 
662 /**
663  * Returns a GoProfileDim Distance measurement object.
664  *
665  * @public @memberof GoProfileDim
666  * @param tool GoProfileDim object.
667  * @return A GoProfileDimDistance measurement.
668  */
669 GoFx(GoProfileDimDistance) GoProfileDim_DistanceMeasurement(GoProfileDim tool);
670 
671 /**
672  * Returns a GoProfileDim Center X measurement object.
673  *
674  * @public @memberof GoProfileDim
675  * @param tool GoProfileDim object.
676  * @return A GoProfileDimCenterX measurement.
677  */
678 GoFx(GoProfileDimCenterX) GoProfileDim_CenterXMeasurement(GoProfileDim tool);
679 
680 /**
681  * Returns a GoProfileDim Center Z measurement object.
682  *
683  * @public @memberof GoProfileDim
684  * @param tool GoProfileDim object.
685  * @return A GoProfileDimCenterZ measurement.
686  */
687 GoFx(GoProfileDimCenterZ) GoProfileDim_CenterZMeasurement(GoProfileDim tool);
688 
689 
690 /**
691  * @class GoProfileGroove
692  * @extends GoProfileTool
693  * @ingroup GoSdk-ProfileTools
694  * @brief Represents a profile groove tool.
695  */
696 typedef GoProfileTool GoProfileGroove;
697 
698 /**
699  * Adds an additional profile groove tool measurement.
700  *
701  * @public @memberof GoProfileGroove
702  * @param tool GoProfileGroove object.
703  * @param type The measurement type to add. It must be a valid profile groove tool type.
704  * @param measurement A reference to the new GoMeasurement handle. Can be kNULL if you do not wish to do anything immediate with the new measurement.
705  * @return Operation status.
706  */
707 GoFx(kStatus) GoProfileGroove_AddMeasurement(GoProfileGroove tool, GoMeasurementType type, GoMeasurement* measurement);
708 
709 /**
710  * Removes a measurement from the tool at the given index.
711  *
712  * @public @memberof GoProfileGroove
713  * @param tool GoProfileGroove object.
714  * @param index The index with which to remove a measurement.
715  * @return Operation status.
716  */
717 GoFx(kStatus) GoProfileGroove_RemoveMeasurement(GoProfileGroove tool, kSize index);
718 
719 /**
720  * Returns the measurement count for the given tool.
721  *
722  * @public @memberof GoProfileGroove
723  * @param tool GoProfileGroove object.
724  * @return Tool measurement count.
725  */
726 GoFx(kSize) GoProfileGroove_MeasurementCount(GoProfileGroove tool);
727 
728 /**
729  * Returns a measurement object at the given index.
730  *
731  * @public @memberof GoProfileGroove
732  * @param tool GoProfileGroove object.
733  * @param index The index with which to return a measurement object.
734  * @return A profile groove tool measurement or kNULL if the index is invalid.
735  */
736 GoFx(GoMeasurement) GoProfileGroove_MeasurementAt(GoProfileGroove tool, kSize index);
737 
738 /**
739  * Gets the current groove determination shape.
740  *
741  * @public @memberof GoProfileGroove
742  * @param tool GoProfileGroove object.
743  * @return The profile groove shape.
744  */
745 GoFx(GoProfileGrooveShape) GoProfileGroove_Shape(GoProfileGroove tool);
746 
747 /**
748  * Sets the groove determination shape.
749  *
750  * @public @memberof GoProfileGroove
751  * @param tool GoProfileGroove object.
752  * @param shape The intended profile groove shape.
753  * @return Operation status.
754  */
755 GoFx(kStatus) GoProfileGroove_SetShape(GoProfileGroove tool, GoProfileGrooveShape shape);
756 
757 /**
758  * Gets the groove depth minimum.
759  *
760  * @public @memberof GoProfileGroove
761  * @param tool GoProfileGroove object.
762  * @return The groove depth minimum value.
763  */
764 GoFx(k64f) GoProfileGroove_MinDepth(GoProfileGroove tool);
765 
766 /**
767  * Sets the groove depth minimum.
768  *
769  * @public @memberof GoProfileGroove
770  * @param tool GoProfileGroove object.
771  * @param depth The minimum groove depth value to set.
772  * @return Operation status.
773  */
774 GoFx(kStatus) GoProfileGroove_SetMinDepth(GoProfileGroove tool, k64f depth);
775 
776 /**
777  * Gets the groove width maximum.
778  *
779  * @public @memberof GoProfileGroove
780  * @param tool GoProfileGroove object.
781  * @return The groove width maximum value.
782  */
783 GoFx(k64f) GoProfileGroove_MaxWidth(GoProfileGroove tool);
784 
785 /**
786  * Sets the groove width maximum.
787  *
788  * @public @memberof GoProfileGroove
789  * @param tool GoProfileGroove object.
790  * @param width The maximum groove width value to set.
791  * @return Operation status.
792  */
793 GoFx(kStatus) GoProfileGroove_SetMaxWidth(GoProfileGroove tool, k64f width);
794 
795 /**
796  * Gets the groove width minimum value.
797  *
798  * @public @memberof GoProfileGroove
799  * @param tool GoProfileGroove object.
800  * @return The groove width minimum.
801  */
802 GoFx(k64f) GoProfileGroove_MinWidth(GoProfileGroove tool);
803 
804 /**
805  * Sets the groove width minimum.
806  *
807  * @public @memberof GoProfileGroove
808  * @param tool GoProfileGroove object.
809  * @param width The minimum groove width value to set.
810  * @return Operation status.
811  */
812 GoFx(kStatus) GoProfileGroove_SetMinWidth(GoProfileGroove tool, k64f width);
813 
814 /**
815  * Gets the profile region.
816  *
817  * @public @memberof GoProfileGroove
818  * @param tool GoProfileGroove object.
819  * @return The profile region.
820  */
821 GoFx(GoProfileRegion) GoProfileGroove_Region(GoProfileGroove tool);
822 
823 
824 /**
825  * @class GoProfileIntersect
826  * @extends GoProfileTool
827  * @ingroup GoSdk-ProfileTools
828  * @brief Represents a profile intersect tool.
829  */
830 typedef GoProfileTool GoProfileIntersect;
831 
832 
833 /**
834  * Gets the reference profile line type.
835  *
836  * @public @memberof GoProfileIntersect
837  * @param tool GoProfileIntersect object.
838  * @return The profile line type.
839  */
840 GoFx(GoProfileBaseline) GoProfileIntersect_RefLineType(GoProfileIntersect tool);
841 
842 /**
843  * Sets the reference line type.
844  *
845  * @public @memberof GoProfileIntersect
846  * @param tool GoProfileIntersect object.
847  * @param type The line type to set.
848  * @return
849  */
850 GoFx(kStatus) GoProfileIntersect_SetRefLineType(GoProfileIntersect tool, GoProfileBaseline type);
851 
852 /**
853  * Gets the reference profile line.
854  *
855  * @public @memberof GoProfileIntersect
856  * @param tool GoProfileIntersect object.
857  * @return The reference profile line.
858  */
859 GoFx(GoProfileLineRegion) GoProfileIntersect_RefLine(GoProfileIntersect tool);
860 
861 /**
862  * Gets the non-reference profile line.
863  *
864  * @public @memberof GoProfileIntersect
865  * @param tool GoProfileIntersect object.
866  * @return The non-reference profile line.
867  */
868 GoFx(GoProfileLineRegion) GoProfileIntersect_Line(GoProfileIntersect tool);
869 
870 /**
871  * Returns a GoProfileIntersect X measurement object.
872  *
873  * @public @memberof GoProfileIntersect
874  * @param tool GoProfileIntersect object.
875  * @return A GoProfileIntersect X measurement.
876  */
877 GoFx(GoProfileIntersectX) GoProfileIntersect_XMeasurement(GoProfileIntersect tool);
878 
879 /**
880  * Returns a GoProfileIntersect Z measurement object.
881  *
882  * @public @memberof GoProfileIntersect
883  * @param tool GoProfileIntersect object.
884  * @return A GoProfileIntersect Z measurement.
885  */
886 GoFx(GoProfileIntersectZ) GoProfileIntersect_ZMeasurement(GoProfileIntersect tool);
887 
888 /**
889  * Returns a GoProfileIntersect Angle measurement object.
890  *
891  * @public @memberof GoProfileIntersect
892  * @param tool GoProfileIntersect object.
893  * @return A GoProfileIntersect Angle measurement.
894  */
895 GoFx(GoProfileIntersectAngle) GoProfileIntersect_AngleMeasurement(GoProfileIntersect tool);
896 
897 
898 /**
899  * @class GoProfileLine
900  * @extends GoProfileTool
901  * @ingroup GoSdk-ProfileTools
902  * @brief Represents a profile line tool.
903  */
904 typedef GoProfileTool GoProfileLine;
905 
906 /**
907  * Gets the profile region.
908  *
909  * @public @memberof GoProfileDev
910  * @param tool GoProfileDev object.
911  * @return The profile region.
912  */
913 GoFx(GoProfileRegion) GoProfileLine_Region(GoProfileLine tool);
914 
915 /**
916  * Returns a GoProfileLine Standard Deviation measurement object.
917  *
918  * @public @memberof GoProfileLine
919  * @param tool GoProfileLine object.
920  * @return A GoProfileLine Standard Deviation measurement.
921  */
922 GoFx(GoProfileLineStdDev) GoProfileLine_StdDevMeasurement(GoProfileLine tool);
923 
924 /**
925  * Returns a GoProfileLine Maximum Error measurement object.
926  *
927  * @public @memberof GoProfileLine
928  * @param tool GoProfileLine object.
929  * @return A GoProfileLine Maximum Error measurement.
930  */
931 GoFx(GoProfileLineMaxError) GoProfileLine_MaxErrorMeasurement(GoProfileLine tool);
932 
933 /**
934  * Returns a GoProfileLine Minimum Error measurement object.
935  *
936  * @public @memberof GoProfileLine
937  * @param tool GoProfileLine object.
938  * @return A GoProfileLine Minimum Error measurement.
939  */
940 GoFx(GoProfileLineMinError) GoProfileLine_MinErrorMeasurement(GoProfileLine tool);
941 
942 /**
943  * Returns a GoProfileLine Percentile measurement object.
944  *
945  * @public @memberof GoProfileLine
946  * @param tool GoProfileLine object.
947  * @return A GoProfileLine Percentile measurement.
948  */
949 GoFx(GoProfileLinePercentile) GoProfileLine_PercentileMeasurement(GoProfileLine tool);
950 
951 
952 /**
953  * @class GoProfilePanel
954  * @extends GoProfileTool
955  * @ingroup GoSdk-ProfileTools
956  * @brief Represents a profile panel tool.
957  */
958 typedef GoProfileTool GoProfilePanel;
959 
960 /**
961  * Gets the maximum gap width.
962  *
963  * @public @memberof GoProfilePanel
964  * @param tool GoProfilePanel object.
965  * @return The maximum gap width.
966  */
967 GoFx(k64f) GoProfilePanel_MaxGapWidth(GoProfilePanel tool);
968 
969 /**
970  * Sets the maximum gap width.
971  *
972  * @public @memberof GoProfilePanel
973  * @param tool GoProfilePanel object.
974  * @param width The maximum gap width value to set.
975  * @return Operation status.
976  */
977 GoFx(kStatus) GoProfilePanel_SetMaxGapWidth(GoProfilePanel tool, k64f width);
978 
979 /**
980  * Gets the reference edge side.
981  *
982  * @public @memberof GoProfilePanel
983  * @param tool GoProfilePanel object.
984  * @return The reference edge side.
985  */
986 GoFx(GoProfilePanelSide) GoProfilePanel_RefEdgeSide(GoProfilePanel tool);
987 
988 /**
989  * Sets the reference edge side.
990  *
991  * @public @memberof GoProfilePanel
992  * @param tool GoProfilePanel object.
993  * @param side The reference edge side.
994  * @return Operation status.
995  */
996 GoFx(kStatus) GoProfilePanel_SetRefEdgeSide(GoProfilePanel tool, GoProfilePanelSide side);
997 
998 /**
999  * Gets the left profile edge.
1000  *
1001  * @public @memberof GoProfilePanel
1002  * @param tool GoProfilePanel object.
1003  * @return The left profile edge.
1004  */
1005 GoFx(GoProfileEdge) GoProfilePanel_LeftEdge(GoProfilePanel tool);
1006 
1007 /**
1008  * Gets the right profile edge.
1009  *
1010  * @public @memberof GoProfilePanel
1011  * @param tool GoProfilePanel object.
1012  * @return The right profile edge.
1013  */
1014 GoFx(GoProfileEdge) GoProfilePanel_RightEdge(GoProfilePanel tool);
1015 
1016 /**
1017  * Returns a GoProfilePanel Gap measurement object.
1018  *
1019  * @public @memberof GoProfilePanel
1020  * @param tool GoProfilePanel object.
1021  * @return A GoProfilePanel Gap measurement.
1022  */
1023 GoFx(GoProfilePanelGap) GoProfilePanel_GapMeasurement(GoProfilePanel tool);
1024 
1025 /**
1026  * Returns a GoProfilePanel Flush measurement object.
1027  *
1028  * @public @memberof GoProfilePanel
1029  * @param tool GoProfilePanel object.
1030  * @return A GoProfilePanel Flush measurement.
1031  */
1032 GoFx(GoProfilePanelFlush) GoProfilePanel_FlushMeasurement(GoProfilePanel tool);
1033 
1034 
1035 /**
1036  * @class GoProfilePosition
1037  * @extends GoProfileTool
1038  * @ingroup GoSdk-ProfileTools
1039  * @brief Represents a profile position tool.
1040  */
1041 typedef GoProfileTool GoProfilePosition;
1042 
1043 /**
1044  * Gets the profile feature.
1045  *
1046  * @public @memberof GoProfilePosition
1047  * @param tool GoProfilePos object.
1048  * @return The profile feature.
1049  */
1050 GoFx(GoProfileFeature) GoProfilePosition_Feature(GoProfilePosition tool);
1051 
1052 /**
1053  * Returns a GoProfilePosition X measurement object.
1054  *
1055  * @public @memberof GoProfilePosition
1056  * @param tool GoProfilePosition object.
1057  * @return A GoProfilePosition X measurement.
1058  */
1059 GoFx(GoProfilePositionX) GoProfilePosition_XMeasurement(GoProfilePosition tool);
1060 
1061 /**
1062  * Returns a GoProfilePosition Z measurement object.
1063  *
1064  * @public @memberof GoProfilePosition
1065  * @param tool GoProfilePosition object.
1066  * @return A GoProfilePosition Z measurement.
1067  */
1068 GoFx(GoProfilePositionZ) GoProfilePosition_ZMeasurement(GoProfilePosition tool);
1069 
1070 
1071 /**
1072  * @class GoProfileStrip
1073  * @extends GoProfileTool
1074  * @ingroup GoSdk-ProfileTools
1075  * @brief Represents a profile strip tool.
1076  */
1077 typedef GoProfileTool GoProfileStrip;
1078 
1079 /**
1080  * Sets the strip base type.
1081  *
1082  * @public @memberof GoProfileStrip
1083  * @param tool GoProfileStrip object.
1084  * @param type The strip base type.
1085  * @return Operation status.
1086  */
1087 GoFx(kStatus) GoProfileStrip_SetBaseType(GoProfileStrip tool, GoProfileStripBaseType type);
1088 
1089 /**
1090  * Gets the strip base type.
1091  *
1092  * @public @memberof GoProfileStrip
1093  * @param tool GoProfileStrip object.
1094  * @return The strip base type.
1095  */
1096 GoFx(GoProfileStripBaseType) GoProfileStrip_BaseType(GoProfileStrip tool);
1097 
1098 /**
1099  * Gets the left edge value.
1100  *
1101  * @public @memberof GoProfileStrip
1102  * @param tool GoProfileStrip object.
1103  * @return The left edge value.
1104  */
1105 GoFx(k8u) GoProfileStrip_LeftEdge(GoProfileStrip tool);
1106 
1107 /**
1108  * Sets the left edge.
1109  *
1110  * @public @memberof GoProfileStrip
1111  * @param tool GoProfileStrip object.
1112  * @param leftEdge Left edge value.
1113  * @return Operation status.
1114  */
1115 GoFx(kStatus) GoProfileStrip_SetLeftEdge(GoProfileStrip tool, k8u leftEdge);
1116 
1117 /**
1118  * Gets the right edge value.
1119  *
1120  * @public @memberof GoProfileStrip
1121  * @param tool GoProfileStrip object.
1122  * @return The right edge value.
1123  */
1124 GoFx(k8u) GoProfileStrip_RightEdge(GoProfileStrip tool);
1125 
1126 /**
1127  * Sets the right edge.
1128  *
1129  * @public @memberof GoProfileStrip
1130  * @param tool GoProfileStrip object.
1131  * @param rightEdge Right edge value.
1132  * @return Operation status.
1133  */
1134 GoFx(kStatus) GoProfileStrip_SetRightEdge(GoProfileStrip tool, k8u rightEdge);
1135 
1136 /**
1137  * Gets the tilt enabled state.
1138  *
1139  * @public @memberof GoProfileStrip
1140  * @param tool GoProfileStrip object.
1141  * @return kTRUE if tilt is enabled, kFALSE otherwise.
1142  */
1143 GoFx(kBool) GoProfileStrip_TiltEnabled(GoProfileStrip tool);
1144 
1145 /**
1146  * Enables or disables tilt.
1147  *
1148  * @public @memberof GoProfileStrip
1149  * @param tool GoProfileStrip object.
1150  * @param enable kTRUE to enable tilt, kFALSE to disable it.
1151  * @return Operation status.
1152  */
1153 GoFx(kStatus) GoProfileStrip_EnableTilt(GoProfileStrip tool, kBool enable);
1154 
1155 /**
1156  * Gets the transition width.
1157  *
1158  * @public @memberof GoProfileStrip
1159  * @param tool GoProfileStrip object.
1160  * @return The transition width (in mm).
1161  */
1162 GoFx(k64f) GoProfileStrip_TransitionWidth(GoProfileStrip tool);
1163 
1164 /**
1165  * Sets the transition width.
1166  *
1167  * @public @memberof GoProfileStrip
1168  * @param tool GoProfileStrip object.
1169  * @param value The transition width (in mm).
1170  * @return Operation status.
1171  */
1172 GoFx(kStatus) GoProfileStrip_SetTransitionWidth(GoProfileStrip tool, k64f value);
1173 
1174 /**
1175  * Gets the minimum width.
1176  *
1177  * @public @memberof GoProfileStrip
1178  * @param tool GoProfileStrip object.
1179  * @return The minimum width (in mm).
1180  */
1181 GoFx(k64f) GoProfileStrip_MinWidth(GoProfileStrip tool);
1182 
1183 /**
1184  * Sets the minimum width.
1185  *
1186  * @public @memberof GoProfileStrip
1187  * @param tool GoProfileStrip object.
1188  * @param value The minimum width (in mm).
1189  * @return Operation status.
1190  */
1191 GoFx(kStatus) GoProfileStrip_SetMinWidth(GoProfileStrip tool, k64f value);
1192 
1193 /**
1194  * Gets the minimum height.
1195  *
1196  * @public @memberof GoProfileStrip
1197  * @param tool GoProfileStrip object.
1198  * @return The minimum height (in mm).
1199  */
1200 GoFx(k64f) GoProfileStrip_MinHeight(GoProfileStrip tool);
1201 
1202 /**
1203  * Sets the transition height.
1204  *
1205  * @public @memberof GoProfileStrip
1206  * @param tool GoProfileStrip object.
1207  * @param value The minimum height (in mm).
1208  * @return Operation status.
1209  */
1210 GoFx(kStatus) GoProfileStrip_SetMinHeight(GoProfileStrip tool, k64f value);
1211 
1212 /**
1213  * Gets the maximum void width.
1214  *
1215  * @public @memberof GoProfileStrip
1216  * @param tool GoProfileStrip object.
1217  * @return The maximum void width (in mm).
1218  */
1219 GoFx(k64f) GoProfileStrip_MaxVoidWidth(GoProfileStrip tool);
1220 
1221 /**
1222  * Sets the maximum void width.
1223  *
1224  * @public @memberof GoProfileStrip
1225  * @param tool GoProfileStrip object.
1226  * @param value The maximum void width (in mm).
1227  * @return Operation status.
1228  */
1229 GoFx(kStatus) GoProfileStrip_SetMaxVoidWidth(GoProfileStrip tool, k64f value);
1230 
1231 /**
1232  * Gets the profile strip tool region.
1233  *
1234  * @public @memberof GoProfileStrip
1235  * @param tool GoProfileStrip object.
1236  * @return A GoProfileRegion object.
1237  */
1238 GoFx(GoProfileRegion) GoProfileStrip_Region(GoProfileStrip tool);
1239 
1240 /**
1241  * Adds an additional profile strip tool measurement.
1242  *
1243  * @public @memberof GoProfileStrip
1244  * @param tool GoProfileStrip object.
1245  * @param type The measurement type to add. It must be a valid profile strip tool type.
1246  * @param measurement A reference to the new GoMeasurement handle. Can be kNULL if you do not wish to do anything immediate with the new measurement.
1247  * @return Operation status.
1248  */
1249 GoFx(kStatus) GoProfileStrip_AddMeasurement(GoProfileStrip tool, GoMeasurementType type, GoMeasurement* measurement);
1250 
1251 /**
1252  * Removes a measurement from the tool at the given index.
1253  *
1254  * @public @memberof GoProfileStrip
1255  * @param tool GoProfileStrip object.
1256  * @param index The index with which to remove a measurement.
1257  * @return Operation status.
1258  */
1259 GoFx(kStatus) GoProfileStrip_RemoveMeasurement(GoProfileStrip tool, kSize index);
1260 
1261 /**
1262  * Returns the measurement count for the given tool.
1263  *
1264  * @public @memberof GoProfileStrip
1265  * @param tool GoProfileStrip object.
1266  * @return Tool measurement count.
1267  */
1268 GoFx(kSize) GoProfileStrip_MeasurementCount(GoProfileStrip tool);
1269 
1270 /**
1271  * Returns a measurement object at the given index.
1272  *
1273  * @public @memberof GoProfileStrip
1274  * @param tool GoProfileStrip object.
1275  * @param index The index with which to return a measurement object.
1276  * @return A profile strip tool measurement or kNULL if the index is invalid.
1277  */
1278 GoFx(GoMeasurement) GoProfileStrip_MeasurementAt(GoProfileStrip tool, kSize index);
1279 
1280 kEndHeader()
1281 #include <GoSdk/Tools/GoProfileTools.x.h>
1282 
1283 #endif
1284 /// @endcond
Declares the base GoTool class.
Represents the base class for a tool measurement or script output.
Definition: GoMeasurement.h:15
Lists all measurement types.
Represents a data source.
Contains various helper functions.
Essential SDK declarations.
Represents the base tool class.
Definition: GoTool.h:16
kBeginHeader() kStatus GoSdk_Construct(kAssembly *assembly)
Constructs the Gocator SDK library.