예제 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EyeXEyePosition"/> class.
 /// </summary>
 /// <param name="leftEye">The eye position of the left eye, see <see cref="EyeXSingleEyePosition"/>.</param>
 /// <param name="leftEyeNormalized">The normalized eye position of the left eye, see <see cref="EyeXSingleEyePosition"/>.</param>
 /// <param name="rightEye">The eye position of the right eye, see <see cref="EyeXSingleEyePosition"/>.</param>
 /// <param name="rightEyeNormalized">The normalized eye position of the right eye, see <see cref="EyeXSingleEyePosition"/>.</param>
 /// <param name="timestamp">The timestamp of the eye position data.</param>
 public EyeXEyePosition(EyeXSingleEyePosition leftEye, EyeXSingleEyePosition leftEyeNormalized,
                        EyeXSingleEyePosition rightEye, EyeXSingleEyePosition rightEyeNormalized, double timestamp)
 {
     LeftEye            = leftEye;
     LeftEyeNormalized  = leftEyeNormalized;
     RightEye           = rightEye;
     RightEyeNormalized = rightEyeNormalized;
     Timestamp          = timestamp;
 }
예제 #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EyeXEyePosition"/> class.
 /// </summary>
 /// <param name="leftEye">The eye position of the left eye, see <see cref="EyeXSingleEyePosition"/>.</param>
 /// <param name="leftEyeNormalized">The normalized eye position of the left eye, see <see cref="EyeXSingleEyePosition"/>.</param>
 /// <param name="rightEye">The eye position of the right eye, see <see cref="EyeXSingleEyePosition"/>.</param>
 /// <param name="rightEyeNormalized">The normalized eye position of the right eye, see <see cref="EyeXSingleEyePosition"/>.</param>
 /// <param name="timestamp">The timestamp of the eye position data.</param>
 public EyeXEyePosition(EyeXSingleEyePosition leftEye, EyeXSingleEyePosition leftEyeNormalized, 
     EyeXSingleEyePosition rightEye, EyeXSingleEyePosition rightEyeNormalized, double timestamp)
 {
     LeftEye = leftEye;
     LeftEyeNormalized = leftEyeNormalized;
     RightEye = rightEye;
     RightEyeNormalized = rightEyeNormalized;
     Timestamp = timestamp;
 }
    protected override void HandleEvent(IEnumerable <Behavior> eventBehaviors, Vector2 viewportPosition, Vector2 viewportPixelsPerDesktopPixel)
    {
        // Note that this method is called on a worker thread, so we MAY NOT access any game objects from here.
        // The data is stored in the Last property and used from the main thread.
        foreach (var behavior in eventBehaviors)
        {
            EyePositionDataEventParams eventParams;
            if (behavior.TryGetEyePositionDataEventParams(out eventParams))
            {
                var left           = new EyeXSingleEyePosition(eventParams.HasLeftEyePosition != EyeXBoolean.False, (float)eventParams.LeftEyeX, (float)eventParams.LeftEyeY, (float)eventParams.LeftEyeZ);
                var leftNormalized = new EyeXSingleEyePosition(eventParams.HasLeftEyePosition != EyeXBoolean.False, (float)eventParams.LeftEyeXNormalized, (float)eventParams.LeftEyeYNormalized, (float)eventParams.LeftEyeZNormalized);

                var right           = new EyeXSingleEyePosition(eventParams.HasRightEyePosition != EyeXBoolean.False, (float)eventParams.RightEyeX, (float)eventParams.RightEyeY, (float)eventParams.RightEyeZ);
                var rightNormalized = new EyeXSingleEyePosition(eventParams.HasRightEyePosition != EyeXBoolean.False, (float)eventParams.RightEyeXNormalized, (float)eventParams.RightEyeYNormalized, (float)eventParams.RightEyeZNormalized);

                Last = new EyeXEyePosition(left, leftNormalized, right, rightNormalized, eventParams.Timestamp);
            }
        }
    }