Ejemplo n.º 1
0
 public Trave(Nodo n1, Nodo n2)
     : base()
 {
     nodi = new Nodo[NumeroNodi];
     selezionato = false;
     nodi[0] = n1;
     nodi[1] = n2;
     tipo = TipoOggetto.Trave;
     n1.AggiungiCollegamento();
     n2.AggiungiCollegamento();
     sezione = new Sezione();
     sezione.AggiungiCollegamento();
     materiale = new Materiale();
     materiale.AggiungiCollegamento();
     rifTrave = null;
 }
Ejemplo n.º 2
0
 public Trave(Nodo n1, Nodo n2, int numeroTrave, string nomeTrave)
     : base(numeroTrave, nomeTrave)
 {
     nodi = new Nodo[2];
     selezionato = false;
     nodi[0] = n1;
     nodi[1] = n2;
     tipo = TipoOggetto.Trave;
     n1.AggiungiCollegamento();
     n2.AggiungiCollegamento();
     sezione = new Sezione();
     sezione.AggiungiCollegamento();
     materiale = new Materiale();
     materiale.AggiungiCollegamento();
     rifTrave = null;
 }
Ejemplo n.º 3
0
 // Sostituisce gli indici con i riferimenti
 public bool SostituisciIndici(ArchivioStruttura arch)
 {
     bool fatto = false;
     if(rifTrave != null)
         {
         fatto = true;															// Mette a true; se errore qulunque: false
         if(rifTrave.nodi[0] != Oggetto.NonValido)								// Controlla se indice inizializzato. Se no...
             {																	// Prosegue senza errori
             Nodo n = (Nodo)arch.Trova(TipoOggetto.Nodo, rifTrave.nodi[0]);
             if(n != null)
                 {
                 nodi[0] = n;
                 nodi[0].AggiungiCollegamento();
                 }
             else
                 fatto = false;
             }
         if (rifTrave.nodi[1] != Oggetto.NonValido)
             {
             Nodo n = (Nodo)arch.Trova(TipoOggetto.Nodo, rifTrave.nodi[1]);
             if (n != null)
                 {
                 nodi[1] = n;
                 nodi[1].AggiungiCollegamento();
                 }
             else
                 fatto = false;
             }
         if (rifTrave.sezione != Oggetto.NonValido)
             {
             Sezione s = (Sezione)arch.Trova(TipoOggetto.Sezione, rifTrave.sezione);
             if (s != null)
                 {
                 sezione = s;
                 sezione.AggiungiCollegamento();
                 }
             else
                 fatto = false;
             }
         if (rifTrave.materiale != Oggetto.NonValido)
             {
             Materiale m = (Materiale)arch.Trova(TipoOggetto.Materiale, rifTrave.materiale);
             if (m != null)
                 {
                 materiale = m;
                 materiale.AggiungiCollegamento();
                 }
             else
                 fatto = false;
             }
         }
     if(fatto)											// Se operazione completata, cancella il riferimento al_
         rifTrave = null;								// l'oggetto con gli indici (eliminato poi dal gc)
     return fatto;
 }