Ejemplo n.º 1
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);
 }
Ejemplo n.º 2
0
 public cZonaEstribos(eZonas Zona, eLadoDeZona LadoDeZona, cLadoDeEstribos LadoDeEstriboOrigen)
 {
     this.LadoDeZona          = LadoDeZona;
     this.Zona                = Zona;
     this.LadoDeEstriboOrigen = LadoDeEstriboOrigen;
     CrearCoordenadasReales();
 }
Ejemplo n.º 3
0
        private List <PointF> PuntosGancho180(List <PointF> Puntos, eLadoDeZona Lado)
        {
            List <PointF> Puntos180 = new List <PointF>();

            if (Lado == eLadoDeZona.Izquierda)
            {
                for (int i = 0; i <= 2; i++)
                {
                    Puntos180.Add(Puntos[i]);
                }
            }
            else
            {
                for (int i = Puntos.FindLastIndex(x => x == Puntos.Last()); i <= Puntos.FindLastIndex(x => x == Puntos.Last()) - 2; i++)
                {
                    Puntos180.Add(Puntos[i]);
                }
            }
            return(Puntos180);
        }
        public cBloqueEstribos(int ID, eNoBarra noBarra, int cantidad, float separacion, int noRamas, float x, eLadoDeZona direccionEstribo, cTendencia_Estribo Tendencia_Estribo_Origen)
        {
            this.ID      = ID;
            this.noBarra = noBarra;
            this.Tendencia_Estribo_Origen = Tendencia_Estribo_Origen;
            this.cantidad         = cantidad;
            this.separacion       = separacion;
            this.noRamas          = noRamas;
            this.direccionEstribo = direccionEstribo;
            if (direccionEstribo == eLadoDeZona.Derecha)
            {
                xi = x;
                xf = x + LongitudZonaEstribos;
            }
            else
            {
                xf = x;
                xi = x - LongitudZonaEstribos;
            }

            if (direccionEstribo == eLadoDeZona.Izquierda && !CumpleLimitesX(xi, LongitudZonaEstribos))
            {
                xi = LimiteIzquierdo;
            }
            else if (direccionEstribo == eLadoDeZona.Derecha && !CumpleLimitesX(xf, LongitudZonaEstribos))
            {
                xf = LimiteDerecho;
            }

            CrearCoordenadasReales();
        }