public Lente01() { InitializeComponent(); lente = new Lente(); // Crea nuovi oggetti sorgente = new SorgenteOttica(); finestra = new Finestra(); nomefile = "-"; displayList = new DisplayList(); singolo = new Ambiente(); completo = new Ambiente(); ambienteAttivo = singolo; penne = new Pen[4]; penne[0] = new Pen(Color.Blue,2); penne[1] = new Pen(Color.Red,1); penne[2] = new Pen(Color.Green,1); penne[3] = new Pen(Color.Gray,1); angolo = 0; this.gradiprimi.Value = angolo; percentodiam = 110; this.percdiam.Value = percentodiam; RidimensionaFinestra(); // Richiede primo ricalcolo della finestra }
protected void Ricalcola(SorgenteOttica.TipoSorgente tp) { switch(tp) { case SorgenteOttica.TipoSorgente.collimata: { LeggiCampi(tp); ImpostaCampi(); } break; case SorgenteOttica.TipoSorgente.puntiforme: { throw new Exception("TipoSorgente.puntiforme non implementata"); } default: { throw new Exception("TipoSorgente non gestita"); } } }
private void aggiungiSorgenteToolStripMenuItem_Click(object sender, EventArgs e) { displayList.Clear(); FormTrasfo ft = new FormTrasfo(); ft.ShowDialog(); SorgenteOttica corposorgente = new SorgenteOttica( sorgente.Nome, new Point2D(ft.x,ft.y), ft.r + sorgente.Direzione.Alfa(), true, sorgente.Diametro, sorgente.Divergenza, sorgente.Lambda, sorgente.nRaggi ); corposorgente.Validate(); completo.Add(corposorgente); completo.Display(displayList,0); Invalidate(); }
private void nuovaSorgenteToolStripMenuItem_Click(object sender, EventArgs e) { FormSorgente formsorgente = new FormSorgente(); if (formsorgente.ShowDialog() == DialogResult.OK) { this.sorgente = formsorgente.sorgente; } formsorgente.Close(); Invalidate(); }
protected void LeggiCampi(SorgenteOttica.TipoSorgente ts) { double itmp; dSorgente.Nome = this.tb_Nome.Text; switch(ts) { case SorgenteOttica.TipoSorgente.collimata: { if (double.TryParse(this.tb_D.Text, out itmp)) dSorgente.Diametro = itmp; if (double.TryParse(this.tb_alfa.Text, out itmp)) { double alfrad = (itmp*Math.PI)/180.0; // Angolo in radianti dSorgente.Direzione = new Point2D(Math.Cos(alfrad),Math.Sin(alfrad)); } if (double.TryParse(this.tb_div.Text, out itmp)) // Angolo in radianti dSorgente.Divergenza = itmp/1000.0; if (double.TryParse(this.tb_lambda.Text, out itmp)) dSorgente.Lambda = itmp; if (double.TryParse(this.tb_nr.Text, out itmp)) dSorgente.nRaggi = (int)itmp; } break; case SorgenteOttica.TipoSorgente.puntiforme: throw new Exception("TipoSorgente.puntiforme non impleimentata"); default: throw new Exception("TipoSorgente non gestita"); } }
public FormSorgente(SorgenteOttica pSorgente) { this.dSorgente = new SorgenteOttica(pSorgente); // Chiama il costruttore di copia di SorgenteOttica InitializeComponent(); this.Text = Resources.FormSorgenteTitolo; }
public FormSorgente() { this.dSorgente = new SorgenteOttica(); InitializeComponent(); this.Text = Resources.FormSorgenteTitolo; }
/// <summary>Costruttore di copia</summary> /// <param name="sorgente"></param> public SorgenteOttica(SorgenteOttica sorgente) : base(sorgente.Nome) { this.tipoSorgente = sorgente.tipoSorgente; this.arco = sorgente.arco; this.diametro = sorgente.diametro; this.divergenza = sorgente.divergenza; this.lambda = sorgente.lambda; this.nraggi = sorgente.nraggi; this.lineaRaggio = sorgente.lineaRaggio; Validate(); }