private void DrawGraphs() { bufferedGraphics.Graphics.Clear(panelGraph.BackColor); GraphicOnFrom.PaintGrid(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height); if ((!isInit) || (FuzzyList == null)) { bufferedGraphics.Render(); return; } GraphicOnFrom.DrawBottomScale(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height, double.Parse(textBoxBottom.Text), double.Parse(textBoxTop.Text)); int i = 0; foreach (var fv in FuzzyList) { switch (fv.Type) { case TypeMFuncEnum.GAUSS: GraphicOnFrom.DrawGaussMF(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height, fv.ColorLine, fv.GaussParam.C, fv.GaussParam.Sigma, prototypeSymtom.ReasoningBottom, prototypeSymtom.ReasoningTop, fv.Bound); GraphicOnFrom.DrawGaussPoints(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height, fv.Name, fv.ColorLine, fv.GaussParam.C, fv.GaussParam.Sigma, prototypeSymtom.ReasoningBottom, prototypeSymtom.ReasoningTop, fv.Bound, i); break; case TypeMFuncEnum.TRIANGULARE: GraphicOnFrom.DrawTrianglMF(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height, fv.ColorLine, fv.TrianglParam.A, fv.TrianglParam.B, fv.TrianglParam.C, prototypeSymtom.ReasoningBottom, prototypeSymtom.ReasoningTop, fv.Bound); GraphicOnFrom.DrawTrianglPoints(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height, fv.Name, fv.ColorLine, fv.TrianglParam.A, fv.TrianglParam.B, fv.TrianglParam.C, prototypeSymtom.ReasoningBottom, prototypeSymtom.ReasoningTop, fv.Bound, false, i); break; case TypeMFuncEnum.TRAPEZOIDAL: GraphicOnFrom.DrawTrapezMF(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height, fv.ColorLine, fv.TrapezParam.A, fv.TrapezParam.B, fv.TrapezParam.C, fv.TrapezParam.D, prototypeSymtom.ReasoningBottom, prototypeSymtom.ReasoningTop, fv.Bound); GraphicOnFrom.DrawTrapezoidalPoints(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height, fv.Name, fv.ColorLine, fv.TrapezParam.A, fv.TrapezParam.B, fv.TrapezParam.C, fv.TrapezParam.D, prototypeSymtom.ReasoningBottom, prototypeSymtom.ReasoningTop, fv.Bound, i); break; default: //MessageBox.Show("I don`t know this variable type", "Variable type error", MessageBoxButtons.OK, MessageBoxIcon.Error); break; } i++; } bufferedGraphics.Render(); }
private void DrawGraph() { bufferedGraphics.Graphics.Clear(panelGraph.BackColor); GraphicOnFrom.PaintGrid(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height); GraphicOnFrom.DrawBottomScale(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height, parentSymptom.ReasoningBottom, parentSymptom.ReasoningTop); if (!isInit) { return; } switch ((TypeMFuncEnum)comboBoxType.SelectedIndex) { case TypeMFuncEnum.GAUSS: GraphicOnFrom.DrawGaussMF(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height, buttonColor.BackColor, Convert.ToDouble(textBoxGC.Text), Convert.ToDouble(textBoxSigma.Text), parentSymptom.ReasoningBottom, parentSymptom.ReasoningTop, (BoundaryTypeEnum)comboBoxBound.SelectedIndex); GraphicOnFrom.DrawGaussPoints(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height, textBoxName.Text, buttonColor.BackColor, Convert.ToDouble(textBoxGC.Text), Convert.ToDouble(textBoxSigma.Text), parentSymptom.ReasoningBottom, parentSymptom.ReasoningTop, (BoundaryTypeEnum)comboBoxBound.SelectedIndex); break; case TypeMFuncEnum.TRIANGULARE: GraphicOnFrom.DrawTrianglMF(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height, buttonColor.BackColor, Convert.ToDouble(textBoxTrianglA.Text), Convert.ToDouble(textBoxTrianglB.Text), Convert.ToDouble(textBoxTrianglC.Text), parentSymptom.ReasoningBottom, parentSymptom.ReasoningTop, (BoundaryTypeEnum)comboBoxBound.SelectedIndex); GraphicOnFrom.DrawTrianglPoints(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height, textBoxName.Text, buttonColor.BackColor, Convert.ToDouble(textBoxTrianglA.Text), Convert.ToDouble(textBoxTrianglB.Text), Convert.ToDouble(textBoxTrianglC.Text), parentSymptom.ReasoningBottom, parentSymptom.ReasoningTop, (BoundaryTypeEnum)comboBoxBound.SelectedIndex); break; case TypeMFuncEnum.TRAPEZOIDAL: GraphicOnFrom.DrawTrapezMF(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height, buttonColor.BackColor, Convert.ToDouble(textBoxTrapA.Text), Convert.ToDouble(textBoxTrapB.Text), Convert.ToDouble(textBoxTrapC.Text), Convert.ToDouble(textBoxTrapD.Text), parentSymptom.ReasoningBottom, parentSymptom.ReasoningTop, (BoundaryTypeEnum)comboBoxBound.SelectedIndex); GraphicOnFrom.DrawTrapezoidalPoints(bufferedGraphics.Graphics, panelGraph.Width, panelGraph.Height, textBoxName.Text, buttonColor.BackColor, Convert.ToDouble(textBoxTrapA.Text), Convert.ToDouble(textBoxTrapB.Text), Convert.ToDouble(textBoxTrapC.Text), Convert.ToDouble(textBoxTrapD.Text), parentSymptom.ReasoningBottom, parentSymptom.ReasoningTop, (BoundaryTypeEnum)comboBoxBound.SelectedIndex); break; default: //MessageBox.Show("I don`t know this variable type", "Variable type error", MessageBoxButtons.OK, MessageBoxIcon.Error); break; } bufferedGraphics.Render(); }