예제 #1
0
        public void AgregarBloqueEstribos(cBloqueEstribos bloqueEstribos, bool ACaraApoyo)
        {
            if (!ACaraApoyo)
            {
                if (BloqueEstribos.Count > 0)
                {
                    BloqueEstribos = BloqueEstribos.OrderBy(y => y.XI).ToList();

                    foreach (var bloque in BloqueEstribos)
                    {
                        float CorrerGrupoEstribos = bloque.LongitudZonaEstribos + bloque.Separacion + cVariables.DeltaEstriboBorde;
                        if (bloqueEstribos.IsVisible(bloque))
                        {
                            if (bloque.DireccionEstribo == eLadoDeZona.Derecha)
                            {
                                bloqueEstribos.XI += CorrerGrupoEstribos;
                            }
                            else
                            {
                                bloqueEstribos.XF -= CorrerGrupoEstribos;
                            }
                            break;
                        }
                    }
                }
                BloqueEstribos.Add(bloqueEstribos);
            }
            else
            {
                BloqueEstribos.Add(bloqueEstribos);
                bloqueEstribos.MoveraCaraApoyo();
            }

            ActualizarRefuerzoTransversal();
        }
 private void XfFinalCorrerHaciaIzquierda(cBloqueEstribos bloque1, List <cBloqueEstribos> bloqueEstribos, ref float xi, ref float xf)
 {
     foreach (var bloque2 in bloqueEstribos)
     {
         if (bloque1 != bloque2)
         {
             if (bloque2.IsVisible(xi, xf) && bloque2.DireccionEstribo == bloque1.DireccionEstribo)
             {
                 xf = bloque2.xi - bloque2.Separacion;
                 xi = xf - bloque1.LongitudZonaEstribos;
                 XiFinalCorrerHaciaDerecha(bloque1, bloqueEstribos, ref xi, ref xf);
             }
         }
     }
 }
예제 #3
0
 public void ElminarBloqueEstribos(cBloqueEstribos bloqueEstribos)
 {
     BloqueEstribos.Remove(bloqueEstribos);
     ActualizarRefuerzoTransversal();
     Tendencia_Refuerzo_Origen.NervioOrigen.CrearAceroAsignadoRefuerzoTransversal();
 }
 public bool IsVisible(cBloqueEstribos bloqueEstribo)
 {
     return((bloqueEstribo.XF >= XI && bloqueEstribo.XF <= XF) ||
            (bloqueEstribo.XI >= XI && bloqueEstribo.XI <= XF));
 }