Пример #1
0
        internal Rectangle KettengliedZeichnen(double offset, double staerke, SolidColorBrush farbe)
        {
            var kettenglied = new Rectangle
            {
                Width           = BreiteKettenglied,
                Height          = _hoeheKettenglied,
                Stroke          = farbe,
                StrokeThickness = staerke
            };

            var(x, y, phi, positionUndRichtung) = PositionBestimmen.KettengliedPositionBerechnen(_position + offset, DurchmesserBolzen, BreiteKettenglied, _hoeheKettenglied);

            // ReSharper disable once SwitchStatementHandlesSomeKnownEnumValuesWithDefault
            switch (positionUndRichtung)
            {
            case Zeichenbereich.Links:
                kettenglied.RenderTransformOrigin = new Point(0.5, 0.14);
                kettenglied.RenderTransform       = new RotateTransform(phi);
                Canvas.SetLeft(kettenglied, x - BreiteKettenglied / 2);
                Canvas.SetTop(kettenglied, y + BreiteKettenglied / 2 - _hoeheKettenglied);
                return(kettenglied);

            default:
                kettenglied.RenderTransformOrigin = new Point(0.5, 0.14);
                kettenglied.RenderTransform       = new RotateTransform(phi);
                Canvas.SetLeft(kettenglied, x - BreiteKettenglied / 2);
                Canvas.SetTop(kettenglied, y - BreiteKettenglied / 2);
                return(kettenglied);
            }
        }
Пример #2
0
        public KettengliedRegal(int id, double anzahlKisten)
        {
            _id = id;

            var abstandLagerkisten = PositionBestimmen.GetGesamtLaenge(DurchmesserBolzen) / anzahlKisten;

            _hoeheKettenglied = abstandLagerkisten / 3;

            _position = id * abstandLagerkisten;
            SetGeschwindigkeit(0);
        }
Пример #3
0
        internal Label BeschriftungZeichnen(double offset, int inhalt)
        {
            var beschriftung = new Label
            {
                Content  = inhalt,
                FontSize = 14
            };

            var(x, y, _) = PositionBestimmen.ZapfenPositionBerechnen(_position + offset, DurchmesserBolzen);
            Canvas.SetLeft(beschriftung, x + Breitelagerkisted / 2);
            Canvas.SetTop(beschriftung, y);

            return(beschriftung);
        }
Пример #4
0
        internal Ellipse ZapfenZeichnen(double offset, SolidColorBrush farbe)
        {
            var bolzen = new Ellipse
            {
                Width  = DurchmesserBolzen,
                Height = DurchmesserBolzen,
                Fill   = farbe
            };

            var(x, y, _) = PositionBestimmen.ZapfenPositionBerechnen(_position + offset, DurchmesserBolzen);
            Canvas.SetLeft(bolzen, x - DurchmesserBolzen / 2);
            Canvas.SetTop(bolzen, y - DurchmesserBolzen / 2);

            return(bolzen);
        }
Пример #5
0
        internal Rectangle LagerkisteZeichnen(double offset, SolidColorBrush farbe)
        {
            var lagerKiste = new Rectangle
            {
                Width           = Breitelagerkisted,
                Height          = Hoehelagerkiste,
                Stroke          = farbe,
                StrokeThickness = 3
            };

            var(x, y, _) = PositionBestimmen.ZapfenPositionBerechnen(_position + offset, DurchmesserBolzen);
            Canvas.SetLeft(lagerKiste, x - Breitelagerkisted / 2);
            Canvas.SetTop(lagerKiste, y - DurchmesserBolzen / 2);

            return(lagerKiste);
        }
Пример #6
0
 internal double GetGesamtLaenge() => PositionBestimmen.GetGesamtLaenge(DurchmesserBolzen);