コード例 #1
0
            public Position(
                double x,
                double y,
                Tobii.Interaction.Vector3 left_eye,
                Tobii.Interaction.Vector3 right_eye,
                Tobii.Interaction.Vector3 head_position,
                Tobii.Interaction.Vector3 head_direction)
            {
                X = x;
                Y = y;

                MultidimensionCalibrationType type = Options.Instance.calibration_mode.multidimension_calibration_type;

                if ((type & MultidimensionCalibrationType.HeadPosition) != MultidimensionCalibrationType.None)
                {
                    HeadPosition = head_position;
                }

                if ((type & MultidimensionCalibrationType.HeadDirection) != MultidimensionCalibrationType.None)
                {
                    HeadDirection = head_direction;
                }

                if ((type & MultidimensionCalibrationType.LeftEye) != MultidimensionCalibrationType.None)
                {
                    LeftEye = left_eye;
                }

                if ((type & MultidimensionCalibrationType.RightEye) != MultidimensionCalibrationType.None)
                {
                    RightEye = right_eye;
                }

                AdjustColorBoundaries();
            }
コード例 #2
0
        public void UpdateTobiiStreams(object sender, EventArgs e)
        {
            MultidimensionCalibrationType type = Options.Instance.calibration_mode.multidimension_calibration_type;

            head_pose_stream.IsEnabled = (type & MultidimensionCalibrationType.HeadPosition) != MultidimensionCalibrationType.None ||
                                         (type & MultidimensionCalibrationType.HeadDirection) != MultidimensionCalibrationType.None;

            eye_position_stream.IsEnabled = (type & MultidimensionCalibrationType.LeftEye) != MultidimensionCalibrationType.None ||
                                            (type & MultidimensionCalibrationType.RightEye) != MultidimensionCalibrationType.None;
        }
コード例 #3
0
        private void UpdateColor(object sender, EventArgs e)
        {
            Dispatcher.BeginInvoke(new Action(() =>
            {
                lock (Helpers.locker)
                {
                    MultidimensionCalibrationType type = Options.Instance.calibration_mode.multidimension_calibration_type;

                    if (type == MultidimensionCalibrationType.None)
                    {
                        HeadPositionDescription.Text        = "";
                        CurrentHeadPositionColor.Background = Brushes.Red;
                        return;
                    }

                    CurrentHeadPositionColor.Background = new SolidColorBrush(ShiftsStorage.Instance.LastPosition.GetColor());

                    string head_position_description = "";
                    var last_position = ShiftsStorage.Instance.LastPosition;

                    if ((type & MultidimensionCalibrationType.HeadPosition) != MultidimensionCalibrationType.None)
                    {
                        head_position_description += "Head position: \nX: " + last_position.HeadPosition.X + "\n" + "Y: " + last_position.HeadPosition.Y + "\n" + "Z: " + last_position.HeadPosition.Z;
                    }

                    if ((type & MultidimensionCalibrationType.HeadDirection) != MultidimensionCalibrationType.None)
                    {
                        head_position_description += "\nHead direction: \n Pitch: " + last_position.HeadDirection.X + "\n" + "Yaw: " + last_position.HeadDirection.Y + "\n" + "Roll: " + last_position.HeadDirection.Z;
                    }

                    if ((type & MultidimensionCalibrationType.LeftEye) != MultidimensionCalibrationType.None)
                    {
                        head_position_description += "\nLeft eye: \nX: " + last_position.LeftEye.X + "\n" + "Y: " + last_position.LeftEye.Y + "\n" + "Z: " + last_position.LeftEye.Z;
                    }

                    if ((type & MultidimensionCalibrationType.RightEye) != MultidimensionCalibrationType.None)
                    {
                        head_position_description += "\nRight eye: \nX: " + last_position.LeftEye.X + "\n" + "Y: " + last_position.LeftEye.Y + "\n" + "Z: " + last_position.LeftEye.Z;
                    }

                    HeadPositionDescription.Text = head_position_description;
                }
            }));
        }