Gocator API
 All Classes Files Functions Variables Typedefs Macros Groups Pages
GoProfileTypes.h
Go to the documentation of this file.
1 /// @cond Gocator_2x00
2 
3 /**
4  * @file GoProfileTypes.h
5  * @brief Declares the GoProfileType classes.
6  *
7  * @internal
8  * Copyright (C) 2011-2012 by LMI Technologies Inc.
9  * Licensed under the MIT License.
10  * Redistributed files must retain the above copyright notice.
11  */
12 #ifndef GO_API_PROFILE_TYPES_H
13 #define GO_API_PROFILE_TYPES_H
14 
15 #include <GoSdk/GoSdkDef.h>
16 kBeginHeader()
17 
18 
19 /**
20  * @struct GoProfileFeatureType
21  * @ingroup GoSdk
22  * @brief Represents a profile feature point type.
23  */
24 typedef k32s GoProfileFeatureType;
25 
26 #define GO_PROFILE_FEATURE_TYPE_TOP (0) ///< Top-most point.
27 #define GO_PROFILE_FEATURE_TYPE_BOTTOM (1) ///< Bottom-most point.
28 #define GO_PROFILE_FEATURE_TYPE_RIGHT (2) ///< Right-most point.
29 #define GO_PROFILE_FEATURE_TYPE_LEFT (3) ///< Left-most point.
30 #define GO_PROFILE_FEATURE_TYPE_CORNER (4) ///< Dominant corner.
31 #define GO_PROFILE_FEATURE_TYPE_AVERAGE (5) ///< Average of points.
32 #define GO_PROFILE_FEATURE_TYPE_RISING_EDGE (6) ///< Rising edge.
33 #define GO_PROFILE_FEATURE_TYPE_FALLING_EDGE (7) ///< Falling edge.
34 #define GO_PROFILE_FEATURE_TYPE_ANY_EDGE (8) ///< Rising or falling edge.
35 #define GO_PROFILE_FEATURE_TYPE_TOP_CORNER (9) ///< Top-most corner.
36 #define GO_PROFILE_FEATURE_TYPE_BOTTOM_CORNER (10) ///< Bottom-most corner.
37 #define GO_PROFILE_FEATURE_TYPE_LEFT_CORNER (11) ///< Left-most corner.
38 #define GO_PROFILE_FEATURE_TYPE_RIGHT_CORNER (12) ///< Right-most corner.
39 #define GO_PROFILE_FEATURE_TYPE_MEDIAN (13) ///< Median of points.
40 
41 
42 /**
43  * @struct GoProfileGapAxis
44  * @ingroup GoSdk
45  * @brief Represents a profile gap measurement axis.
46  */
47 typedef k32s GoProfileGapAxis;
48 
49 #define GO_PROFILE_GAP_AXIS_EDGE (0) ///< Measure the gap along the edge normal.
50 #define GO_PROFILE_GAP_AXIS_SURFACE (1) ///< Measure the gap along the surface line.
51 #define GO_PROFILE_GAP_AXIS_DISTANCE (2) ///< Measure the shortest distance between the two edges.
52 
53 
54 /**
55  * @struct GoProfileEdgeType
56  * @ingroup kApi
57  * @brief Represents a profile edge type.
58  */
59 typedef k32s GoProfileEdgeType;
60 
61 #define GO_PROFILE_EDGE_TYPE_TANGENT (0) ///< Detect the edge by looking for the tangent.
62 #define GO_PROFILE_EDGE_TYPE_CORNER (1) ///< Detect the edge by looking for the corner.
63 
64 /**
65  * @struct GoProfileLineType
66  * @ingroup GoSdk
67  * @brief Determines whether to use a line based on a ProfileLine fit, or based on the x-axis.
68  */
69 typedef k32s GoProfileBaseline;
70 
71 #define GO_PROFILE_BASELINE_TYPE_X_AXIS (0) ///< Use the X-Axis.
72 #define GO_PROFILE_BASELINE_TYPE_Z_AXIS (1) ///< Use the Z-Axis.
73 #define GO_PROFILE_BASELINE_TYPE_LINE (2) ///< Use the line fit.
74 
75 /**
76  * @struct GoProfileAreaType
77  * @ingroup GoSdk
78  * @brief Determines how to calculate profile area
79  */
80 typedef k32s GoProfileAreaType;
81 
82 #define GO_PROFILE_AREA_TYPE_OBJECT (0) ///< Sum the profile area that is above the line.
83 #define GO_PROFILE_AREA_TYPE_CLEARANCE (1) ///< Sum the profile area that is below the line.
84 
85 
86 /**
87  * @struct GoProfileGapSide
88  * @ingroup GoSdk
89  * @brief Selects which edge to use as the reference in a panel tool.
90  */
91 typedef k32s GoProfilePanelSide;
92 
93 #define GO_PROFILE_PANEL_SIDE_LEFT (0) ///< Use the left edge.
94 #define GO_PROFILE_PANEL_SIDE_RIGHT (1) ///< Use the right edge.
95 
96 
97 
98 /**
99  * @struct GoProfileGrooveShape
100  * @ingroup GoSdk
101  * @brief Represents a profile edge type.
102  */
103 typedef k32s GoProfileGrooveShape;
104 
105 #define GO_PROFILE_GROOVE_SHAPE_U (0) ///< Detect grooves that are U shaped.
106 #define GO_PROFILE_GROOVE_SHAPE_V (1) ///< Detect grooves that are V shaped.
107 #define GO_PROFILE_GROOVE_SHAPE_OPEN (2) ///< Detect grooves that are open.
108 
109 
110 /**
111  * @struct GoProfileGrooveSelectType
112  * @ingroup GoSdk
113  * @brief Determines which groove to select when multiple are present.
114  */
115 typedef k32s GoProfileGrooveSelectType;
116 
117 #define GO_PROFILE_GROOVE_SELECT_TYPE_MAX_DEPTH (0) ///< Select the groove with the maximum depth.
118 #define GO_PROFILE_GROOVE_SELECT_TYPE_LEFT_INDEX (1) ///< Select the groove with the currently selected index starting from the left side.
119 #define GO_PROFILE_GROOVE_SELECT_TYPE_RIGHT_INDEX (2) ///< Select the groove with the currently selected index starting from the right side.
120 
121 
122 /**
123  * @struct GoProfileGrooveLocation
124  * @ingroup GoSdk
125  * @brief Determines which groove position to return.
126  */
127 typedef k32s GoProfileGrooveLocation;
128 
129 #define GO_PROFILE_GROOVE_LOCATION_BOTTOM (0) ///< Return the position of the bottom of the groove.
130 #define GO_PROFILE_GROOVE_LOCATION_LEFT (1) ///< Return the position of the left corner of the groove.
131 #define GO_PROFILE_GROOVE_LOCATION_RIGHT (2) ///< Return the position of the right corner of the groove.
132 
133 
134 /**
135  * @struct GoProfileStripSelectType
136  * @ingroup GoSdk
137  * @brief Determines which Strip to select when multiple are present.
138  */
139 typedef k32s GoProfileStripSelectType;
140 
141 #define GO_PROFILE_STRIP_SELECT_TYPE_BEST (0) ///< Select the best strip.
142 #define GO_PROFILE_STRIP_SELECT_TYPE_LEFT_INDEX (1) ///< Select the strip with the currently selected index starting from the left side.
143 #define GO_PROFILE_STRIP_SELECT_TYPE_RIGHT_INDEX (2) ///< Select the strip with the currently selected index starting from the right side.
144 
145 
146 /**
147  * @struct GoProfileStripLocation
148  * @ingroup GoSdk
149  * @brief Determines which Strip position to return.
150  */
151 typedef k32s GoProfileStripLocation;
152 
153 #define GO_PROFILE_STRIP_LOCATION_LEFT (0) ///< Return the position of the left corner of the Strip.
154 #define GO_PROFILE_STRIP_LOCATION_RIGHT (1) ///< Return the position of the right corner of the Strip.
155 #define GO_PROFILE_STRIP_LOCATION_BOTTOM (2) ///< Return the position of the center of the Strip.
156 
157 
158 /**
159  * @class GoProfileRegion
160  * @extends kObject
161  * @ingroup GoSdk
162  * @brief Represents a ...
163  */
164 typedef kObject GoProfileRegion;
165 
166 /**
167  * Sets the X position.
168  *
169  * @public @memberof GoProfileRegion
170  * @param region GoProfileRegion object.
171  * @param x The X-position to set.
172  * @return Operation status.
173  */
174 GoFx(kStatus) GoProfileRegion_SetX(GoProfileRegion region, k64f x);
175 
176 /**
177  * Gets the X-position.
178  *
179  * @public @memberof GoProfileRegion
180  * @param region GoProfileRegion object.
181  * @return The X-position of the region.
182  */
183 GoFx(k64f) GoProfileRegion_X(GoProfileRegion region);
184 
185 /**
186  * Sets the Z-position.
187  *
188  * @public @memberof GoProfileRegion
189  * @param region GoProfileRegion object.
190  * @param z The Z-position to set.
191  * @return Operation status.
192  */
193 GoFx(kStatus) GoProfileRegion_SetZ(GoProfileRegion region, k64f z);
194 
195 /**
196  * Gets the Z-position.
197  *
198  * @public @memberof GoProfileRegion
199  * @param region GoProfileRegion object.
200  * @return The Z-position of the region.
201  */
202 GoFx(k64f) GoProfileRegion_Z(GoProfileRegion region);
203 
204 /**
205  * Sets the width.
206  *
207  * @public @memberof GoProfileRegion
208  * @param region GoProfileRegion object.
209  * @param width The width to set.
210  * @return Operation status.
211  */
212 GoFx(kStatus) GoProfileRegion_SetWidth(GoProfileRegion region, k64f width);
213 
214 /**
215  * Gets the width.
216  *
217  * @public @memberof GoProfileRegion
218  * @param region GoProfileRegion object.
219  * @return The width of the region.
220  */
221 GoFx(k64f) GoProfileRegion_Width(GoProfileRegion region);
222 
223 /**
224  * Sets the height.
225  *
226  * @public @memberof GoProfileRegion
227  * @param region GoProfileRegion object.
228  * @param height The height to set.
229  * @return Operation status.
230  */
231 GoFx(kStatus) GoProfileRegion_SetHeight(GoProfileRegion region, k64f height);
232 
233 /**
234  * Gets the height.
235  *
236  * @public @memberof GoProfileRegion
237  * @param region GoProfileRegion object.
238  * @return The height of the region.
239  */
240 GoFx(k64f) GoProfileRegion_Height(GoProfileRegion region);
241 
242 /**
243 * @class GoProfileFeature
244 * @extends kObject
245 * @ingroup GoSdk
246 * @brief Represents a ...
247 */
248 typedef kObject GoProfileFeature;
249 
250 /**
251  * Sets the feature type.
252  *
253  * @public @memberof GoProfileFeature
254  * @param feature GoProfileFeature object.
255  * @param type GoProfileFeatureType object.
256  * @return Operation status.
257  */
258 GoFx(kStatus) GoProfileFeature_SetType(GoProfileFeature feature, GoProfileFeatureType type);
259 
260 /**
261  * Gets the profile feature type.
262  *
263  * @public @memberof GoProfileFeature
264  * @param feature GoProfileFeature object.
265  * @return The feature type.
266  */
267 GoFx(GoProfileFeatureType) GoProfileFeature_Type(GoProfileFeature feature);
268 
269 GoFx(GoProfileRegion) GoProfileFeature_Region(GoProfileFeature feature);
270 
271 /**
272 * @class GoProfileLine
273 * @extends kObject
274 * @ingroup GoSdk
275 * @brief Represents a ...
276 */
277 typedef kObject GoProfileLineRegion;
278 
279 /**
280  * Returns the number of regions.
281  *
282  * @public @memberof GoProfileLine
283  * @param lineRegion GoProfileLineRegion object.
284  * @return The region count.
285  */
286 GoFx(k32u) GoProfileLineRegion_RegionCount(GoProfileLineRegion lineRegion);
287 
288 /**
289  * Gets the profile region based on the given index.
290  *
291  * @public @memberof GoProfileLine
292  * @param lineRegion GoProfileLineRegion object.
293  * @param index The index of the profile region to return.
294  * @return The profile region.
295  */
296 GoFx(GoProfileRegion) GoProfileLineRegion_RegionAt(GoProfileLineRegion lineRegion, k32u index);
297 
298 /**
299 * @class GoProfileEdge
300 * @extends kObject
301 * @ingroup GoSdk
302 * @brief Represents a ...
303 */
304 typedef kObject GoProfileEdge;
305 
306 /**
307  * Sets the profile edge type.
308  *
309  * @public @memberof GoProfileEdge
310  * @param edge GoProfileEdge object.
311  * @param type The type of the profile edge.
312  * @return Operation status.
313  */
314 GoFx(kStatus) GoProfileEdge_SetType(GoProfileEdge edge, GoProfileEdgeType type);
315 
316 /**
317  * Gets the profile edge type.
318  *
319  * @public @memberof GoProfileEdge
320  * @param edge GoProfileEdge object.
321  * @return The profile edge type.
322  */
323 GoFx(GoProfileEdgeType) GoProfileEdge_Type(GoProfileEdge edge);
324 
325 /**
326  * Gets the profile region.
327  *
328  * @public @memberof GoProfileEdge
329  * @param edge GoProfileEdge object.
330  * @return The profile region.
331  */
332 GoFx(GoProfileRegion) GoProfileEdge_Region(GoProfileEdge edge);
333 
334 /**
335  * Sets the maximum void width.
336  *
337  * @public @memberof GoProfileEdge
338  * @param edge GoProfileEdge object.
339  * @param width The width to set for the maximum void width.
340  * @return Operation status.
341  */
342 GoFx(kStatus) GoProfileEdge_SetVoidWidthMax(GoProfileEdge edge, k64f width);
343 
344 /**
345  * Gets the maximum void width.
346  *
347  * @public @memberof GoProfileEdge
348  * @param edge GoProfileEdge object.
349  * @return Maximum void width.
350  */
351 GoFx(k64f) GoProfileEdge_VoidWidthMax(GoProfileEdge edge);
352 
353 /**
354  * Sets the minimum depth.
355  *
356  * @public @memberof GoProfileEdge
357  * @param edge GoProfileEdge object.
358  * @param depth The minimum depth.
359  * @return Operation status.
360  */
361 GoFx(kStatus) GoProfileEdge_SetDepthMin(GoProfileEdge edge, k64f depth);
362 
363 /**
364  * Gets the minimum depth.
365  *
366  * @public @memberof GoProfileEdge
367  * @param edge GoProfileEdge object.
368  * @return The minimum depth.
369  */
370 GoFx(k64f) GoProfileEdge_DepthMin(GoProfileEdge edge);
371 
372 /**
373  * Sets the surface width.
374  *
375  * @public @memberof GoProfileEdge
376  * @param edge GoProfileEdge object.
377  * @param width The surface width.
378  * @return Operation status.
379  */
380 GoFx(kStatus) GoProfileEdge_SetSurfaceWidth(GoProfileEdge edge, k64f width);
381 
382 /**
383  * Gets the surface width.
384  *
385  * @public @memberof GoProfileEdge
386  * @param edge GoProfileEdge object.
387  * @return The surface width.
388  */
389 GoFx(k64f) GoProfileEdge_SurfaceWidth(GoProfileEdge edge);
390 
391 /**
392  * Sets the surface offset.
393  *
394  * @public @memberof GoProfileEdge
395  * @param edge GoProfileEdge object.
396  * @param offset The surface offset.
397  * @return Operation status.
398  */
399 GoFx(kStatus) GoProfileEdge_SetSurfaceOffset(GoProfileEdge edge, k64f offset);
400 
401 /**
402  * Gets the surface offset.
403  *
404  * @public @memberof GoProfileEdge
405  * @param edge GoProfileEdge object.
406  * @return The surface offset.
407  */
408 GoFx(k64f) GoProfileEdge_SurfaceOffset(GoProfileEdge edge);
409 
410 /**
411  * Sets the nominal radius.
412  *
413  * @public @memberof GoProfileEdge
414  * @param edge GoProfileEdge object.
415  * @param radius The nominal radius.
416  * @return Operation status.
417  */
418 GoFx(kStatus) GoProfileEdge_SetNominalRadius(GoProfileEdge edge, k64f radius);
419 
420 /**
421  * Gets the nominal radius.
422  *
423  * @public @memberof GoProfileEdge
424  * @param edge GoProfileEdge object.
425  * @return The nominal radius.
426  */
427 GoFx(k64f) GoProfileEdge_NominalRadius(GoProfileEdge edge);
428 
429 /**
430  * Sets the edge angle.
431  *
432  * @public @memberof GoProfileEdge
433  * @param edge GoProfileEdge object.
434  * @param angle k64f object.
435  * @return Operation status.
436  */
437 GoFx(kStatus) GoProfileEdge_SetEdgeAngle(GoProfileEdge edge, k64f angle);
438 
439 /**
440  * Gets the edge angle.
441  *
442  * @public @memberof GoProfileEdge
443  * @param edge GoProfileEdge object.
444  * @return The edge angle.
445  */
446 GoFx(k64f) GoProfileEdge_EdgeAngle(GoProfileEdge edge);
447 
448 
449 
450 kEndHeader()
451 #include <GoSdk/GoProfileTypes.x.h>
452 
453 #endif
454 /// @endcond
GoProfileEdgeType GoProfileEdge_Type(GoProfileEdge edge)
Gets the profile edge type.
kStatus GoProfileEdge_SetSurfaceWidth(GoProfileEdge edge, k64f width)
Sets the surface width.
GoProfileFeatureType GoProfileFeature_Type(GoProfileFeature feature)
Gets the profile feature type.
kStatus GoProfileEdge_SetVoidWidthMax(GoProfileEdge edge, k64f width)
Sets the maximum void width.
GoProfileRegion GoProfileLineRegion_RegionAt(GoProfileLineRegion lineRegion, k32u index)
Gets the profile region based on the given index.
kStatus GoProfileEdge_SetNominalRadius(GoProfileEdge edge, k64f radius)
Sets the nominal radius.
kStatus GoProfileFeature_SetType(GoProfileFeature feature, GoProfileFeatureType type)
Sets the feature type.
kStatus GoProfileEdge_SetEdgeAngle(GoProfileEdge edge, k64f angle)
Sets the edge angle.
k64f GoProfileRegion_X(GoProfileRegion region)
Gets the X-position.
Represents a ...
k64f GoProfileEdge_SurfaceOffset(GoProfileEdge edge)
Gets the surface offset.
Represents a ...
kStatus GoProfileEdge_SetSurfaceOffset(GoProfileEdge edge, k64f offset)
Sets the surface offset.
k64f GoProfileEdge_EdgeAngle(GoProfileEdge edge)
Gets the edge angle.
Represents a profile edge type.
Determines which groove to select when multiple are present.
k64f GoProfileRegion_Width(GoProfileRegion region)
Gets the width.
Essential API declarations.
k32u GoProfileLineRegion_RegionCount(GoProfileLineRegion lineRegion)
Returns the number of regions.
kStatus GoProfileRegion_SetZ(GoProfileRegion region, k64f z)
Sets the Z-position.
k64f GoProfileEdge_VoidWidthMax(GoProfileEdge edge)
Gets the maximum void width.
Represents a ...
Determines which groove position to return.
kStatus GoProfileEdge_SetDepthMin(GoProfileEdge edge, k64f depth)
Sets the minimum depth.
kStatus GoProfileRegion_SetWidth(GoProfileRegion region, k64f width)
Sets the width.
kStatus GoProfileRegion_SetX(GoProfileRegion region, k64f x)
Sets the X position.
k64f GoProfileEdge_NominalRadius(GoProfileEdge edge)
Gets the nominal radius.
Represents a profile gap measurement axis.
k64f GoProfileEdge_DepthMin(GoProfileEdge edge)
Gets the minimum depth.
kStatus GoProfileRegion_SetHeight(GoProfileRegion region, k64f height)
Sets the height.
kStatus GoProfileEdge_SetType(GoProfileEdge edge, GoProfileEdgeType type)
Sets the profile edge type.
Determines which Strip to select when multiple are present.
k64f GoProfileRegion_Z(GoProfileRegion region)
Gets the Z-position.
Determines which Strip position to return.
GoProfileRegion GoProfileEdge_Region(GoProfileEdge edge)
Gets the profile region.
k64f GoProfileRegion_Height(GoProfileRegion region)
Gets the height.
Determines how to calculate profile area.
k64f GoProfileEdge_SurfaceWidth(GoProfileEdge edge)
Gets the surface width.
Represents a profile edge type.
Represents a profile feature point type.
Definition: GoProfileTypes.h:16