예제 #1
0
        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;
                }
            }
        }
예제 #2
0
 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);
 }