Beispiel #1
0
		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

			}
Beispiel #2
0
		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");
					}
				}
			}
Beispiel #3
0
		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();
			}
Beispiel #4
0
		private void nuovaSorgenteToolStripMenuItem_Click(object sender, EventArgs e)
			{
			FormSorgente formsorgente = new FormSorgente();
			if (formsorgente.ShowDialog() == DialogResult.OK)
				{
				this.sorgente = formsorgente.sorgente;
				}
			formsorgente.Close();
			Invalidate();
			}
Beispiel #5
0
		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");
				}

			}
Beispiel #6
0
		public FormSorgente(SorgenteOttica pSorgente)
			{
			this.dSorgente = new SorgenteOttica(pSorgente);	// Chiama il costruttore di copia di SorgenteOttica
			InitializeComponent();
			this.Text = Resources.FormSorgenteTitolo;
			}
Beispiel #7
0
		public FormSorgente()
			{
			this.dSorgente = new SorgenteOttica();
			InitializeComponent();
			this.Text = Resources.FormSorgenteTitolo;
			}
Beispiel #8
0
		/// <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();
			}