private void ListViewIntegratorsSelectedIndexChanged(object sender, EventArgs e) { if (listViewIntegrators.SelectedItems.Count == 1) { MitsubaSettings.DefaultRenderSettingsPresetName = listViewIntegrators.SelectedItems[0].Text; var preset = LibraryPresets.GetPreset(MitsubaSettings.DefaultRenderSettingsPresetName); if (preset != null) { var integrator = LibraryIntegrators.GetIntegrator(preset.IntegratorName); var sampler = LibrarySamplers.GetSampler(preset.SamplerName); var reconstructionFilter = LibraryReconstructionFilters.GetReconstructionFilter(preset.ReconstructionFilterName); if (integrator != null) { MitsubaSettings.Integrator = integrator; } if (sampler != null) { MitsubaSettings.Sampler = sampler; } if (reconstructionFilter != null) { MitsubaSettings.ReconstructionFilter = reconstructionFilter; } } } MitsubaSettings.SaveSettings(); }
public void LoadPresets() { listViewIntegrators.Clear(); listViewIntegrators.GridLines = true; listViewIntegrators.FullRowSelect = true; var column = listViewIntegrators.Columns.Add("Mitsuba Rendering Presets"); column.Width = 376; LibraryPresets.Init(); if (LibraryPresets.Presets != null && LibraryPresets.Presets.Any()) { foreach (var preset in LibraryPresets.Presets) { listViewIntegrators.Items.Add(preset); } } column.TextAlign = HorizontalAlignment.Center; if (!String.IsNullOrEmpty(MitsubaSettings.DefaultRenderSettingsPresetName)) { for (int i = 0; i < listViewIntegrators.Items.Count; i++) { if (listViewIntegrators.Items[i].Text == MitsubaSettings.DefaultRenderSettingsPresetName) { listViewIntegrators.Items[i].Selected = true; listViewIntegrators.Items[i].Focused = true; listViewIntegrators.FocusedItem = listViewIntegrators.Items[i]; break; } } } }
public static bool LoadSettings() { if (Tools.FileTools.CheckOrCreateFolder(FolderUserFolder) == -1) { return(false); } var configPath = Path.Combine(FolderUserFolder, FileConfigFileName); if (!File.Exists(configPath)) { return(false); } try { var settings = File.ReadAllLines(configPath); if (!settings.Any()) { return(false); } foreach (var line in settings) { var splited = line.Split(new[] { '=' }); if (splited.Length != 2) { continue; } var key = splited[0]; var value = splited[1]; var folderName = Path.GetDirectoryName(value); switch (key) { case "FolderRenderSettingsPresetsFolder": if (!String.IsNullOrEmpty(folderName)) { FolderRenderSettingsPresetsFolder = value; FolderRenderSettingsPresetsName = folderName; } break; case "FolderIntegratorsFolder": if (!String.IsNullOrEmpty(folderName)) { FolderIntegratorsFolder = value; FolderIntegratorsName = folderName; } break; case "FolderSamplersFolder": if (!String.IsNullOrEmpty(folderName)) { FolderSamplersFolder = value; FolderSamplersName = folderName; } break; case "FolderReconstructionFiltersFolder": if (!String.IsNullOrEmpty(folderName)) { FolderReconstructionFiltersFolder = value; FolderReconstructionFiltersName = folderName; } break; case "DefaultRenderSettingsPreset": { if (!String.IsNullOrEmpty(value)) { DefaultRenderSettingsPresetName = value; var preset = LibraryPresets.GetPreset(value); if (preset != null) { var integrator = LibraryIntegrators.GetIntegrator(preset.IntegratorName); var sampler = LibrarySamplers.GetSampler(preset.SamplerName); var reconstructionFilter = LibraryReconstructionFilters.GetReconstructionFilter(preset.ReconstructionFilterName); if (integrator != null) { Integrator = integrator; } if (sampler != null) { Sampler = sampler; } if (reconstructionFilter != null) { ReconstructionFilter = reconstructionFilter; } } } } break; } } return(true); } catch { return(false); } }
private void ButtonSaveClick(object sender, EventArgs e) { //New Preset if (String.IsNullOrEmpty(_editingPreset)) { const string name = "New Render Preset"; var finalName = name; var path = Path.Combine(MitsubaSettings.FolderRenderSettingsPresetsFolder, finalName) + LibraryPresets.Extension; var num = 1; while (File.Exists(path)) { num++; finalName = name + "(" + num + ")"; path = Path.Combine(MitsubaSettings.FolderRenderSettingsPresetsFolder, finalName) + LibraryPresets.Extension; } var input = new InputBoxDlg { Titul = "Mistuba Render Settings Preset", TopicText = "Please Type a Name", InputText = finalName }; input.ShowDialog(); if (input.DialogResult == DialogResult.OK) { finalName = input.InputText; //var path = Path.Combine(MitsubaSettings.FolderRenderSettingsPresetsFolder, finalName); var presetObj = new RenderSettingsPreset { IntegratorName = comboBoxIntegrator.SelectedItem.ToString(), SamplerName = comboBoxSampler.SelectedItem.ToString(), ReconstructionFilterName = comboBoxReconstruction.SelectedItem.ToString(), }; if (String.IsNullOrEmpty(_editingPreset)) { path = Path.Combine(MitsubaSettings.FolderRenderSettingsPresetsFolder, finalName) + LibraryPresets.Extension; if (File.Exists(path)) { //TODO: Localize me var res = MessageBox.Show(String.Format("{0} already exists, do you want to overwrite it?", finalName), "Mitsuba Save Render Settings", MessageBoxButtons.YesNoCancel); if (res == DialogResult.No) { Close(); } else if (res == DialogResult.Cancel) { return; } } } if (!presetObj.Save(finalName)) { //TODO: Localize me MessageBox.Show(String.Format("There was problem saving {0}", finalName)); } LibraryPresets.Init(); Close(); } } //Editing Preset else { var presetObj = new RenderSettingsPreset { IntegratorName = comboBoxIntegrator.SelectedItem.ToString(), SamplerName = comboBoxSampler.SelectedItem.ToString(), ReconstructionFilterName = comboBoxReconstruction.SelectedItem.ToString(), }; if (!presetObj.Save(_editingPreset)) { //TODO: Localize me MessageBox.Show(String.Format("There was problem saving {0}", _editingPreset)); } Close(); } }
private void IntegratorDialogLoad(object sender, EventArgs e) { if (String.IsNullOrEmpty(_editingPreset)) { //TODO Localize me Text = "New Mitsuba Render Settings"; } else { Text = _editingPreset; } LibraryIntegrators.Init(); LibrarySamplers.Init(); LibraryReconstructionFilters.Init(); if (LibraryIntegrators.Integrators == null || !LibraryIntegrators.Integrators.Any()) { MitsubaSettings.GenerateDefaultIntegrators(); } if (LibrarySamplers.Samplers == null || !LibrarySamplers.Samplers.Any()) { MitsubaSettings.GenerateDefaultSamplers(); } if (LibraryReconstructionFilters.ReconstructionFilters == null || !LibraryReconstructionFilters.ReconstructionFilters.Any()) { MitsubaSettings.GenerateDefaultReconstructionFilters(); } if (LibraryIntegrators.Integrators != null) { comboBoxIntegrator.DataSource = LibraryIntegrators.Integrators.ToArray(); } if (LibrarySamplers.Samplers != null) { comboBoxSampler.DataSource = LibrarySamplers.Samplers.ToArray(); } if (LibraryReconstructionFilters.ReconstructionFilters != null) { comboBoxReconstruction.DataSource = LibraryReconstructionFilters.ReconstructionFilters.ToArray(); } if (!String.IsNullOrEmpty(_editingPreset)) { var preset = LibraryPresets.GetPreset(_editingPreset); comboBoxReconstruction.SelectedItem = preset.ReconstructionFilterName; comboBoxSampler.SelectedItem = preset.SamplerName; comboBoxIntegrator.SelectedItem = preset.IntegratorName; } tabControlProperties.SelectedIndex = 0; SaveOriginals(); }