GetTangoEmulation() static private method

INTERNAL USE: Get the most recent values for Tango emulation.
static private GetTangoEmulation ( Vector3 &posePosition, Quaternion &poseRotation ) : void
posePosition Vector3 The new Tango emulation position.
poseRotation UnityEngine.Quaternion The new Tango emulation rotation.
return void
Exemplo n.º 1
0
        /// <summary>
        /// Fill out <c>poseData</c> with emulated values from Tango.
        /// </summary>
        /// <param name="poseData">The poseData to fill out.</param>
        /// <param name="baseFrame">Base frame to set.</param>
        /// <param name="targetFrame">Target frame to set.</param>
        private void FillEmulatedPoseData(ref TangoPoseData poseData, TangoEnums.TangoCoordinateFrameType baseFrame,
                                          TangoEnums.TangoCoordinateFrameType targetFrame)
        {
            if (poseData == null)
            {
                TangoPoseData currentPose = m_poseDataPool.Pop();

                if (currentPose != null)
                {
                    Vector3    position;
                    Quaternion rotation;
                    PoseProvider.GetTangoEmulation(out position, out rotation);

                    currentPose.framePair.baseFrame   = baseFrame;
                    currentPose.framePair.targetFrame = targetFrame;

                    currentPose.timestamp   = Time.time * 1000; // timestamp is in ms, time is in sec.
                    currentPose.version     = 0;                // Not actually used
                    currentPose.status_code = TangoEnums.TangoPoseStatusType.TANGO_POSE_VALID;

                    currentPose.translation[0] = position.x;
                    currentPose.translation[1] = position.y;
                    currentPose.translation[2] = position.z;
                    currentPose.orientation[0] = rotation.x;
                    currentPose.orientation[1] = rotation.y;
                    currentPose.orientation[2] = rotation.z;
                    currentPose.orientation[3] = rotation.w;
                    poseData = currentPose;
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Fill out <c>poseData</c> with emulated values from Tango.
        /// </summary>
        /// <param name="poseData">The poseData to fill out.</param>
        /// <param name="baseFrame">Base frame to set.</param>
        /// <param name="targetFrame">Target frame to set.</param>
        private void FillEmulatedPoseData(ref TangoPoseData poseData, TangoEnums.TangoCoordinateFrameType baseFrame,
                                          TangoEnums.TangoCoordinateFrameType targetFrame)
        {
            Vector3    position;
            Quaternion rotation;

            PoseProvider.GetTangoEmulation(out position, out rotation);

            poseData.framePair.baseFrame   = baseFrame;
            poseData.framePair.targetFrame = targetFrame;

            poseData.timestamp   = Time.time * 1000; // timestamp is in ms, time is in sec.
            poseData.version     = 0;                // Not actually used
            poseData.status_code = TangoEnums.TangoPoseStatusType.TANGO_POSE_VALID;

            poseData.translation[0] = position.x;
            poseData.translation[1] = position.y;
            poseData.translation[2] = position.z;
            poseData.orientation[0] = rotation.x;
            poseData.orientation[1] = rotation.y;
            poseData.orientation[2] = rotation.z;
            poseData.orientation[3] = rotation.w;
        }