コード例 #1
0
        public TourWrapper(ITour tour, IPersonDayWrapper personDayWrapper, int purpose, bool suppressRandomVOT)
        {
            _tour = tour;

            _exporter =
                Global
                .ContainerDaySim
                .GetInstance <IPersistenceFactory <ITour> >()
                .Exporter;

            _tourCreator =
                Global
                .ContainerDaySim
                .GetInstance <IWrapperFactory <ITourCreator> >()
                .Creator;

            // relations properties

            Household = personDayWrapper.Household;
            Person    = personDayWrapper.Person;
            PersonDay = personDayWrapper;
            Subtours  = new List <ITourWrapper>();

            SetParcelRelationships(tour);

            // flags/choice model/etc. properties

            SetValueOfTimeCoefficients(purpose, suppressRandomVOT);

            IsHomeBasedTour = true;
            TimeWindow      = new TimeWindow();
        }
コード例 #2
0
        public TourWrapper(ITour subtour, ITourWrapper tourWrapper, int purpose, bool suppressRandomVOT)
        {
            _tour = subtour;

            _exporter =
                Global
                .ContainerDaySim
                .GetInstance <IPersistenceFactory <ITour> >()
                .Exporter;

            _tourCreator =
                Global
                .ContainerDaySim
                .GetInstance <IWrapperFactory <ITourCreator> >()
                .Creator;

            // relations properties

            Household  = tourWrapper.Household;
            Person     = tourWrapper.Person;
            PersonDay  = tourWrapper.PersonDay;
            ParentTour = tourWrapper;

            SetParcelRelationships(subtour);

            // flags/choice model/etc. properties

            SetValueOfTimeCoefficients(purpose, suppressRandomVOT);
        }
コード例 #3
0
        public TourWrapper(ITour tour, IPersonWrapper personWrapper, IPersonDayWrapper personDayWrapper, IParcelWrapper originParcel, IParcelWrapper destinationParcel, int destinationArrivalTime, int destinationDepartureTime, int destinationPurpose)
        {
            _tour = tour;

            _exporter =
                Global
                .ContainerDaySim.GetInstance <IPersistenceFactory <ITour> >()
                .Exporter;

            _tourCreator =
                Global
                .ContainerDaySim
                .GetInstance <IWrapperFactory <ITourCreator> >()
                .Creator;

            // relations properties

            Household = personWrapper.Household;
            Person    = personWrapper;
            PersonDay = personDayWrapper;

            OriginParcel             = originParcel;
            DestinationParcel        = destinationParcel;
            DestinationPurpose       = destinationPurpose;
            DestinationArrivalTime   = destinationArrivalTime;
            DestinationDepartureTime = destinationDepartureTime;
            DestinationPurpose       = destinationPurpose;

            // flags/choice model/etc. properties

            SetValueOfTimeCoefficients(destinationPurpose, true);
        }
コード例 #4
0
ファイル: PersonWrapper.cs プロジェクト: RSGInc/Daysim-Actum
        public PersonWrapper(IPerson person, IHouseholdWrapper householdWrapper)
        {
            _person = person;

            _exporter =
                Global
                .Kernel
                .Get <IPersistenceFactory <IPerson> >()
                .Exporter;

            // relations properties

            Household = householdWrapper;

            SetParcelRelationships();

            // domain model properies

            SetExpansionFactor();

            // flags/choice model/etc. properties

            IsFullOrPartTimeWorker    = PersonType <= Global.Settings.PersonTypes.PartTimeWorker;
            IsFulltimeWorker          = PersonType == Global.Settings.PersonTypes.FullTimeWorker;
            IsPartTimeWorker          = PersonType == Global.Settings.PersonTypes.PartTimeWorker;
            IsNotFullOrPartTimeWorker = PersonType > Global.Settings.PersonTypes.PartTimeWorker;
            IsStudentAge         = PersonType >= Global.Settings.PersonTypes.UniversityStudent;
            IsRetiredAdult       = PersonType == Global.Settings.PersonTypes.RetiredAdult;
            IsNonworkingAdult    = PersonType == Global.Settings.PersonTypes.NonWorkingAdult;
            IsUniversityStudent  = PersonType == Global.Settings.PersonTypes.UniversityStudent;
            IsDrivingAgeStudent  = PersonType == Global.Settings.PersonTypes.DrivingAgeStudent;
            IsChildAge5Through15 = PersonType == Global.Settings.PersonTypes.ChildAge5Through15;
            IsChildUnder5        = PersonType == Global.Settings.PersonTypes.ChildUnder5;
            IsChildUnder16       = PersonType >= Global.Settings.PersonTypes.ChildAge5Through15;
            IsAdult             = PersonType < Global.Settings.PersonTypes.DrivingAgeStudent;
            IsWorker            = WorkerType > 0;
            IsStudent           = StudentType > 0;
            IsFemale            = Gender == Global.Settings.PersonGenders.Female;
            IsMale              = Gender == Global.Settings.PersonGenders.Male;
            IsAdultFemale       = IsFemale && IsAdult;
            IsAdultMale         = IsMale && IsAdult;
            IsDrivingAge        = PersonType <= Global.Settings.PersonTypes.DrivingAgeStudent;
            AgeIsBetween18And25 = person.Age.IsBetween(18, 25);
            AgeIsBetween26And35 = person.Age.IsBetween(26, 35);
            AgeIsBetween51And65 = person.Age.IsBetween(51, 65);
            AgeIsBetween51And98 = person.Age.IsBetween(51, 98);
            AgeIsLessThan35     = person.Age < 35;
            AgeIsLessThan30     = person.Age < 30;
            WorksAtHome         = UsualWorkParcelId == Household.ResidenceParcelId;
            IsYouth             = IsChildAge5Through15 || IsDrivingAgeStudent;
        }
コード例 #5
0
        public PartialHalfTourWrapper(IPartialHalfTour partialHalfTour, IHouseholdDayWrapper householdDayWrapper)
        {
            _partialHalfTour = partialHalfTour;

            _exporter =
                Global
                .ContainerDaySim.GetInstance <IPersistenceFactory <IPartialHalfTour> >()
                .Exporter;

            // relations properties

            Household    = householdDayWrapper.Household;
            HouseholdDay = householdDayWrapper;
        }
コード例 #6
0
ファイル: JointTourWrapper.cs プロジェクト: sdrewc/DaySim
        public JointTourWrapper(IJointTour jointTour, IHouseholdDayWrapper householdDayWrapper)
        {
            _jointTour = jointTour;

            _exporter =
                Global
                .ContainerDaySim.GetInstance <IPersistenceFactory <IJointTour> >()
                .Exporter;

            // relations properties

            Household    = householdDayWrapper.Household;
            HouseholdDay = householdDayWrapper;
        }
コード例 #7
0
        public JointTourWrapper(IJointTour jointTour, IHouseholdDayWrapper householdDayWrapper)
        {
            _jointTour = jointTour;

            _exporter =
                Global
                .Kernel
                .Get <IPersistenceFactory <IJointTour> >()
                .Exporter;

            // relations properties

            Household    = householdDayWrapper.Household;
            HouseholdDay = householdDayWrapper;
        }
コード例 #8
0
        public FullHalfTourWrapper(IFullHalfTour fullHalfTour, IHouseholdDayWrapper householdDayWrapper)
        {
            _fullHalfTour = fullHalfTour;

            _exporter =
                Global
                .Kernel
                .Get <IPersistenceFactory <IFullHalfTour> >()
                .Exporter;

            // relations properties

            Household    = householdDayWrapper.Household;
            HouseholdDay = householdDayWrapper;
        }
コード例 #9
0
ファイル: PersistenceFactory.cs プロジェクト: sdrewc/DaySim
        public void Initialize(Configuration configuration)
        {
            var helper = new FactoryHelper(configuration);

            var type1 = helper.Persistence.GetModelType <TModel>();
            var type2 = helper.Persistence.GetPersisterType <TModel>();

            var args        = new[] { type1 };
            var constructed = type2.MakeGenericType(args);

            _persister = (IDisposable)Activator.CreateInstance(constructed);

            Reader   = (IPersisterReader <TModel>)_persister;
            Importer = (IPersisterImporter)_persister;
            Exporter = (IPersisterExporter)_persister;
        }
コード例 #10
0
        public PersonDayWrapper(IPersonDay personDay, IPersonWrapper personWrapper, IHouseholdDayWrapper householdDayWrapper)
        {
            _personDay = personDay;

            _exporter =
                Global
                .Kernel
                .Get <IPersistenceFactory <IPersonDay> >()
                .Exporter;

            // person day fields

            _personDayCreator =
                Global
                .Kernel
                .Get <IWrapperFactory <IPersonDayCreator> >()
                .Creator;

            // tour fields

            _tourReader =
                Global
                .Kernel
                .Get <IPersistenceFactory <ITour> >()
                .Reader;

            _tourCreator =
                Global
                .Kernel
                .Get <IWrapperFactory <ITourCreator> >()
                .Creator;

            // relations properties

            Household    = personWrapper.Household;
            Person       = personWrapper;
            HouseholdDay = householdDayWrapper;

            // domain model properies

            SetExpansionFactor();

            // flags/choice model/etc. properties

            TimeWindow = new TimeWindow();
        }
コード例 #11
0
        public HouseholdWrapper(IHousehold household)
        {
            _household = household;

            _exporter =
                Global
                .Kernel
                .Get <IPersistenceFactory <IHousehold> >()
                .Exporter;

            // person fields

            _personReader =
                Global
                .Kernel
                .Get <IPersistenceFactory <IPerson> >()
                .Reader;

            _personCreator =
                Global
                .Kernel
                .Get <IWrapperFactory <IPersonCreator> >()
                .Creator;

            // household day fields

            _householdDayReader =
                Global
                .Kernel
                .Get <IPersistenceFactory <IHouseholdDay> >()
                .Reader;

            _householdDayCreator =
                Global
                .Kernel
                .Get <IWrapperFactory <IHouseholdDayCreator> >()
                .Creator;

            RandomUtility = new RandomUtility();
        }
コード例 #12
0
        public TripWrapper(ITrip trip, ITourWrapper tourWrapper, IHalfTour halfTour)
        {
            _trip = trip;

            _exporter =
                Global
                .ContainerDaySim.GetInstance <IPersistenceFactory <ITrip> >()
                .Exporter;

            // relations properties

            Household = tourWrapper.Household;
            Person    = tourWrapper.Person;
            PersonDay = tourWrapper.PersonDay;
            Tour      = tourWrapper;
            HalfTour  = halfTour;

            SetParcelRelationships(trip);

            // flags/choice model/etc. properties

            IsHalfTourFromOrigin = Direction == Global.Settings.TourDirections.OriginToDestination;
        }
コード例 #13
0
        public HouseholdDayWrapper(IHouseholdDay householdDay, IHouseholdWrapper householdWrapper)
        {
            _householdDay = householdDay;

            _exporter =
                Global
                .Kernel
                .Get <IPersistenceFactory <IHouseholdDay> >()
                .Exporter;

            // household day fields

            _householdDayCreator =
                Global
                .Kernel
                .Get <IWrapperFactory <IHouseholdDayCreator> >()
                .Creator;

            // person day fields

            _personDayReader =
                Global
                .Kernel
                .Get <IPersistenceFactory <IPersonDay> >()
                .Reader;

            _personDayCreator =
                Global
                .Kernel
                .Get <IWrapperFactory <IPersonDayCreator> >()
                .Creator;

            // joint tour fields

            _jointTourReader =
                Global
                .Kernel
                .Get <IPersistenceFactory <IJointTour> >()
                .Reader;

            _jointTourCreator =
                Global
                .Kernel
                .Get <IWrapperFactory <IJointTourCreator> >()
                .Creator;

            // full half tour fields

            _fullHalfTourReader =
                Global
                .Kernel
                .Get <IPersistenceFactory <IFullHalfTour> >()
                .Reader;

            _fullHalfTourCreator =
                Global
                .Kernel
                .Get <IWrapperFactory <IFullHalfTourCreator> >()
                .Creator;

            // partial half tour fields

            _partialHalfTourReader =
                Global
                .Kernel
                .Get <IPersistenceFactory <IPartialHalfTour> >()
                .Reader;

            _partialHalfTourCreator =
                Global
                .Kernel
                .Get <IWrapperFactory <IPartialHalfTourCreator> >()
                .Creator;

            // relations properties

            Household = householdWrapper;

            SetPersonDays();

            // domain model properies

            SetExpansionFactor();

            if (!Global.Settings.UseJointTours)
            {
                return;
            }

            SetJointTours();
            SetFullHalfTours();
            SetPartialHalfTours();
        }