Ejemplo n.º 1
0
            public virtual object Deserialize(object o, Altaxo.Serialization.Xml.IXmlDeserializationInfo info, object parent)
            {
                XYFunctionPlotData s = null != o ? (XYFunctionPlotData)o : new XYFunctionPlotData();

                s.Function = (Altaxo.Calc.IScalarFunctionDD)info.GetValue("Function", parent);

                return(s);
            }
Ejemplo n.º 2
0
        public XYFunctionPlotData(XYFunctionPlotData from)
        {
            if (null == from)
            {
                throw new ArgumentNullException(nameof(from));
            }

            CopyFrom(from);
        }
Ejemplo n.º 3
0
 public void CopyFrom(XYFunctionPlotData from)
 {
     if (from._function is ICloneable)
     {
         this.Function = (Altaxo.Calc.IScalarFunctionDD)((ICloneable)from._function).Clone();
     }
     else
     {
         this.Function = from._function;
     }
 }
Ejemplo n.º 4
0
            public virtual object Deserialize(object o, Altaxo.Serialization.Xml.IXmlDeserializationInfo info, object parent)
            {
                XYFunctionPlotData s = null != o ? (XYFunctionPlotData)o : new XYFunctionPlotData();

                s.Function = (Altaxo.Calc.IScalarFunctionDD)info.GetValue("Function", s);
                if (s.Function is Main.IDocumentLeafNode)
                {
                    ((Main.IDocumentLeafNode)s.Function).ParentObject = s;
                }

                return(s);
            }
    public void OnAfterFittingStep()
    {


      if (_view != null)
        _view.SetChiSquare(this._chiSquare);



      if (_doc.FitContext is Altaxo.Graph.GUI.GraphController)
      {
        // for every dependent variable in the FitEnsemble, create a function graph
        Altaxo.Graph.GUI.GraphController graph = _doc.FitContext as Altaxo.Graph.GUI.GraphController;

        int funcNumber = 0;
        for (int i = 0; i < _doc.FitEnsemble.Count; i++)
        {
          FitElement fitEle = _doc.FitEnsemble[i];

          for (int k = 0; k < fitEle.NumberOfDependentVariables; k++, funcNumber++)
          {
            if (funcNumber < _functionPlotItems.Count && _functionPlotItems[funcNumber] != null)
            {
              XYFunctionPlotItem plotItem = (XYFunctionPlotItem)_functionPlotItems[funcNumber];
              FitFunctionToScalarFunctionDDWrapper wrapper = (FitFunctionToScalarFunctionDDWrapper)plotItem.Data.Function;
              wrapper.Initialize(fitEle.FitFunction, k, 0, _doc.GetParametersForFitElement(i));
            }
            else
            {
              FitFunctionToScalarFunctionDDWrapper wrapper = new FitFunctionToScalarFunctionDDWrapper(fitEle.FitFunction, k, _doc.GetParametersForFitElement(i));
              XYFunctionPlotData plotdata = new XYFunctionPlotData(wrapper);
              XYFunctionPlotItem plotItem = new XYFunctionPlotItem(plotdata, new G2DPlotStyleCollection(LineScatterPlotStyleKind.Line));
              graph.ActiveLayer.PlotItems.Add(plotItem);
              _functionPlotItems.Add(plotItem);
            }
          }
        }

        // if there are more elements in _functionPlotItems, remove them from the graph
        for (int i = _functionPlotItems.Count - 1; i >= funcNumber; --i)
        {
          if (_functionPlotItems[i] != null)
          {
            graph.ActiveLayer.PlotItems.Remove((IGPlotItem)_functionPlotItems[i]);
            _functionPlotItems.RemoveAt(i);

          }
        }
        graph.RefreshGraph();
      }
    }
Ejemplo n.º 6
0
 public XYFunctionPlotData(XYFunctionPlotData from)
 {
     CopyFrom(from);
 }
Ejemplo n.º 7
0
            public virtual void Serialize(object obj, Altaxo.Serialization.Xml.IXmlSerializationInfo info)
            {
                XYFunctionPlotData s = (XYFunctionPlotData)obj;

                info.AddValue("Function", s._function);
            }
Ejemplo n.º 8
0
 public void CopyFrom(XYFunctionPlotData from)
 {
   if (from._function is ICloneable)
     this.Function = (Altaxo.Calc.IScalarFunctionDD)((ICloneable)from._function).Clone();
   else
     this.Function = from._function;
 }
Ejemplo n.º 9
0
 public XYFunctionPlotData(XYFunctionPlotData from)
 {
   CopyFrom(from);
 }
 public bool InitializeDocument(params object[] args)
 {
   if (args.Length == 0 || !(args[0] is XYFunctionPlotData))
     return false;
   _originalDoc = (XYFunctionPlotData)args[0];
   _doc = _useDocumentCopy == UseDocument.Directly ? _originalDoc : (XYFunctionPlotData)_originalDoc.Clone();
   Initialize(true); // initialize always because we have to update the temporary variables
   return true;
 }