示例#1
0
        /// <summary>
        /// Fill out <c>pointCloudData</c> with emulated values from Tango.
        /// </summary>
        /// <param name="pointCloudData">The point cloud data to fill out.</param>
        private static void _FillEmulatedPointCloud(ref TangoPointCloudData pointCloud)
        {
            List <Vector3> emulated = DepthProvider.GetTangoEmulation(out pointCloud.m_timestamp);

            pointCloud.m_numPoints = emulated.Count;
            for (int it = 0; it < emulated.Count; ++it)
            {
                pointCloud.m_points[(it * 4) + 0] = emulated[it].x;
                pointCloud.m_points[(it * 4) + 1] = emulated[it].y;
                pointCloud.m_points[(it * 4) + 2] = emulated[it].z;
                pointCloud.m_points[(it * 4) + 3] = 1;
            }
        }
        /// <summary>
        /// Fill out <c>pointCloudData</c> with emulated values from Tango.
        /// </summary>
        /// <param name="pointCloudData">The point cloud data to fill out.</param>
        private void _FillEmulatedPointCloudData(TangoUnityDepth pointCloudData)
        {
            List <Vector3> pointCloud = DepthProvider.GetTangoEmulation(out pointCloudData.m_timestamp);

            pointCloudData.m_version = 0; // Not actually used

            pointCloudData.m_pointCount = pointCloud.Count;
            for (int it = 0; it < pointCloud.Count; ++it)
            {
                pointCloudData.m_points[(it * 3) + 0] = pointCloud[it].x;
                pointCloudData.m_points[(it * 3) + 1] = pointCloud[it].y;
                pointCloudData.m_points[(it * 3) + 2] = pointCloud[it].z;
            }

            pointCloudData.m_ijRows    = 0;
            pointCloudData.m_ijColumns = 0;
            for (int it = 0; it < pointCloudData.m_ij.Length; ++it)
            {
                pointCloudData.m_ij[it] = -1;
            }
        }