public override Context.Models.Model Generate(string id, string type, ParameterCollection parameters, ICircuitContext context)
        {
            switch (type.ToLower())
            {
                case "sw": var model = new VoltageSwitchModel(id);
                    SetParameters(context, model, parameters);
                    return new Context.Models.Model(id, model, model.Parameters);
                case "csw":
                    var model2 = new CurrentSwitchModel(id);
                    SetParameters(context, model2, parameters);
                    return new Context.Models.Model(id, model2, model2.Parameters);

                case "vswitch":
                    var vSwitchModel = new VSwitchModel(id);
                    SetParameters(context, vSwitchModel, parameters);
                    return new Context.Models.Model(id, vSwitchModel, vSwitchModel.Parameters);

                case "iswitch":
                    var iSwitchModel = new ISwitchModel(id);
                    SetParameters(context, iSwitchModel, parameters);
                    return new Context.Models.Model(id, iSwitchModel, iSwitchModel.Parameters);
            }

            return null;
        }
Esempio n. 2
0
        public override SpiceSharp.Components.Model Generate(string id, string type, ParameterCollection parameters, ICircuitContext context)
        {
            SpiceSharp.Components.Model model = null;

            switch (type.ToLower())
            {
            case "sw": model = new VoltageSwitchModel(id); break;

            case "csw": model = new CurrentSwitchModel(id); break;

            case "vswitch": model = new VSwitchModel(id); break;

            case "iswitch": model = new ISwitchModel(id); break;
            }

            if (model != null)
            {
                SetParameters(context, model, parameters);
            }

            return(model);
        }