internal static void DefineElementsPoints(MappedTopology mappedTopology)
        {
            FuelDispensersDestPoints = mappedTopology.FuelDispensersDestPoints;
            CashCounter = mappedTopology.CashCounterDestinationPoint;

            var enter       = mappedTopology.Enter;
            var exit        = mappedTopology.Exit;
            var serviceArea = mappedTopology.ServiceArea;

            RefuellerSpawnPoint = new Point(RightPlaygroundBorder + ElementSizeDefiner.RefuellerWidth + 20,
                                            serviceArea.Bottom + ElementSizeDefiner.RefuellerHeight + 5);

            // Destination points to enter/leave gas station
            EnterCenter = new Point(enter.Left + enter.Width / 2,
                                    enter.Top + enter.Height / 2);
            ExitCenter = new Point(exit.Left + exit.Width / 2,
                                   exit.Top + exit.Height / 2);

            EnterPoint1 = new Point(SpawnPoint.X - 200, FilledHorizontalLine);
            EnterPoint2 = new Point(enter.Left + 10, EnterCenter.Y + enter.Height);
            EnterPoint3 = new Point(enter.Left + 10, enter.Top - enter.Height - 5);

            ExitPoint1 = new Point(ExitCenter.X, ExitCenter.Y - exit.Height);
            ExitPoint2 = new Point(ExitCenter.X, exit.Bottom + ElementSizeDefiner.CarHeight + 5);
            ExitPoint3 = new Point(exit.Left - 10, exit.Bottom + 2 * ElementSizeDefiner.CarHeight);
        }
        public ModelingForm(Topology.Topology topology, TrafficFlow trafficFlow)
        {
            InitializeComponent();
            RemoveUnusedControls();
            DefineProperties();
            LocateFormElements();
            SetUpModelingTimeManager(timerModeling);

            ElementSizeDefiner.TopologyCellSize = 50;

            ClickEventProvider.SetUpClickEventProvider(this);
            pictureBoxPauseAndPlay.MouseClick += ClickEventProvider.PictureBoxPauseAndPlay_Click;

            _mappedTopology = TopologyMapper.MapTopology(this, topology, trafficFlow);

            ModelingProcessor.SetUpModelingProcessor(this, _mappedTopology);

            // not implemented
            labelTotalTime.Hide();
            labelTotalTimeValue.Hide();
            // /not implemented
        }