/// <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 }); }
/// <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 }