Ejemplo n.º 1
0
 private void menuNewSimulation_Click(object sender, EventArgs e)
 {
     using (var gridForm = new PropertyGridForm("New Simulation"))
     {
         var simulationDefinition = new SimulationTemplateDefinition(Workspace);
         gridForm.PropertyGrid.SelectedObject = simulationDefinition;
         gridForm.OKAction = () =>
         {
             Workspace.SimulationTemplates.Add(simulationDefinition);
             Add(simulationDefinition);
         };
         gridForm.ShowDialog();
     }
 }
Ejemplo n.º 2
0
        private void Add(SimulationTemplateDefinition simulationTemplateDefinition)
        {
            try
            {
                Add(new SimulationTemplate(simulationTemplateDefinition));
            }
            catch (Exception exception)
            {
                string message = $"Do you want to remove template '{simulationTemplateDefinition.Name}'?\r\n\r\n{exception.Message}";

                if (MessageBox.Show(message, "Simulation Template Loading Error", MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.Yes)
                {
                    Workspace.SimulationTemplates.Remove(simulationTemplateDefinition);
                }
            }
        }
Ejemplo n.º 3
0
        public void SaveAsTemplate(int trainingSeed = 0)
        {
            var pluginName = NetworkName;
            var plugin     = Workspace.Instance.SimulationPlugins.FirstOrDefault(p => p.Name.Equals(pluginName));

            if (plugin == null)
            {
                plugin = new NeuralSimulationPluginFactory(pluginName, NetworkName, trainingSeed);
                Workspace.Instance.SimulationPlugins.Add(plugin);
            }

            var templateDefinitionName = $"{NetworkName}_{SpaceTemplateFactory.Name}";
            var templateDefinition     = Workspace.Instance.SimulationTemplates.FirstOrDefault(t => t.Name.Equals(templateDefinitionName));

            if (templateDefinition == null)
            {
                templateDefinition                  = new SimulationTemplateDefinition(Workspace.Instance);
                templateDefinition.Space            = SpaceTemplateFactory.Name;
                templateDefinition.SimulationPlugin = NetworkName;
                templateDefinition.Name             = templateDefinitionName;
                Workspace.Instance.SimulationTemplates.Add(templateDefinition);
            }
        }