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); } } } }
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)); }