Example #1
0
 private void UpdateOptiTrackUI(object sender, OptiTrack.FrameReceivedEventArgs args)
 {
     positionChart.Update(args.BallPosition.ToArray());
     Dispatcher.Invoke(() => {
         actualPositionX.Text = args.BallPosition[0].ToString("F3");
         actualPositionY.Text = args.BallPosition[1].ToString("F3");
         actualPositionZ.Text = args.BallPosition[2].ToString("F3");
     });
 }
Example #2
0
        private void UpdateRobot2UI(object sender, OptiTrack.FrameReceivedEventArgs args)
        {
            var robot2BasePosition = robot2Transformation.Convert(args.BallPosition);

            robot2PositionChart.Update(new double[] {
                robot2BasePosition[0], robot2BasePosition[1], robot2BasePosition[2]
            });
            Dispatcher.Invoke(() => {
                robot2BaseActualPositionX.Text = robot2BasePosition[0].ToString("F3");
                robot2BaseActualPositionY.Text = robot2BasePosition[1].ToString("F3");
                robot2BaseActualPositionZ.Text = robot2BasePosition[2].ToString("F3");
            });
        }
Example #3
0
        private void ProcessFrame(FrameOfMocapData data, NatNetClientML client)
        {
            double frameDeltaTime = data.fTimestamp - frameTimestamp;

            frameTimestamp = data.fTimestamp;

            var receivedFrame = new InputFrame(data, frameDeltaTime);
            var args          = new FrameReceivedEventArgs {
                ReceivedFrame    = receivedFrame,
                PrevBallPosition = ballPosition
            };

            ballPosition = receivedFrame.BallPosition;
            FrameReceived?.Invoke(this, args);
        }