14 # define GvFx(TYPE) kExportFx(TYPE)
15 # define GvDx(TYPE) kExportDx(TYPE)
17 # define GvFx(TYPE) kImportFx(TYPE)
18 # define GvDx(TYPE) kImportDx(TYPE)
23 #define pgettext(C, T) T
29 #define GV_FIRST_FRAME_NUMBER (1)
30 #define GV_ANGLE_LUT_PRECISION (12)
32 #define SENSOR_LINE_COUNT (1)
33 #define SENSOR_LUT_CENTRE_STEP (256)
34 #define SENSOR_ALIGN_CAL_SAMPLE_COUNT (10)
35 #define SENSOR_ALIGN_CAL_MIN_SLOT_WIDTH (2.5)
37 #define GV_MAX_EXPOSURE_STEPS (5)
41 #define GV_SPOT_SELECTION_INTENSITY (0)
42 #define GV_SPOT_SELECTION_TOP (1)
43 #define GV_SPOT_SELECTION_BOTTOM (2)
44 #define GV_SPOT_SELECTION_NONE (3)
45 #define GV_SPOT_SELECTION_CONTINUITY_SORT (4)
46 #define GV_SPOT_SELECTION_TRANSLUCENT_SORT (5)
50 #define GV_TRIGGER_SOURCE_TIME (0)
51 #define GV_TRIGGER_SOURCE_ENCODER (1)
52 #define GV_TRIGGER_SOURCE_OTHER (2)
56 #define GV_MOVEMENT_UNKNOWN (0)
57 #define GV_MOVEMENT_FORWARD (1)
58 #define GV_MOVEMENT_BACKWARD (2)
60 #define GV_MINIMUM_ANGLE_STEP (0.001) // millidegrees
62 #define GV_TOOL_INPUT_TOP_NAME "InTop"
63 #define GV_TOOL_INPUT_BOTTOM_NAME "InBottom"
64 #define GV_TOOL_INPUT_OFFSET_X_NAME "InOffsetX"
65 #define GV_TOOL_INPUT_OFFSET_Y_NAME "InOffsetY"
66 #define GV_TOOL_INPUT_OFFSET_Z_NAME "InOffsetZ"
67 #define GV_TOOL_INPUT_OFFSET_ZANGLE_NAME "InOffsetZAngle"
68 #define GV_TOOL_INPUT_FOR_NAME "InFoR"
69 #define GV_TOOL_INPUT_FEATURE_NAME "InFeature"
70 #define GV_TOOL_INPUT_MAX_FEATURES (2)
74 GV_TOOL_INPUT_TOP = 0,
75 GV_TOOL_INPUT_BOTTOM = 1,
76 GV_TOOL_INPUT_OFFSET_X = 2,
77 GV_TOOL_INPUT_OFFSET_Y = 3,
78 GV_TOOL_INPUT_OFFSET_Z = 4,
79 GV_TOOL_INPUT_OFFSET_ZANGLE = 5,
80 GV_TOOL_INPUT_FOR = 6,
81 GV_TOOL_INPUT_FEATURE_START = 100
82 } GvToolInputBlockPort;
93 GvMeasurementBase base;
96 } GvProfileMeasurementBase;
100 GvMeasurementBase base;
104 } GvSurfaceMeasurementBase;
107 #define GV_FEATURE_POINT (0)
108 #define GV_FEATURE_LINE (1)
109 #define GV_FEATURE_CIRCLE (2)
110 #define GV_FEATURE_PLANE (3)
114 #define GV_ANCHOR_COR_RIGID_BODY (0)
115 #define GV_ANCHOR_COR_AXIS_ALIGNED (1)
116 #define GV_ANCHOR_COR_REGION_CENTER (2)
118 typedef struct GvAngleAnchor
124 typedef struct GvSurfaceCommonOutput
128 GvAngleAnchor anchorOut;
129 GvAngleAnchor anchorIn;
130 } GvSurfaceCommonOutput;
132 typedef struct GvRegion3d64f
141 #define GV_INIT_NULL_REGION { { k64F_NULL, k64F_NULL, k64F_NULL }, { k64F_NULL, k64F_NULL, k64F_NULL }, { k64F_NULL, k64F_NULL, k64F_NULL } }
146 GV_SURFACE_FEATURE_TYPE_AVERAGE = 0,
147 GV_SURFACE_FEATURE_TYPE_MEDIAN,
148 GV_SURFACE_FEATURE_TYPE_CENTROID,
149 GV_SURFACE_FEATURE_TYPE_MAX_X,
150 GV_SURFACE_FEATURE_TYPE_MIN_X,
151 GV_SURFACE_FEATURE_TYPE_MAX_Y,
152 GV_SURFACE_FEATURE_TYPE_MIN_Y,
153 GV_SURFACE_FEATURE_TYPE_MAX_Z,
154 GV_SURFACE_FEATURE_TYPE_MIN_Z,
156 GV_SURFACE_FEATURE_TYPE_MEAN_HEIGHT,
157 GV_SURFACE_FEATURE_TYPE_MEDIAN_HEIGHT,
158 GV_SURFACE_FEATURE_TYPE_MAX_HEIGHT,
159 GV_SURFACE_FEATURE_TYPE_MIN_HEIGHT,
160 GV_SURFACE_FEATURE_TYPE_CENTROID_2D_HEIGHT,
161 GV_SURFACE_FEATURE_TYPE_CENTROID_3D_HEIGHT
162 } GvSurfaceFeatureType;
166 SENSOR_ALIGN_DIRECTION_FORWARD,
167 SENSOR_ALIGN_DIRECTION_REVERSE
168 } SensorAlignDirection;
172 SENSOR_ALIGN_REFERENCE_NONE,
173 SENSOR_ALIGN_REFERENCE_SLOT
174 } SensorAlignReferenceType;
179 #define SENSOR_ALIGN_SELECT_MID (0)
180 #define SENSOR_ALIGN_SELECT_WIDEST (1)
184 #define GV_ALIGN_DOF_NONE (0x00)
185 #define GV_ALIGN_DOF_X (0x20)
186 #define GV_ALIGN_DOF_Y (0x10)
187 #define GV_ALIGN_DOF_Z (0x08)
188 #define GV_ALIGN_DOF_A (0x04)
189 #define GV_ALIGN_DOF_B (0x02)
190 #define GV_ALIGN_DOF_C (0x01)
191 #define GV_ALIGN_DOF_Z_B (0x0A)
192 #define GV_ALIGN_DOF_XZ_B (0x2A)
193 #define GV_ALIGN_DOF_YZ_B (0x1A)
194 #define GV_ALIGN_DOF_XYZ_B (0x3A)
195 #define GV_ALIGN_DOF_YZ_BC (0x1B)
196 #define GV_ALIGN_DOF_XYZ_BC (0x3B)
197 #define GV_ALIGN_DOF_YZ_ABC (0x1F)
198 #define GV_ALIGN_DOF_XYZ_ABC (0x3F)
202 #define SENSOR_AREA_OBJECT (0)
203 #define SENSOR_AREA_CLEARANCE (1)
204 #define SENSOR_AREA_OBJ_PLUS_CLEAR (2)
205 #define SENSOR_AREA_OBJ_MINUS_CLEAR (3)
208 #define GV_PROFILE_PANEL_EDGE_BLOCK_TANGENT_EDGE (0)
209 #define GV_PROFILE_PANEL_EDGE_BLOCK_CORNER_EDGE (1)
210 #define GV_PROFILE_PANEL_BLOCK_TANGENT_EDGE (0)
211 #define GV_PROFILE_PANEL_BLOCK_CORNER_EDGE (1)
216 #define SENSOR_AREA_BASELINE_X_AXIS (0)
217 #define SENSOR_AREA_BASELINE_LINE (1)
220 #define SENSOR_PROFILE_FEATURE_TOP (0)
221 #define SENSOR_PROFILE_FEATURE_BOTTOM (1)
222 #define SENSOR_PROFILE_FEATURE_RIGHT (2)
223 #define SENSOR_PROFILE_FEATURE_LEFT (3)
224 #define SENSOR_PROFILE_FEATURE_CORNER (4)
225 #define SENSOR_PROFILE_FEATURE_AVERAGE (5)
226 #define SENSOR_PROFILE_FEATURE_EDGE_RISING (6)
227 #define SENSOR_PROFILE_FEATURE_EDGE_FALLING (7)
228 #define SENSOR_PROFILE_FEATURE_EDGE (8)
229 #define SENSOR_PROFILE_FEATURE_CORNER_TOP (9)
230 #define SENSOR_PROFILE_FEATURE_CORNER_BOTTOM (10)
231 #define SENSOR_PROFILE_FEATURE_CORNER_LEFT (11)
232 #define SENSOR_PROFILE_FEATURE_CORNER_RIGHT (12)
233 #define SENSOR_PROFILE_FEATURE_MEDIAN (13)
234 #define SENSOR_PROFILE_FEATURE_TYPE_COUNT (SENSOR_PROFILE_FEATURE_MEDIAN + 1)
237 #define GV_PROFILE_PANEL_BLOCK_REFERENCE_LEFT_EDGE (0)
238 #define GV_PROFILE_PANEL_BLOCK_REFERENCE_RIGHT_EDGE (1)
239 #define GV_PROFILE_PANEL_BLOCK_REFERENCE_LEFT_SURFACE (2)
240 #define GV_PROFILE_PANEL_BLOCK_REFERENCE_RIGHT_SURFACE (3)
241 #define GV_PROFILE_PANEL_BLOCK_REFERENCE_LEFT_DISTANCE (4)
242 #define GV_PROFILE_PANEL_BLOCK_REFERENCE_RIGHT_DISTANCE (5)
246 SENSOR_PROFILE_EDGE_RISING = 0x1,
247 SENSOR_PROFILE_EDGE_FALLING = 0x2
248 } SensorProfileEdgeType;
252 SENSOR_PROFILE_CORNER_TOP = 0x1,
253 SENSOR_PROFILE_CORNER_BOTTOM = 0x2,
254 SENSOR_PROFILE_CORNER_LEFT = 0x4,
255 SENSOR_PROFILE_CORNER_RIGHT = 0x8
256 } SensorProfileCornerType;
260 #define PROFILE_BASELINE_TYPE_X_AXIS (0)
261 #define PROFILE_BASELINE_TYPE_Z_AXIS (1)
262 #define PROFILE_BASELINE_TYPE_FIT_LINE (2)
263 #define PROFILE_BASELINE_TYPE_TWO_POINTS (3)
267 GOCATOR_CALIBRATION_NO_OBJECT = -1,
268 GOCATOR_CALIBRATION_NO_TARGET = -2,
269 GOCATOR_CALIBRATION_TARGET_CONFIG_ERROR = -3,
270 GOCATOR_CALIBRATION_TARGET_POS_ERROR = -4,
271 GOCATOR_CALIBRATION_NO_REFERENCE_SLOT = -5,
272 GOCATOR_CALIBRATION_NO_TRAVEL_DETECTED = -6,
273 GOCATOR_CALIBRATION_TOO_FEW_PROFILES = -7
274 } GocatorCalibrationStatus;
276 typedef struct GvProfileAlignEntry
285 } GvProfileAlignEntry;
289 GOCATOR_ALIGNMENT_REPORT_ID_NONE = 0,
290 GOCATOR_ALIGNMENT_REPORT_ID_BUFFERRED_BAR
291 } GocatorAlignmentReportId;
293 #define GV_PROFILE_ALIGN_MAX_SENSORS (32)
294 typedef struct GvProfileAlignOutput
296 k64f encoderResolution;
299 GvProfileAlignEntry entry[GV_PROFILE_ALIGN_MAX_SENSORS];
300 k32u outputToClientId;
301 } GvProfileAlignOutput;
307 GOCATOR_ALIGNMENT_ERROR_MSG_ID_NONE = 0,
308 GOCATOR_ALIGNMENT_ERROR_MSG_ID_BUFFERRED_BAR_TOO_FEW1,
309 GOCATOR_ALIGNMENT_ERROR_MSG_ID_BUFFERRED_BAR_TOO_FEW2
310 } GocatorAlignmentErrorMessageId;
312 #define GV_PROFILE_ALIGN_STATUS_MAX_PARAMS (3)
313 typedef struct GvProfileAlignStatus
318 k32s params[GV_PROFILE_ALIGN_STATUS_MAX_PARAMS];
319 } GvProfileAlignStatus;
325 GV_SURFACE_RIVET_FIND_TYPE_HOLE,
326 GV_SURFACE_RIVET_FIND_TYPE_BUMP,
327 GV_SURFACE_RIVET_FIND_TYPE_FLUSH
328 } GvSurfaceRivetFindType;
332 GV_SURFACE_RIVET_HEIGHT_TYPE_NONE = 0,
333 GV_SURFACE_RIVET_HEIGHT_TYPE_NOMINAL,
334 GV_SURFACE_RIVET_HEIGHT_TYPE_MAX,
335 GV_SURFACE_RIVET_HEIGHT_TYPE_MEAN,
336 GV_SURFACE_RIVET_HEIGHT_TYPE_FIT
337 } GvSurfaceRivetHeightType;
341 GV_SURFACE_RIVET_MEASUREMENT_X,
342 GV_SURFACE_RIVET_MEASUREMENT_Y,
343 GV_SURFACE_RIVET_MEASUREMENT_Z,
344 GV_SURFACE_RIVET_MEASUREMENT_RADIUS,
345 GV_SURFACE_RIVET_MEASUREMENT_X_ANGLE,
346 GV_SURFACE_RIVET_MEASUREMENT_Y_ANGLE,
347 GV_SURFACE_RIVET_MEASUREMENT_TILT_ANGLE,
348 GV_SURFACE_RIVET_MEASUREMENT_TILT_DIRECTION,
349 GV_SURFACE_RIVET_MEASUREMENT_TOP_MIN,
350 GV_SURFACE_RIVET_MEASUREMENT_TOP_MAX,
351 GV_SURFACE_RIVET_MEASUREMENT_TOP_MEAN,
352 GV_SURFACE_RIVET_MEASUREMENT_TOP_STDEV,
353 GV_SURFACE_RIVET_MEASUREMENT_RADIAL_OFFSET_MIN,
354 GV_SURFACE_RIVET_MEASUREMENT_RADIAL_OFFSET_MAX,
355 GV_SURFACE_RIVET_MEASUREMENT_RADIAL_OFFSET_MEAN,
356 GV_SURFACE_RIVET_MEASUREMENT_RADIAL_OFFSET_STDEV,
357 GV_SURFACE_RIVET_MEASUREMENT_RADIAL_SLOPE_MIN,
358 GV_SURFACE_RIVET_MEASUREMENT_RADIAL_SLOPE_MAX,
359 GV_SURFACE_RIVET_MEASUREMENT_RADIAL_SLOPE_MEAN,
360 GV_SURFACE_RIVET_MEASUREMENT_RADIAL_SLOPE_STDEV
361 } GvSurfaceRivetMeasureType;
364 #define GV_SURFACE_UTILITIES_FOR_TYPE_SENSOR (0)
365 #define GV_SURFACE_UTILITIES_FOR_TYPE_SCAN (1)
366 #define GV_SURFACE_UTILITIES_FOR_TYPE_SOURCEPART (3)
367 #define GV_SURFACE_UTILITIES_FOR_TYPE_PART (2)
371 GV_SURFACE_RADIAL_SCAN_TYPE_RADIAL,
372 GV_SURFACE_RADIAL_SCAN_TYPE_ROW,
373 GV_SURFACE_RADIAL_SCAN_TYPE_COLUMN,
374 GV_SURFACE_RADIAL_SCAN_TYPE_ROWCOL
375 } GvSurfaceRadialScanType;
379 GV_PART_THRESHOLD_TYPE_ABOVE,
380 GV_PART_THRESHOLD_TYPE_BELOW,
381 GV_PART_THRESHOLD_TYPE_RANGE
382 } GvPartThresholdType;
384 #define GV_PART_MATCH_DEFAULT_MAX_EDGES (4096)
388 GV_SURFACE_RADIAL_DROP_OUT_INVALID_COUNT,
389 GV_SURFACE_RADIAL_DROP_OUT_VALID_COUNT,
390 GV_SURFACE_RADIAL_DROP_OUT_INVALID_AREA,
391 GV_SURFACE_RADIAL_DROP_OUT_VALID_AREA
392 } GvSurfaceRadialDropOutType;
396 GV_RUN_CONTROL_FREE_RUN,
397 GV_RUN_CONTROL_INPUT_START_PULSE,
398 GV_RUN_CONTROL_INPUT_LEVEL
404 GV_MEASUREMENT_OK = 0,
409 GV_MEASUREMENT_ERROR_FAILED = 0x1,
410 GV_MEASUREMENT_ERROR_INVALID_RESULT = 0x2,
411 GV_MEASUREMENT_ERROR_INVALID_ANCHOR = 0x4,
412 GV_MEASUREMENT_ERROR_PART_MATCH = 0x8
413 } GvMeasurementError;
415 typedef enum GvProfileFilterType
417 GV_PROFILE_FILTER_TYPE_MEAN,
418 GV_PROFILE_FILTER_TYPE_MEDIAN,
419 GV_PROFILE_FILTER_TYPE_DIFFERENCE,
420 GV_PROFILE_FILTER_TYPE_NONE
421 } GvProfileFilterType;
423 typedef enum GvProfileFilterDimension
425 GV_PROFILE_FILTER_DIMENSION_X,
426 GV_PROFILE_FILTER_DIMENSION_Y
427 } GvProfileFilterDimension;
429 typedef struct GvPartEdgePoint2d
436 typedef struct kView1
443 #define kVIEW1(VIEW, START, COUNT, STEP) \
444 ((VIEW)->start = (START), (VIEW)->count = (COUNT), (VIEW)->step = (STEP), \
447 typedef struct kView2
454 #define kVIEW2(VIEW, START0, START1, COUNT0, COUNT1, STEP0, STEP1) \
455 ((VIEW)->start[0] = (START0), (VIEW)->start[1] = (START1), \
456 (VIEW)->count[0] = (COUNT0), (VIEW)->count[1] = (COUNT1), \
457 (VIEW)->step[0] = (STEP0), (VIEW)->step[1] = (STEP1), \
460 #define GV_SURFACE_CLOCK_TO_S(C) ((C) / 1024000.0) // there must be a macro for this
461 #define GV_SURFACE_S_TO_CLOCK(C) ((C) * 1024000)
465 #define GV_INDICATOR_ROTATIONAL_GENERATION_DROPS (22000)
466 #define GV_INDICATOR_COMBINER_DROPS (22001) // private
467 #define GV_INDICATOR_STRIPE_DROPS (22002) // private
468 #define GV_INDICATOR_SORTER_DROPS (22003) // private
469 #define GV_INDICATOR_RUNTIME (22004)
470 #define GV_INDICATOR_PHASE_DROPS (22005) // private
472 #define GV_INDICATOR_PART_EMITTED (22006)
473 #define GV_INDICATOR_PART_LENGTH_LIMIT (22007)
474 #define GV_INDICATOR_PART_AREA_DROPS (22008)
475 #define GV_INDICATOR_PART_BACKTRACK_DROPS (22009)
476 #define GV_INDICATOR_PART_ACTIVE (22010)
477 #define GV_INDICATOR_PART_LENGTH (22011)
478 #define GV_INDICATOR_PART_START_Y (22012)
479 #define GV_INDICATOR_PART_TRACKING_STATE (22013)
480 #define GV_INDICATOR_PART_CAPACITY (22014)
481 #define GV_INDICATOR_PART_X_POSITION (22015)
483 #define GV_INDICATOR_RUNTIME_MIN (22016)
484 #define GV_INDICATOR_RUNTIME_MAX (22017)
485 #define GV_INDICATOR_RUNTIME_AVG (22018)
486 #define GV_INDICATOR_RUNPERCENT_AVG (22019)
488 #define GV_INDICATOR_BAR_ALIGNMENT_STATUS (22020)
491 typedef struct GvTracheidMoment
497 #define GV_THRESHOLD_EQUALS(A, B, EPSILON) ((kMath_Max_(A, B) - kMath_Min_(A, B)) < EPSILON)
498 #define GV_THRESHOLD_GREATER(A, B, EPSILON) (!GV_THRESHOLD_EQUALS(A,B,EPSILON) && A > B)
499 #define GV_THRESHOLD_LESS(A, B, EPSILON) (!GV_THRESHOLD_EQUALS(A,B,EPSILON) && A < B)
500 #define GV_THRESHOLD_GREATER_OR_EQUAL(A, B, EPSILON) (GV_THRESHOLD_EQUALS(A,B,EPSILON) || A > B)
501 #define GV_THRESHOLD_LESS_OR_EQUAL(A, B, EPSILON) (GV_THRESHOLD_EQUALS(A,B,EPSILON) || A < B)
515 #define GDK_MEASUREMENT_OK (0)
516 #define GDK_MEASUREMENT_ERROR_VALUE (0x2)
517 #define GDK_MEASUREMENT_ERROR_ANCHOR (0x4)
518 #define GDK_MEASUREMENT_ERROR_PART_MATCH (0x8)
#define kDeclareValueEx(PREFIX, SYMBOL, BASE)
Represents a measurement result decision. Note:- This is added here to remove dependancy of Govision ...
Definition: GvDef.h:503