public JuliaSearcher(IUsingComplex JuliaLike)
 {
     InitializeComponent();
     _julia = JuliaLike;
     _j_fcm = new My2DClassicColorMode(1.85, 1.4, 1.8, 4);
     _using_complex = JuliaLike.GetComplex();
 }
 /*_________________________________________________________Конструкторы_______________________________________________________*/
 #region Constructors
 public FractalTemplate(Fractal Fractal, FractalColorMode FractalColorMode, string Name)
 {
     _name             = Name;
     _fractal          = Fractal.GetClone();
     _fcm              = FractalColorMode.GetClone();
     _date_of_creating = DateTime.Now;
 }
 public JuliaSearcher(IUsingComplex JuliaLike,FractalColorMode JuliaMode)
 {
     InitializeComponent();
     _using_complex = JuliaLike.GetComplex();
     _julia = JuliaLike;
     _j_fcm = JuliaMode;
 }
Example #4
0
 public void OnFractalColorModeChanged(FractalColorMode sender, System.Windows.Forms.Control Control)
 {
     if (FractalColorModeChanged != null)
     {
         FractalColorModeChanged(sender, Control);
     }
 }
 public JuliaSearcher(IUsingComplex JuliaLike, FractalColorMode JuliaMode)
 {
     InitializeComponent();
     _using_complex = JuliaLike.GetComplex();
     _julia         = JuliaLike;
     _j_fcm         = JuliaMode;
 }
        private void VisualColorControler_Load(object sender, EventArgs e)
        {
            GlobalTemplates.SetTemplate(comboBox1, "Шрифт окна для настройки цветового режима");
            GlobalTemplates.SetTemplate(button1, "Шрифт окна для настройки цветового режима");
            int width_difference = this.Width - panel1.Width, height_difference = this.Height - panel1.Height, x_pos_difference = this.Width - panel2.Location.X, _2heigth_difference = this.Height - panel2.Height;

            SizeChanged += (_sender, _e) => { panel1.Size        = new Size(this.Width - width_difference, this.Height - height_difference);
                                              panel2.Location    = new Point(this.Width - x_pos_difference, panel2.Location.Y);
                                              comboBox1.Location = new Point(this.Width - x_pos_difference, comboBox1.Location.Y);
                                              panel2.Size        = new Size(panel2.Width, this.Height - _2heigth_difference); };
            _fractal_picture_box = new FractalPictureBox();
            _fractal_picture_box.ContextMenuStrip = contextMenuStrip1;
            panel1.Controls.Add(_fractal_picture_box);
            _fractal_picture_box.SizeMode = PictureBoxSizeMode.AutoSize;
            _fractal_picture_box.Visible  = true;
            ConnectFractalToClass(_fractal);
            _fractal_picture_box.SelectionPen = null;
            _fractal.CreateParallelFractal(panel1.Width, panel1.Height, 0, 0, _old_width, _old_height);
            panel2.Controls.Add(FractalColorMode.GetUniqueInterface(panel2.Width, panel2.Height));
            fcm_list            = new List <FractalColorMode>();
            compatible_fcm_list = new List <FractalColorMode>();
            //list_up(FractalColorMode);
            comboBox1.SelectedIndexChanged += (_sender, _e) => { FractalColorMode = (FractalColorMode)comboBox1.SelectedItem; Visualizate();
                                                                 panel2.Controls.Clear();
                                                                 panel2.Controls.Add(FractalColorMode.GetUniqueInterface(panel2.Width, panel2.Height)); };
            comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            if (_fap != null)
            {
                Visualizate();
            }
            //DrawFractalParallel();
        }
 public FractalTemplate(Fractal Fractal,FractalColorMode FractalColorMode,string Name)
 {
     _name = Name;
     _fractal = Fractal.GetClone();
     _fcm = FractalColorMode.GetClone();
     _date_of_creating = DateTime.Now;
 }
 public VisualColorControler(Fractal fractal, FractalColorMode FractalColorMode)
 {
     _fractal = fractal;
     this.FractalColorMode = FractalColorMode;
     _old_width            = panel1.Width;
     _old_height           = panel1.Height;
     InitializeComponent();
 }
 public JuliaSearcher()
 {
     InitializeComponent();
     Text = "Тестовое окно поисковика Жюлиа";
     _julia = new Julia(250, -1.5, 1.5, -1, 1, new Complex());
     _j_fcm = new My2DClassicColorMode(1.85, 1.4, 1.8, 4);
     _using_complex = new Complex();
 }
 public VisualColorControler(Fractal fractal, FractalColorMode FractalColorMode, int OldWidth, int OldHeight, FractalAssociationParametrs fap)
 {
     _fractal = fractal;
     this.FractalColorMode = FractalColorMode;
     InitializeComponent();
     _old_height = OldHeight;
     _old_width  = OldWidth;
     _fap        = fap;
 }
        private void изменитьЦветовуюМодельToolStripMenuItem_Click(object sender, EventArgs e)
        {
            VisualColorControler vcc = new VisualColorControler(_mandelbrot.GetClone(), _m_fcm, panel1.Width, panel1.Height, null);

            if (vcc.ShowDialog(this) == DialogResult.Yes)
            {
                _m_fcm     = vcc.FractalColorMode;
                fpb1.Image = _m_fcm.GetDrawnBitmap(_m_fap);
            }
        }
        private void изменитьЦветовуюМодельToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            VisualColorControler vcc = new VisualColorControler(((_2DFractal)_julia).GetClone(), _j_fcm, panel2.Width, panel2.Height, null);

            if (vcc.ShowDialog(this) != DialogResult.Yes)
            {
                return;
            }
            _j_fcm = vcc.FractalColorMode;
            ((_2DFractal)_julia).CreateParallelFractal(panel2.Width, panel2.Height, 0, 0, panel2.Width, panel2.Height);
        }
 /*__________________________________________________________Конструкторы_класса_________________________________________________________________*/
 #region Constructors
 public FractalDataHandler(Control Owner,Fractal Fractal,FractalPictureBox FPB,FractalColorMode FCM,Size Size,FractalAssociationParametrs FAP=null)
 {
     if (Owner==null||Fractal == null || FPB == null || FCM == null) throw new ArgumentNullException("Нельзя передавать пустые значения!");
     if (Size.Width < 1 || Size.Height < 1) throw new ArgumentException("Ширина и Высота не могут быть меньше единицы!");
     _fractal = Fractal;
     _fpb = FPB;
     _fcm = FCM;
     _width = Size.Width;
     _height = Size.Height;
     _fap = FAP;
     _owner=Owner;
     Connect();
 }
        private void list_up(FractalColorMode fcm_c)
        {
            comboBox1.Items.Add(fcm_c);
            FractalColorMode fcm = new My2DClassicColorMode();

            if (fcm.IsCompatible(_fap) && !(fcm.GetType().Equals(fcm_c.GetType())))
            {
                comboBox1.Items.Add(fcm);
            }
            fcm = new Simple2DFractalColorMode();
            if (fcm.IsCompatible(_fap) && !(fcm.GetType().Equals(fcm_c.GetType())))
            {
                comboBox1.Items.Add(fcm);
            }
            fcm = new SimpleInverse2DFractalColorMode();
            if (fcm.IsCompatible(_fap) && !(fcm.GetType().Equals(fcm_c.GetType())))
            {
                comboBox1.Items.Add(fcm);
            }
            fcm = new SimpleClouds2DFractalColorMode(100);
            if (fcm.IsCompatible(_fap) && !(fcm.GetType().Equals(fcm_c.GetType())))
            {
                comboBox1.Items.Add(fcm);
            }
            fcm = new CosColorMode();
            if (fcm.IsCompatible(_fap) && !(fcm.GetType().Equals(fcm_c.GetType())))
            {
                comboBox1.Items.Add(fcm);
            }
            fcm = new CycleGradientColorMode(1000, 0);
            if (fcm.IsCompatible(_fap) && !(fcm.GetType().Equals(fcm_c.GetType())))
            {
                comboBox1.Items.Add(fcm);
            }
            fcm = new TrioArgsCosColorMode();
            if (fcm.IsCompatible(_fap) && !(fcm.GetType().Equals(fcm_c.GetType())))
            {
                comboBox1.Items.Add(fcm);
            }
            fcm = new FunctionFractalColorMode();
            if (fcm.IsCompatible(_fap) && !(fcm.GetType().Equals(fcm_c.GetType())))
            {
                comboBox1.Items.Add(fcm);
            }
            foreach (object o in comboBox1.Items)
            {
                ((FractalColorMode)o).FractalColorModeChanged += (sender, c) => { Visualizate(); };
            }
        }
 public void SetNewFractal(Fractal Fractal, FractalColorMode FractalColorMode)
 {
     if (Fractal == null || FractalColorMode == null)
     {
         throw new ArgumentNullException();
     }
     if (!FractalColorMode.IsCompatible(Fractal.GetClone().CreateFractal(8, 8)))
     {
         throw new ArgumentException();
     }
     Disconnect();
     _fractal = Fractal.GetClone();
     Connect();
     _fcm = FractalColorMode.GetClone();
     if (SetNewFractalEvent != null)
     {
         SetNewFractalEvent(this);
     }
 }
 /*__________________________________________________________Конструкторы_класса_________________________________________________________________*/
 #region Constructors
 public FractalDataHandler(Control Owner, Fractal Fractal, FractalPictureBox FPB, FractalColorMode FCM, Size Size, FractalAssociationParametrs FAP = null)
 {
     if (Owner == null || Fractal == null || FPB == null || FCM == null)
     {
         throw new ArgumentNullException("Нельзя передавать пустые значения!");
     }
     if (Size.Width < 1 || Size.Height < 1)
     {
         throw new ArgumentException("Ширина и Высота не могут быть меньше единицы!");
     }
     _fractal = Fractal;
     _fpb     = FPB;
     _fcm     = FCM;
     _width   = Size.Width;
     _height  = Size.Height;
     _fap     = FAP;
     _owner   = Owner;
     Connect();
 }
        private void ConnectFractalToClass(Fractal fractal)
        {
            Action <FractalPictureBox, Bitmap> actfinish = (fpb, bmp) => { fpb.Image = bmp; };

            fractal.ParallelFractalCreatingFinished += (f, fap) =>
            {
                Bitmap bmp = FractalColorMode.GetDrawnBitmap(fap);
                Invoke(actfinish, _fractal_picture_box, bmp);
                _fap = fap;
            };
            Action <ToolStripProgressBar, int> actpc = (pb, percent) => { pb.Increment(percent - pb.Value); };

            fractal.ProgressChanged += (f, percent) => {
                Invoke(actpc, toolStripProgressBar1, percent);
            };
            _fractal_picture_box.RectangleSelected += (sender, rect) => { if (_fractal.IsBusy)
                                                                          {
                                                                              return;
                                                                          }
                                                                          _fractal.CreateParallelFractal(panel1.Width, panel1.Height, rect.X, rect.Y, rect.Width, rect.Height); };
            fractal.ParallelFractalCreatingFinished += FirstSetColorModes;
        }
 private void изменитьЦветовуюМодельToolStripMenuItem1_Click(object sender, EventArgs e)
 {
     VisualColorControler vcc = new VisualColorControler(((_2DFractal)_julia).GetClone(), _j_fcm, panel2.Width, panel2.Height, null);
     if (vcc.ShowDialog(this) != DialogResult.Yes) return;
     _j_fcm = vcc.FractalColorMode;
     ((_2DFractal)_julia).CreateParallelFractal(panel2.Width, panel2.Height, 0, 0, panel2.Width, panel2.Height);
 }
 public JuliaSearcher(IUsingComplex JuliaLike, _2DFractal BackSideFractal, FractalColorMode JuliaMode, FractalColorMode BackSideFractalMode)
     : this(JuliaLike, JuliaMode)
 {
     _mandelbrot = BackSideFractal;
     _m_fcm      = BackSideFractalMode;
 }
 public JuliaSearcher(IUsingComplex JuliaLike, _2DFractal BackSideFractal, FractalColorMode JuliaMode) : this(JuliaLike, JuliaMode)
 {
     //if (!(BackSideFractal is _2DFractal)) throw new ArgumentException("Переданный объект для панели выбора должен быть двухмерным фракталом!");
     _mandelbrot = BackSideFractal;
 }
 public IsolatedFractalWindowsCreator(Fractal fractal,FractalColorMode fcm)
 {
     InitializeComponent();
     _fractal = fractal;
     _fcm = fcm;
 }
        private void Visualizate()
        {
            Action <Bitmap> act = (Bmp) => { _fractal_picture_box.Image = Bmp; };

            Invoke(act, FractalColorMode.GetDrawnBitmap(_fap));
        }
Example #23
0
 public IsolatedFractalWindowsCreator(Fractal fractal, FractalColorMode fcm)
 {
     InitializeComponent();
     _fractal = fractal;
     _fcm     = fcm;
 }
 public void SetNewFractal(Fractal Fractal,FractalColorMode FractalColorMode)
 {
     if (Fractal == null || FractalColorMode == null) throw new ArgumentNullException();
     if(!FractalColorMode.IsCompatible(Fractal.GetClone().CreateFractal(8,8)))throw new ArgumentException();
     Disconnect();
     _fractal = Fractal.GetClone();
     Connect();
     _fcm = FractalColorMode.GetClone();
     if (SetNewFractalEvent != null) SetNewFractalEvent(this);
 }
 public JuliaSearcher(IUsingComplex JuliaLike, _2DFractal BackSideFractal, FractalColorMode JuliaMode,FractalColorMode BackSideFractalMode)
     : this(JuliaLike, JuliaMode)
 {
     _mandelbrot = BackSideFractal;
     _m_fcm = BackSideFractalMode;
 }
 public JuliaSearcher(IUsingComplex JuliaLike,_2DFractal BackSideFractal,FractalColorMode JuliaMode)
     : this(JuliaLike,JuliaMode)
 {
     //if (!(BackSideFractal is _2DFractal)) throw new ArgumentException("Переданный объект для панели выбора должен быть двухмерным фракталом!");
     _mandelbrot =BackSideFractal;
 }
 public void OnFractalColorModeChanged(FractalColorMode sender,System.Windows.Forms.Control Control)
 {
     if (FractalColorModeChanged != null)FractalColorModeChanged(sender,Control);
 }
 private void JuliaSearcher_Load(object sender, EventArgs e)
 {
     fpb1 = new FractalPictureBox();
     fpb1.SizeMode = PictureBoxSizeMode.AutoSize;
     fpb1.ContextMenuStrip = contextMenuStrip1;
     if(_m_fcm==null)_m_fcm = new Simple2DFractalColorMode();
     panel1.Controls.Add(fpb1);
     fpb1.ToClickMode();
     if(_mandelbrot==null)_mandelbrot = new Mandelbrot();
     _m_fap = _mandelbrot.CreateFractal(panel1.Width, panel1.Height);
     fpb1.Image = _m_fcm.GetDrawnBitmap(_m_fap);
     fpb1.MouseMove += (_sender, _e) => {label1.Text = _get_complex_loc(_mandelbrot,_e.X,_e.Y).ToString(); };
     fpb2 = new FractalPictureBox();
     fpb2.SizeMode = PictureBoxSizeMode.AutoSize;
     panel2.Controls.Add(fpb2);
     fpb1.MouseDown += (_sender, _e) =>
     {
         if (!clickable) return;
         if (_e.Button != MouseButtons.Left) return;
         _using_complex = _get_complex_loc(_mandelbrot, _e.X, _e.Y);
         label2.Text=_using_complex.ToString();
         _julia.SetComplex(_using_complex);
         fpb2.Image = _j_fcm.GetDrawnBitmap(((_2DFractal)_julia).CreateFractal(panel2.Width, panel2.Height));
     };
     fpb2.RectangleSelected += (_sender, rec) =>
     {
         ((_2DFractal)_julia).CreateParallelFractal(panel2.Width, panel2.Height, rec.X, rec.Y, rec.Width, rec.Height, true);
     };
     ((_2DFractal)_julia).ParallelFractalCreatingFinished += (s, fap) =>
     {
     Action<Bitmap> act=(bmp)=>{fpb2.Image=bmp;};
     Invoke(act, _j_fcm.GetDrawnBitmap(fap));
     };
     fpb2.SelectionPen = null;
     fpb1.RectangleSelected += (_s, rec) => {
         _mandelbrot.CreateParallelFractal(panel1.Width, panel1.Height, rec.X, rec.Y, rec.Width, rec.Height,true);
     };
     _mandelbrot.ParallelFractalCreatingFinished += (s, fap) =>
     {
         Action<Bitmap> act = (bmp) => { fpb1.Image = bmp; };
         Invoke(act, _m_fcm.GetDrawnBitmap(fap));
     };
     fpb2.ContextMenuStrip = contextMenuStrip2;
     fpb1.SelectionPen = null;
     clickable = true;
     _fpb1_h_scale = this.Width / (double)panel1.Width;
     _fpb1_v_scale = this.Height / (double)panel1.Height;
     _fpb2_h_scale = this.Width / (double)panel2.Width;
     _fpb2_v_scale = this.Height / (double)panel2.Height;
     oldheight = panel1.Height;
     oldwidth = panel1.Width;
     вРежимВращенияToolStripMenuItem.Visible = вРежимВращенияToolStripMenuItem.Enabled = _mandelbrot is IUsingQuaternion;
 }
 private void изменитьЦветовуюМодельToolStripMenuItem_Click(object sender, EventArgs e)
 {
     VisualColorControler vcc = new VisualColorControler(_mandelbrot.GetClone(), _m_fcm, panel1.Width, panel1.Height,null);
     if (vcc.ShowDialog(this) == DialogResult.Yes)
     {
         _m_fcm = vcc.FractalColorMode;
         fpb1.Image = _m_fcm.GetDrawnBitmap(_m_fap);
     }
 }