void OnAlert(PXCM3DScan.AlertData data)
        {
            try
            {
                switch (data.label)
                {
                case PXCM3DScan.AlertEvent.ALERT_TOO_FAR:
                {
                    form.Invoke(new Action(() => form.ShowTooFar()));
                    break;
                }

                case PXCM3DScan.AlertEvent.ALERT_TOO_CLOSE:
                {
                    form.Invoke(new Action(() => form.ShowTooClose()));
                    break;
                }

                case PXCM3DScan.AlertEvent.ALERT_IN_RANGE:
                {
                    form.Invoke(new Action(() => form.HideRangeAlerts()));
                    break;
                }


                case PXCM3DScan.AlertEvent.ALERT_LOST_TRACKING:
                {
                    form.Invoke(new Action(() => form.ShowTrackingAlert()));
                    break;
                }

                case PXCM3DScan.AlertEvent.ALERT_TRACKING:
                {
                    form.Invoke(new Action(() => form.HideTrackingAlert()));
                    break;
                }

                case PXCM3DScan.AlertEvent.ALERT_SUFFICIENT_STRUCTURE:
                {
                    form.Invoke(new Action(() => form.HideLabel(form.OutOfRange)));
                    notReadyBits &= (ulong.MaxValue ^ (1 << (int)PXCM3DScan.AlertEvent.ALERT_SUFFICIENT_STRUCTURE));
                    break;
                }

                case PXCM3DScan.AlertEvent.ALERT_INSUFFICIENT_STRUCTURE:
                {
                    form.Invoke(new Action(() => form.ShowLabel(form.OutOfRange)));
                    notReadyBits |= (1 << (int)PXCM3DScan.AlertEvent.ALERT_SUFFICIENT_STRUCTURE);
                    break;
                }


                case PXCM3DScan.AlertEvent.ALERT_FACE_DETECTED:
                {
                    form.Invoke(new Action(() => form.HideLabel(form.FaceNotDetected)));
                    notReadyBits &= (ulong.MaxValue ^ (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_DETECTED));
                    break;
                }

                case PXCM3DScan.AlertEvent.ALERT_FACE_NOT_DETECTED:
                {
                    form.Invoke(new Action(() => form.ShowLabel(form.FaceNotDetected)));
                    notReadyBits |= (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_DETECTED);
                    break;
                }

                    /*
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_X_TOO_FAR_RIGHT:
                     * {
                     *  form.Invoke(new Action(() => form.ShowLabel(form.MoveLeft)));
                     *  notReadyBits |= (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_X_IN_RANGE);
                     *  break;
                     * }
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_X_TOO_FAR_LEFT:
                     * {
                     *  form.Invoke(new Action(() => form.ShowLabel(form.MoveRight)));
                     *  notReadyBits |= (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_X_IN_RANGE);
                     *  break;
                     * }
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_X_IN_RANGE:
                     * {
                     *  form.Invoke(new Action(() => form.HideLabel(form.MoveRight)));
                     *  form.Invoke(new Action(() => form.HideLabel(form.MoveLeft)));
                     *  notReadyBits &= (ulong.MaxValue ^ (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_X_IN_RANGE));
                     *  break;
                     * }
                     *
                     *
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_Y_TOO_FAR_DOWN:
                     * {
                     *  form.Invoke(new Action(() => form.ShowLabel(form.MoveUp)));
                     *  notReadyBits |= (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_Y_IN_RANGE);
                     *  break;
                     * }
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_Y_TOO_FAR_UP:
                     * {
                     *  form.Invoke(new Action(() => form.ShowLabel(form.MoveDown)));
                     *  notReadyBits |= (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_Y_IN_RANGE);
                     *  break;
                     * }
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_Y_IN_RANGE:
                     * {
                     *  form.Invoke(new Action(() => form.HideLabel(form.MoveUp)));
                     *  form.Invoke(new Action(() => form.HideLabel(form.MoveDown)));
                     *  notReadyBits &= (ulong.MaxValue ^ (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_Y_IN_RANGE));
                     *  break;
                     * }
                     *
                     *
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_Z_TOO_FAR:
                     * {
                     *  form.Invoke(new Action(() => form.ShowLabel(form.MoveForward)));
                     *  notReadyBits |= (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_Z_IN_RANGE);
                     *  break;
                     * }
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_Z_TOO_CLOSE:
                     * {
                     *  form.Invoke(new Action(() => form.ShowLabel(form.MoveBack)));
                     *  notReadyBits |= (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_Z_IN_RANGE);
                     *  break;
                     * }
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_Z_IN_RANGE:
                     * {
                     *  form.Invoke(new Action(() => form.HideLabel(form.MoveForward)));
                     *  form.Invoke(new Action(() => form.HideLabel(form.MoveBack)));
                     *  notReadyBits &= (ulong.MaxValue ^ (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_Z_IN_RANGE));
                     *  break;
                     * }
                     *
                     *
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_YAW_TOO_FAR_RIGHT:
                     * {
                     *  form.Invoke(new Action(() => form.ShowLabel(form.TurnLeft)));
                     *  notReadyBits |= (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_YAW_IN_RANGE);
                     *  break;
                     * }
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_YAW_TOO_FAR_LEFT:
                     * {
                     *  form.Invoke(new Action(() => form.ShowLabel(form.TurnRight)));
                     *  notReadyBits |= (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_YAW_IN_RANGE);
                     *  break;
                     * }
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_YAW_IN_RANGE:
                     * {
                     *  form.Invoke(new Action(() => form.HideLabel(form.TurnLeft)));
                     *  form.Invoke(new Action(() => form.HideLabel(form.TurnRight)));
                     *  notReadyBits &= (ulong.MaxValue ^ (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_YAW_IN_RANGE));
                     *  break;
                     * }
                     *
                     *
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_PITCH_TOO_FAR_DOWN:
                     * {
                     *  form.Invoke(new Action(() => form.ShowLabel(form.TiltUp)));
                     *  notReadyBits |= (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_PITCH_IN_RANGE);
                     *  break;
                     * }
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_PITCH_TOO_FAR_UP:
                     * {
                     *  form.Invoke(new Action(() => form.ShowLabel(form.TiltDown)));
                     *  notReadyBits |= (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_PITCH_IN_RANGE);
                     *  break;
                     * }
                     * case PXCM3DScan.AlertEvent.ALERT_FACE_PITCH_IN_RANGE:
                     * {
                     *  form.Invoke(new Action(() => form.HideLabel(form.TiltUp)));
                     *  form.Invoke(new Action(() => form.HideLabel(form.TiltDown)));
                     *  notReadyBits &= (ulong.MaxValue ^ (1 << (int)PXCM3DScan.AlertEvent.ALERT_FACE_PITCH_IN_RANGE));
                     *  break;
                     * }
                     * /*
                     * case PXCM3DScan.AlertEvent.ALERT_FIDUCIAL_MARKER_DETECTED:
                     * {
                     *  form.Invoke(new Action(() => form.ShowMarkerDetected()));
                     *  break;
                     * }
                     * case PXCM3DScan.AlertEvent.ALERT_FIDUCIAL_MARKER_NOT_DETECTED:
                     * {
                     *  form.Invoke(new Action(() => form.ShowMarkerUnDetected()));
                     *  break;
                     * }
                     */
                }
            }
            catch { };
        }
예제 #2
0
        void OnAlert(PXCM3DScan.AlertData data)
        {
            try
            {
                switch (data.label)
                {
                case PXCM3DScan.AlertEvent.ALERT_TOO_FAR:
                {
                    form.Invoke(new Action(() => form.ShowTooFar()));
                    break;
                }

                case PXCM3DScan.AlertEvent.ALERT_TOO_CLOSE:
                {
                    form.Invoke(new Action(() => form.ShowTooClose()));
                    break;
                }

                case PXCM3DScan.AlertEvent.ALERT_IN_RANGE:
                {
                    form.Invoke(new Action(() => form.HideRangeAlerts()));
                    break;
                }


                case PXCM3DScan.AlertEvent.ALERT_LOST_TRACKING:
                {
                    form.Invoke(new Action(() => form.ShowTrackingAlert()));
                    break;
                }

                case PXCM3DScan.AlertEvent.ALERT_TRACKING:
                {
                    form.Invoke(new Action(() => form.HideTrackingAlert()));
                    break;
                }

                case PXCM3DScan.AlertEvent.ALERT_SUFFICIENT_STRUCTURE:
                {
                    form.Invoke(new Action(() => form.HideOutOfRange()));
                    break;
                }

                case PXCM3DScan.AlertEvent.ALERT_INSUFFICIENT_STRUCTURE:
                {
                    form.Invoke(new Action(() => form.ShowOutOfRange()));
                    break;
                }

                case PXCM3DScan.AlertEvent.ALERT_FACE_DETECTED:
                {
                    form.Invoke(new Action(() => form.HideFaceNotDetected()));
                    break;
                }

                case PXCM3DScan.AlertEvent.ALERT_FACE_NOT_DETECTED:
                {
                    form.Invoke(new Action(() => form.ShowFaceNotDetected()));
                    break;
                }
                }
            }
            catch { };
        }