public void UnirZonaDeEstribos() { if (EstribosIzquierda != null && EstribosDerecha != null) { cZonaEstribos ZonaEstribosIzquierda = EstribosIzquierda.Zona1.Xmax > EstribosIzquierda.Zona2.Xmax ? EstribosIzquierda.Zona1: EstribosIzquierda.Zona2; float XminZD1 = EstribosDerecha.Zona1.Xmin; float XminZD2 = EstribosDerecha.Zona2.Xmin; if (XminZD1 == 0) { XminZD1 = 999f; } if (XminZD2 == 0f) { XminZD2 = 999f; } cZonaEstribos ZonaEstribosDerecha = XminZD1 > XminZD2 ? EstribosDerecha.Zona2 : EstribosDerecha.Zona1; if (Math.Round(ZonaEstribosIzquierda.Xmax, 2) >= Math.Round(ZonaEstribosDerecha.Xmin, 2)) { float S = ZonaEstribosIzquierda.Separacion < ZonaEstribosDerecha.Separacion ? ZonaEstribosIzquierda.Separacion : ZonaEstribosDerecha.Separacion; float LongitudE = longitud - 2 * cVariables.d_CaraApoyo; EstribosDerecha = null; cFunctionsProgram.CrearEstribos(this, eZonas.Zona1, eLadoDeZona.Izquierda, LongitudE, S, ZonaEstribosIzquierda.NoBarra, cFunctionsProgram.CoordXInicialEstribo(eLadoDeZona.Izquierda, this)); EstribosIzquierda.Zona2.EliminarEstribos(true); EstribosIzquierda.Zona1.UnionEstribos = true; } } }
public cLadoDeEstribos(eLadoDeZona LadoDeZona, cTramo TramoOrigen) { this.LadoDeZona = LadoDeZona; this.TramoOrigen = TramoOrigen; Zona1 = new cZonaEstribos(eZonas.Zona1, LadoDeZona, this); Zona2 = new cZonaEstribos(eZonas.Zona2, LadoDeZona, this); }