示例#1
0
        public void Push(WitFrame witFrame, CatSelection catSelection)
        {
            var delta = (witFrame.Clock - _startTime).TotalMilliseconds;

            if (catSelection == CatSelection.GroupByLinearAcceleration)
            {
                X.Points.Add(new DataPoint(delta, witFrame.LinearAcceleration.X));
                Y.Points.Add(new DataPoint(delta, witFrame.LinearAcceleration.Y));
                Z.Points.Add(new DataPoint(delta, witFrame.LinearAcceleration.Z));
            }
            else if (catSelection == CatSelection.GroupByAngularVelocity)
            {
                X.Points.Add(new DataPoint(delta, witFrame.AngularVelocity.X));
                Y.Points.Add(new DataPoint(delta, witFrame.AngularVelocity.Y));
                Z.Points.Add(new DataPoint(delta, witFrame.AngularVelocity.Z));
            }
            else if (catSelection == CatSelection.GroupByAngle)
            {
                X.Points.Add(new DataPoint(delta, witFrame.Angle.X));
                Y.Points.Add(new DataPoint(delta, witFrame.Angle.Y));
                Z.Points.Add(new DataPoint(delta, witFrame.Angle.Z));
            }

            ClipLeft(X.Points, _clipMax);
            ClipLeft(Y.Points, _clipMax);
            ClipLeft(Z.Points, _clipMax);
        }
示例#2
0
        public void Push(WitFrame witFrame, DataSelection dataSelection)
        {
            var delta = (witFrame.Clock - _startTime).TotalMilliseconds;

            if (dataSelection == DataSelection.GroupByX)
            {
                LinearAcceleration.Points.Add(new DataPoint(delta, witFrame.LinearAcceleration.X));
                AngularVelocity.Points.Add(new DataPoint(delta, witFrame.AngularVelocity.X));
                Angle.Points.Add(new DataPoint(delta, witFrame.Angle.X));
            }
            else if (dataSelection == DataSelection.GroupByY)
            {
                LinearAcceleration.Points.Add(new DataPoint(delta, witFrame.LinearAcceleration.Y));
                AngularVelocity.Points.Add(new DataPoint(delta, witFrame.AngularVelocity.Y));
                Angle.Points.Add(new DataPoint(delta, witFrame.Angle.Y));
            }
            else if (dataSelection == DataSelection.GroupByZ)
            {
                LinearAcceleration.Points.Add(new DataPoint(delta, witFrame.LinearAcceleration.Z));
                AngularVelocity.Points.Add(new DataPoint(delta, witFrame.AngularVelocity.Z));
                Angle.Points.Add(new DataPoint(delta, witFrame.Angle.Z));
            }

            ClipLeft(LinearAcceleration.Points, _clipMax);
            ClipLeft(AngularVelocity.Points, _clipMax);
            ClipLeft(Angle.Points, _clipMax);
        }