コード例 #1
0
        /// <summary>
        /// Get the current MeshSettings.
        /// </summary>
        /// <returns>The current MeshSettings.</returns>
        private MLMeshing.MeshSettings GetSettings()
        {
            MLMeshing.SettingsFlags flags = MLMeshing.SettingsFlags.IndexOrderCW;

            if (meshType == MeshingType.PointCloud)
            {
                flags |= MLMeshing.SettingsFlags.PointCloud;
            }
            if (computeNormals)
            {
                flags |= MLMeshing.SettingsFlags.ComputeNormals;
            }
            if (requestVertexConfidence)
            {
                flags |= MLMeshing.SettingsFlags.ComputeConfidence;
            }
            if (planarize)
            {
                flags |= MLMeshing.SettingsFlags.Planarize;
            }
            if (removeMeshSkirt)
            {
                flags |= MLMeshing.SettingsFlags.RemoveMeshSkirt;
            }

            return(new MLMeshing.MeshSettings()
            {
                Flags = flags,
                FillHoleLength = fillHoleLength,
                DisconnectedComponentArea = disconnectedComponentArea
            });
        }
コード例 #2
0
        /// <summary>
        /// Updates the current settings based on the class variables.
        /// </summary>
        private void UpdateSettings()
        {
            CleanMeshes();

            #if PLATFORM_LUMIN
            MLMeshing.SettingsFlags flags = MLMeshing.SettingsFlags.IndexOrderCW;

            if (meshType == MeshingType.PointCloud)
            {
                flags |= MLMeshing.SettingsFlags.PointCloud;
            }
            if (computeNormals)
            {
                flags |= MLMeshing.SettingsFlags.ComputeNormals;
            }
            if (requestVertexConfidence)
            {
                flags |= MLMeshing.SettingsFlags.ComputeConfidence;
            }
            if (planarize)
            {
                flags |= MLMeshing.SettingsFlags.Planarize;
            }
            if (removeMeshSkirt)
            {
                flags |= MLMeshing.SettingsFlags.RemoveMeshSkirt;
            }

            MLMeshing.CurrentMeshSettings = new MLMeshing.MeshSettings()
            {
                Flags                     = flags,
                FillHoleLength            = fillHoleLength,
                DisconnectedComponentArea = disconnectedComponentArea
            };



            settingsDirty = false;
            #endif
        }