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 Text-Datei
        /// </summary>
        /// <param name="parent">AnlagenElemente</param>
        /// <param name="zoom"></param>
        /// <param name="anzeigeTyp"></param>
        /// <param name="elem">Zeile aus der Text-Datei</param>
        public EingangsSchalter(AnlagenElemente parent, Int32 zoom, AnzeigeTyp anzeigeTyp, string[] elem)
            : base(parent, Convert.ToInt32(elem[1]), zoom, anzeigeTyp)
        {
            KurzBezeichnung = "Eing";
            string[] glAnschl = elem[2].Split(' ');

            Ausgang.SpeicherString = elem[3];
            Bezeichnung            = elem[4];
            Stecker = elem[5];

            Gleis gl = Parent.GleisElemente.Element(Convert.ToInt32(glAnschl[0]));

            Gleisposition = Convert.ToInt32(glAnschl[1]);
            if (gl != null)
            {
                PositionRaster = gl.GetRasterPosition(this, Convert.ToInt32(glAnschl[1]));
                Position       = new Point(PositionRaster.X * Zoom, PositionRaster.Y * Zoom);
                {
                    AnschlussGleis = gl;
                    Parent.EingSchalterElemente.Hinzufügen(this);
                    _graphicsPath      = new GraphicsPath();
                    _graphicsPathKreis = new GraphicsPath();
                    this.Berechnung();
                }
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Konstruktor zum laden aus der .anl-Datei
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="zoom"></param>
        /// <param name="anzeigeTyp"></param>
        /// <param name="elem"></param>
        public InfoFenster(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]));

            Gleisposition = Convert.ToInt32(glAnschl[1]);
            if (elem[3] == "0")
            {
                _lage = false;
            }
            else
            {
                _lage = Convert.ToBoolean(elem[3]);
            }
            if (gl != null)
            {
                PositionRaster = gl.GetRasterPosition(this, Convert.ToInt32(glAnschl[1]));
                Position       = new Point(PositionRaster.X * Zoom, PositionRaster.Y * Zoom);
                AnschlussGleis = gl;

                Parent.InfoElemente.Hinzufügen(this);
                this.Text = "";                //InfoString;
                this.Berechnung();
            }
        }
Esempio n. 4
0
        /// <summary>
        /// zum Laden aus der Text-Datei
        /// </summary>
        /// <param name="parent">AnlagenElemente</param>
        /// <param name="zoom"></param>
        /// <param name="anzeigeTyp"></param>
        /// <param name="elem">Zeile aus der Text-Datei</param>
        public FSS(AnlagenElemente parent, Int32 zoom, AnzeigeTyp anzeigeTyp, string[] elem)
            : base(parent, Convert.ToInt32(elem[1]), zoom, anzeigeTyp)
        {
            KurzBezeichnung = "Fss";
            string[] glAnschl = elem[2].Split(' ');
            _reglerNrQuelle[0] = Convert.ToInt32(elem[3]);
            _reglerNrQuelle[1] = Convert.ToInt32(elem[4]);
            _reglerNr[0]       = Convert.ToInt32(elem[3]);
            _reglerNr[1]       = Convert.ToInt32(elem[4]);
            _fss[0]            = null;
            _regler[0]         = null;
            if (_reglerNr[0] > 0)
            {
                _regler[0] = Parent.ReglerElemente.Element(_reglerNr[0]);
            }
            _fss[1]    = null;
            _regler[1] = null;
            if (_reglerNr[1] > 0)
            {
                _regler[1] = Parent.ReglerElemente.Element(_reglerNr[1]);
            }
            Ausgang.SpeicherString = elem[5];
            if (elem.Length > 7)
            {
                Bezeichnung = elem[6];
                Stecker     = elem[7];
            }
            if (elem.Length > 8)
            {
                KoppelungsString = elem[8];
            }
            if (elem.Length > 9)
            {
                sichtbarkeit = Convert.ToBoolean(elem[9]);
            }

            Gleis gl = Parent.GleisElemente.Element(Convert.ToInt32(glAnschl[0]));

            Gleisposition = Convert.ToInt32(glAnschl[1]);
            if (gl != null)
            {
                PositionRaster = gl.GetRasterPosition(this, Convert.ToInt32(glAnschl[1]));
                Position       = new Point(PositionRaster.X * Zoom, PositionRaster.Y * Zoom);
                {
                    AnschlussGleis = gl;
                    Parent.FssElemente.Hinzufügen(this);
                    _graphicsPath      = new GraphicsPath();
                    _graphicsPathKreis = new GraphicsPath();
                    this.Berechnung();
                }
            }
        }
Esempio n. 5
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. 6
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]));
        }