예제 #1
0
        static void addAtomsToRoute(Route route, AtomGenerator generator, int count)
        {
            for (int i = 0; i < count; i++)
            {
                double scatterLength = 0.0000;
                double offset        = Util.rand.NextDouble();

                double firstLegDeltaX = route.routePoints[1].x - route.routePoints[0].x;
                double firstLegDeltaY = route.routePoints[1].y - route.routePoints[0].y;

                double length = Math.Sqrt(firstLegDeltaX * firstLegDeltaX + firstLegDeltaY * firstLegDeltaY);

                double scatterX = (scatterLength / length) * firstLegDeltaX;
                double scatterY = (scatterLength / length) * firstLegDeltaY;

                AtomObject atom = new AtomObject(route.name + i, 0, route.routePoints[0].x - scatterX * offset, route.routePoints[0].y - scatterY * offset);

                // generate new random number for start time - for now between 0:01 to 1:30
                int minutes = Util.rand.Next(2);
                int seconds = Util.rand.Next(1, 60);
                int speed   = Util.rand.Next(3, 11);

                String   secondsString = seconds >= 10 ? seconds.ToString() : "0" + seconds;
                Activity activity      = new Activity(100 + i, atom.guid, 1, 1, "00:0" + minutes + ":" + secondsString,
                                                      "00:00:01", speed, route.guid, route.routePoints[0].x, route.routePoints[0].y);
                generator.createAtom(atom);
                generator.createActivityToAtom(activity, atom);
                generator.addAtomToTreeObject(atom);
            }
        }
예제 #2
0
파일: Program.cs 프로젝트: ohadmanor/TDS
        static void addAtomsToRoute(Route route, AtomGenerator generator, int count)
        {
            for (int i = 0; i < count; i++)
            {
                double scatterLength = 0.0000;
                double offset = Util.rand.NextDouble();

                double firstLegDeltaX = route.routePoints[1].x - route.routePoints[0].x;
                double firstLegDeltaY = route.routePoints[1].y - route.routePoints[0].y;

                double length = Math.Sqrt(firstLegDeltaX * firstLegDeltaX + firstLegDeltaY * firstLegDeltaY);

                double scatterX = (scatterLength / length) * firstLegDeltaX;
                double scatterY = (scatterLength / length) * firstLegDeltaY;

                AtomObject atom = new AtomObject(route.name + i, 0, route.routePoints[0].x - scatterX*offset, route.routePoints[0].y - scatterY*offset);

                // generate new random number for start time - for now between 0:01 to 1:30
                int minutes = Util.rand.Next(2);
                int seconds = Util.rand.Next(1, 60);
                int speed = Util.rand.Next(3, 11);

                String secondsString = seconds >= 10 ? seconds.ToString() : "0" + seconds;
                Activity activity = new Activity(100 + i, atom.guid, 1, 1, "00:0" + minutes + ":" + secondsString,
                                                 "00:00:01", speed, route.guid, route.routePoints[0].x, route.routePoints[0].y);
                generator.createAtom(atom);
                generator.createActivityToAtom(activity, atom);
                generator.addAtomToTreeObject(atom);
            }
        }
예제 #3
0
        private static void addAtoms(String connectionParams)
        {
            NpgsqlConnection connection = new NpgsqlConnection(connectionParams);

            connection.Open();
            NpgsqlTransaction transaction = connection.BeginTransaction();

            try
            {
                RoutesReader   routesReader   = new RoutesReader(connection);
                AtomGenerator  generator      = new AtomGenerator(connection);
                RouteGenerator routeGenerator = new RouteGenerator(connection);

                generator.deleteAllAtomsAndActivities();
                //Route source1 = routesReader.readRouteByName("Escape3");
                //Route source2 = routesReader.readRouteByName("Escape3_reversed");
                //Route source3 = routesReader.readRouteByName("Source3");
                //Route cornerRoute = routesReader.readRouteByName("Corner");

                //addAtomsToRoute(source1, generator, 100);
                //addAtomsToRoute(source2, generator, 100);
                //addAtomsToRoute(source3, generator, 100);
                //addAtomsToRoute(cornerRoute, generator);
                //AtomObject ambulance = new AtomObject("Ambulance1", -1, 34.8514473088014, 32.1008536878526);
                //generator.createAtom(ambulance);
                //generator.addAtomToTreeObject(ambulance);

                //routeGenerator.generateReversedRoute("Escape3");

                transaction.Commit();
            }
            catch (Exception exception)
            {
                try
                {
                    transaction.Rollback();
                }
                catch (Exception rollbackException)
                {
                    Console.WriteLine("Rollback failed :(");
                }
            }

            connection.Close();
        }
예제 #4
0
파일: Program.cs 프로젝트: ohadmanor/TDS
        private static void addAtoms(String connectionParams)
        {
            NpgsqlConnection connection = new NpgsqlConnection(connectionParams);
            connection.Open();
            NpgsqlTransaction transaction = connection.BeginTransaction();

            try
            {

                RoutesReader routesReader = new RoutesReader(connection);
                AtomGenerator generator = new AtomGenerator(connection);
                RouteGenerator routeGenerator = new RouteGenerator(connection);

                generator.deleteAllAtomsAndActivities();
                Route source1 = routesReader.readRouteByName("Escape3");
                Route source2 = routesReader.readRouteByName("Escape3_reversed");
                //Route source3 = routesReader.readRouteByName("Source3");
                //Route cornerRoute = routesReader.readRouteByName("Corner");

                //addAtomsToRoute(source1, generator, 100);
                //addAtomsToRoute(source2, generator, 100);
                //addAtomsToRoute(source3, generator, 100);
                //addAtomsToRoute(cornerRoute, generator);
                //AtomObject ambulance = new AtomObject("Ambulance1", -1, 34.8514473088014, 32.1008536878526);
                //generator.createAtom(ambulance);
                //generator.addAtomToTreeObject(ambulance);

                //routeGenerator.generateReversedRoute("Escape3");

                transaction.Commit();
            }
            catch (Exception exception)
            {
                try
                {
                    transaction.Rollback();
                }
                catch (Exception rollbackException)
                {
                    Console.WriteLine("Rollback failed :(");
                }
            }

            connection.Close();
        }