示例#1
0
文件: BC.cs 项目: Fred68/Engineering
 public BC(int numeroBC, string nomeBC)
     : base(numeroBC, nomeBC)
 {
     selezionato = false;
     tipo = TipoOggetto.BC;
     collegamenti = 0;
     gdlAttivo = new bool[(int)Gdl.N];
     val = new double[(int)Gdl.N];
     tipoBC = TipoBC.NonDefinito;
     ogg = (Oggetto)null;
     nogg = 0;
 }
示例#2
0
 // Dissocia da un altro oggetto specifico
 public virtual bool Dissocia(Oggetto ogg)
 {
     return false;
 }
示例#3
0
 // Associa ad un oggetto (materiale o sezione)
 public override bool Associa(Oggetto ogg)
 {
     bool ok = false;
     switch(ogg.Tipo)
         {
         case TipoOggetto.Materiale:
             {
             if(this.materiale != null)									// Se l'oggetto era gia` associato ad un materiale...
                 (this.materiale).RimuoviCollegamento();					// decrementa i link del vecchio materiale
             Materiale = (Materiale) ogg;								// Imposta il riferimento al nuovo materiale
             ogg.AggiungiCollegamento();									// incrementa i link del nuovo materiale
             ok = true;
             break;
             }
         case TipoOggetto.Sezione:
             {
             if (this.sezione != null)									// Se l'oggetto era gia` associato ad una sezione...
                 (this.sezione).RimuoviCollegamento();					// decrementa i link della vecchia sezione
             Sezione = (Sezione)ogg;										// Imposta il riferimento alla nuova sezione
             ogg.AggiungiCollegamento();									// incrementa i link del nuovo materiale
             ok = true;
             break;
             }
         }
     return ok;
 }
示例#4
0
文件: BC.cs 项目: Fred68/Engineering
        // Associa il BC ad un oggetto (materiale o sezione)
        public override bool Associa(Oggetto ogg)
        {
            bool ok = false;
            switch (ogg.Tipo)
                {
                case TipoOggetto.Nodo:
                        {
                        if ( (tipoBC == TipoBC.ForzaNodale) ||					// Verifica se tipo di vincolo corretto
                             (tipoBC == TipoBC.VincoloNodale) )
                            {
                            if (this.ogg != null)								// Se il BC era gia` associato ad un oggetto...
                                (this.ogg).RimuoviCollegamento();				// decrementa i link del vecchio oggetto
                            this.ogg = ogg;										// Imposta il riferimento al nuovo oggetto
                            (this.ogg).AggiungiCollegamento();					// incrementa i link del nuovo oggetto
                            ok = true;

                            }
                        break;
                        }
                case TipoOggetto.Trave:
                        {
                        if ( (tipoBC == TipoBC.CaricoTrave) ||					// Verifica se tipo di vincolo corretto
                             (tipoBC == TipoBC.ForzaTrave) ||
                             (tipoBC == TipoBC.TermicoTrave) )
                            {
                            if (this.ogg != null)								// Se il BC era gia` associato ad un oggetto...
                                (this.ogg).RimuoviCollegamento();				// decrementa i link del vecchio oggetto
                            this.ogg = ogg;										// Imposta il riferimento al nuovo oggetto
                            (this.ogg).AggiungiCollegamento();					// incrementa i link del nuovo materiale
                            ok = true;
                            }
                        break;
                        }
                }
            return ok;
        }
示例#5
0
文件: BC.cs 项目: Fred68/Engineering
 // Dissocia il BC dall'oggetto cui era associato
 public override bool Dissocia()
 {
     bool ok = true;
     if(ogg != null)														// Se aveva il riferimento ad un oggetto...
         {
         ogg.RimuoviCollegamento();										// ...riduce i collegamenti dell'oggetto e...
         ogg = (Oggetto) null;											// ...elimina il riferimento
         }
     return ok;
 }