Beispiel #1
0
        public SimpleCalcVM(CalcCore.ICalc calc)
        {
            this.calc = calc;

            Inputs = new List <IOValues>();
            foreach (var item in calc.GetInputs())
            {
                Inputs.Add(new IOValues(item, calc, this));
            }
            Outputs = new ObservableCollection <IOValues>();
            foreach (var item in calc.GetOutputs())
            {
                Outputs.Add(new IOValues(item, calc, this));
            }

            //this.calc = calculation;
            _formulae = new ObservableCollection <FormulaeVM>();
            foreach (var item in calc.GetFormulae())
            {
                _formulae.Add(new FormulaeVM()
                {
                    Expression = item.Expression, Ref = item.Ref, Conclusion = item.Conclusion, Narrative = item.Narrative, Status = item.Status                             /*, Image=item.Image */
                });
            }
        }
Beispiel #2
0
        void doClick(object sender, EventArgs e)
        {
            try
            {
                var calcInstance = (CalcCore.ICalc)Activator.CreateInstance(((sender as ToolStripMenuItem).Tag) as Type);
                calc = calcInstance;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            foreach (var input in calc.GetInputs())
            {
                if (input.Type == CalcCore.CalcValueType.DOUBLE)
                {
                    Params.RegisterInputParam(createGHParam(input.Name));
                    //int ind = pManager.AddNumberParameter(name.Name, "", "", GH_ParamAccess.item);
                    //pManager[ind].Optional = true;
                }
            }

            foreach (var output in calc.GetOutputs())
            {
                if (output.Type == CalcCore.CalcValueType.DOUBLE)
                {
                    Params.RegisterOutputParam(createGHParam(output.Name));
                }
            }

            this.Name        = calc.TypeName;
            this.NickName    = calc.TypeName;
            this.Description = "SCaFFOLD Calculation";
            Params.OnParametersChanged();
            this.ExpireSolution(true);
        }
Beispiel #3
0
 public MainViewData(CalculationViewModel vm, CalcCore.ICalc calc)
 {
     Parent   = vm;
     Calc     = calc;
     ViewType = MainViewTypes.CALC;
     Name     = "Calc";
 }
Beispiel #4
0
        public override bool Read(GH_IReader reader)
        {
            if (!base.Read(reader))
            {
                return(false);
            }

            string name        = reader.GetString("CalcType");
            var    listOfCalcs = AvailableCalcsLoader.AvailableCalcs;

            foreach (var availableCalc in listOfCalcs)
            {
                if (availableCalc.Name == name)
                {
                    var calcInstance = (CalcCore.ICalc)Activator.CreateInstance(availableCalc.Class);
                    this.calc = calcInstance;
                }
            }
            return(true);
        }
Beispiel #5
0
        public IOValues(CalcCore.CalcValueBase calcValue, CalcCore.ICalc calc, ICalcViewParent calcVM)
        {
            this.calcValue = calcValue;
            this.calc      = calc;
            this.calcVM    = calcVM;
            switch (calcValue.Type)
            {
            case CalcCore.CalcValueType.DOUBLE:
                MaxVal = Math.Max((calcValue as CalcCore.CalcDouble).Value * 5, 0);
                MinVal = Math.Min(0, (calcValue as CalcCore.CalcDouble).Value);
                break;

            case CalcCore.CalcValueType.SELECTIONLIST:
                _selectionList = (calcValue as CalcCore.CalcSelectionList).SelectionList;
                break;

            case CalcCore.CalcValueType.FOLDERPATH:
                break;

            default:
                break;
            }
        }