Esempio n. 1
0
        public Schalter(AnlagenElemente parent, Int32 zoom, AnzeigeTyp anzeigeTyp, string[] elem)
            : base(parent, Convert.ToInt32(elem[1]), zoom, anzeigeTyp)
        {
            string[] glAnschl = elem[2].Split(' ');
            Gleis    gl       = Parent.GleisElemente.Element(Convert.ToInt32(glAnschl[0]));

            if (elem.Length > 4)
            {
                KoppelungsString = elem[4];
            }
            if (gl != null)
            {
                PositionRaster = gl.GetRasterPosition(this, Convert.ToInt32(glAnschl[1]));
                Position       = new Point(PositionRaster.X * Zoom, PositionRaster.Y * Zoom);

                if (gl.GleisElementAnschluss(this))
                {
                    AnschlussGleis = gl;
                    Ausgang        = AnschlussGleis.Ausgang;

                    Parent.SchalterElemente.Hinzufügen(this);
                    _graphicsPath = new GraphicsPath();

                    this.Berechnung();
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Zum laden aus der Anlagen-Datei
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="zoom"></param>
        /// <param name="anzeigeTyp"></param>
        /// <param name="elem"></param>
        public Entkuppler(AnlagenElemente parent, Int32 zoom, AnzeigeTyp anzeigeTyp, string[] elem)
            : base(parent, Convert.ToInt32(elem[1]), zoom, anzeigeTyp)
        {
            Ausgang         = new Adresse(parent);
            KurzBezeichnung = "Ek";
            string[] glAnschl = elem[2].Split(' ');
            Gleis    gl       = Parent.GleisElemente.Element(Convert.ToInt32(glAnschl[0]));

            if (gl != null)
            {
                PositionRaster = gl.GetRasterPosition(this, Convert.ToInt32(glAnschl[1]));
                Position       = new Point(PositionRaster.X * Zoom, PositionRaster.Y * Zoom);
                if (gl.GleisElementAnschluss(this))
                {
                    AnschlussGleis = gl;
                    Parent.EntkupplerElemente.Hinzufügen(this);
                    Ausgang.SpeicherString = elem[3];
                    Bezeichnung            = elem[4];
                    this.Berechnung();
                }
            }
        }
Esempio n. 3
0
        public Signal(AnlagenElemente parent, Int32 zoom, AnzeigeTyp anzeigeTyp, string[] elem)
            : base(parent, Convert.ToInt32(elem[1]), zoom, anzeigeTyp)
        {
            string[] glAnschl = elem[2].Split(' ');
            KurzBezeichnung = "Sn";
            Bezeichnung     = elem[6];
            if (elem.Length > 7)
            {
                Stecker = elem[7];
            }
            Ausgang = new Adresse(parent);

            if (elem.Length > 8)
            {
                _autoStart = Convert.ToBoolean(elem[8]);
            }
            if (elem.Length > 9)
            {
                _zugLaengeMax = Convert.ToInt32(elem[9]);
            }
            if (elem.Length > 10)
            {
                ZugTypString = elem[10];
            }
            if (elem.Length > 11)
            {
                KoppelungsString = elem[11];
            }
            if (elem.Length > 12)
            {
                ZielGleisNr = Convert.ToInt16(elem[12]);
            }
            Gleis gl = Parent.GleisElemente.Element(Convert.ToInt32(glAnschl[0]));

            if (gl != null)
            {
                PositionRaster    = gl.GetRasterPosition(this, Convert.ToInt32(glAnschl[1]));
                Position          = new Point(PositionRaster.X * Zoom, PositionRaster.Y * Zoom);
                InZeichenRichtung = Convert.ToBoolean(elem[3]);

                if (gl.GleisElementAnschluss(this))
                {
                    Ausgang.SpeicherString = elem[5];
                    AnschlussGleis         = gl;
                    Parent.SignalElemente.Hinzufügen(this);

                    this._stringFormat               = new StringFormat();
                    this._stringFormat.Alignment     = StringAlignment.Center;
                    this._stringFormat.LineAlignment = StringAlignment.Center;

                    this._graphicsPathHintergrund = new GraphicsPath();
                    this._graphicsPathKreis       = new GraphicsPath();
                    this._graphicsPathLinien      = new GraphicsPath();
                    this._graphicsPathText        = new GraphicsPath();

                    this._farbe = Color.Red;

                    this.Berechnung();
                }
                Signal gegenSig = GegenSignalSuchen();
                if (gegenSig != null)
                {
                    GegenSignal          = gegenSig;
                    gegenSig.GegenSignal = this;
                }
            }
            infoFensterLaden(Convert.ToInt16(elem[4]));
        }