• Documentation
  • Core API
  • SmartOpenHamburg API
  • Model Components API
  • Common API

    Show / Hide Table of Contents
    • SOHBicycleModel.Common
      • BicycleConstants
      • BicycleType
      • DriverType
      • HandleBicycleType
      • HandleDriverType
    • SOHBicycleModel.Model
      • Bicycle
    • SOHBicycleModel.Parking
      • BicycleParkingLayer
      • BicycleParkingLot
      • IBicycleParkingLayer
    • SOHBicycleModel.Rental
      • BicycleRentalLayer
      • BicycleRentalStation
      • IBicycleRentalLayer
      • IBicycleSteeringAndRentalCapable
      • IRentalBicycle
      • RentalBicycle
    • SOHBicycleModel.Steering
      • BicyclePassengerHandle
      • BicycleSteeringHandle
      • IBicycleSteeringCapable
      • WiedemannAccelerator
      • WiedemannAccelerator.WiedemannAcceleratorParameters
    • SOHCarModel.Common
      • CarRouteFinder
    • SOHCarModel.Model
      • Car
      • CarDriver
      • CarLayer
      • Golf
      • ICarLayer
      • RentalCar
    • SOHCarModel.Parking
      • CarParkingLayer
      • CarParkingSpace
      • ICarParkingLayer
      • IParkingCar
    • SOHCarModel.Rental
      • CarRentalLayer
      • ICarRentalCapable
      • ICarRentalLayer
    • SOHCarModel.Steering
      • CarPassengerHandle
      • CarSteeringHandle
      • ICarSteeringCapable
    • SOHDomain.Common
      • HumanVelocityConstants
      • NormalDist
      • OsmFeatureCodes
      • OsmGroups
      • VehicleConstants
    • SOHDomain.Graph
      • ISpatialGraphLayer
      • SidewalkLayer
      • SpatialGraphMediatorLayer
      • StreetLayer
    • SOHDomain.Model
      • IModalLayer
      • IVehicleEntrance<TDriver, TPassenger, TSteeringHandle, TPassengerHandle>
      • RoadUser
      • Vehicle<TSteeringCapable, TPassengerCapable, TSteeringHandle, TPassengerHandle>
      • WalkingShoes
    • SOHDomain.Steering.Acceleration
      • IntelligentDriverAccelerator
      • IVehicleAccelerator
      • WalkingAccelerator
    • SOHDomain.Steering.Capables
      • IPassengerCapable
      • ISteeringCapable
      • IWalkingCapable
    • SOHDomain.Steering.Common
      • PassengerMessage
    • SOHDomain.Steering.Handles
      • IdlePassengerSteeringHandle
      • IPassengerHandle
      • ISteeringHandle
      • VehiclePassengerHandle<TSteeringCapable, TPassengerCapable, TSteeringHandle, TPassengerHandle>
      • VehicleSteeringHandle<TSteeringCapable, TPassengerCapable, TSteeringHandle, TPassengerHandle>
      • WalkingSteeringHandle
    • SOHDomain.Steering.Handles.Intersection
      • AbstractIntersectionHandle<TSteeringCapable, TPassengerCapable, TSteeringHandle, TPassengerHandle>
      • FifoIntersectionHandle<TSteeringCapable, TPassengerCapable, TSteeringHandle, TPassengerHandle>
      • IIntersectionTrafficCode
      • RightBeforeLeftIntersectionHandle<TSteeringCapable, TPassengerCapable, TSteeringHandle, TPassengerHandle>
    • SOHFerryModel.Model
      • Ferry
      • FerryDriver
      • FerryLayer
      • FerrySchedulerLayer
    • SOHFerryModel.Route
      • FerryRoute
      • FerryRoute.FerryRouteEnumerator
      • FerryRouteEntry
      • FerryRouteLayer
      • FerryRouteReader
    • SOHFerryModel.Station
      • FerryStation
      • FerryStationLayer
      • IFerryStationLayer
    • SOHFerryModel.Steering
      • FerryPassengerHandle
      • FerrySteeringHandle
      • IFerryPassenger
      • IFerrySteeringCapable
    • SOHMultimodalModel.Commons
      • PedestrianAverageSpeedGenerator
      • PointOfInterest
    • SOHMultimodalModel.Layers
      • MediatorLayer
      • VectorBuildingsLayer
      • VectorLanduseLayer
      • VectorPoiLayer
      • VectorServiceLayer
    • SOHMultimodalModel.Layers.TrafficLight
      • TrafficLight
      • TrafficLightController
      • TrafficLightLayer
    • SOHMultimodalModel.Model
      • Citizen
      • CitizenLayer
      • CitizenSchedulerLayer
      • CycleTraveler
      • CycleTravelerLayer
      • CycleTravelerSchedulerLayer
      • DockWorker
      • DockWorkerLayer
      • DockWorkerSchedulerLayer
      • GenderType
      • HumanTraveler
      • HumanTravelerLayer
      • ModalityChooser
      • MultiCapableAgent<TLayer>
      • PassengerTraveler
      • PassengerTravelerLayer
      • Traveler<TLayer>
      • TravelerConstants
      • WorkingType
    • SOHMultimodalModel.Multimodal
      • AbstractMultimodalLayer
      • IMultimodalLayer
      • IMultimodalRouteFinder
      • MultimodalAgent<TLayer>
      • Whereabouts
    • SOHMultimodalModel.Output.Route
      • MultimodalRouteOutputAdapter
    • SOHMultimodalModel.Output.Ticks
      • ITickOutputAgent
      • TickOutputAdapter
    • SOHMultimodalModel.Output.Trips
      • ITripSavingAgent
      • TripPositionCoordinateConverter
      • TripsLine
      • TripsLineConverter
      • TripsOutputAdapter
    • SOHMultimodalModel.Planning
      • DayPlanGenerator
      • Tour
      • Trip
      • TripReason
    • SOHMultimodalModel.Routing
      • GatewayLayer
      • GatewayPoint
      • MultimodalRouteCommons
      • MultimodalRouteFinder
      • WalkingCarDrivingRentalMultimodalRoute
      • WalkingDrivingMultimodalRoute
      • WalkingFerryDrivingMultimodalRoute
      • WalkingMultimodalRoute
      • WalkingTrainDrivingMultimodalRoute
    • SOHMultimodalModel.Steering
      • IWalkingRoadUser

    Class MultimodalAgent<TLayer>

    The multimodal agent can handle any modal type and thus any change between modal types. It has a representational road user that holds physical sizes and is placed in the environment.
    Inheritance
    IAgent<TLayer>
    MultimodalAgent<TLayer>
    MultiCapableAgent<TLayer>
    Implements
    IModalCapabilitiesAgent
    IPassengerCapable
    Namespace: SOHMultimodalModel.Multimodal
    Assembly: SOHMultimodalModel.dll
    Syntax
    public abstract class MultimodalAgent<TLayer> : IAgent<TLayer>, IModalCapabilitiesAgent, IPassengerCapable where TLayer : IMultimodalLayer
    Type Parameters
    Name Description
    TLayer

    Properties

    Context

    Declaration
    public ISimulationContext Context { get; }
    Property Value
    Type Description
    ISimulationContext

    ID

    Declaration
    public Guid ID { get; set; }
    Property Value
    Type Description
    Guid

    ModalChoices

    Declaration
    public ISet<ModalChoice> ModalChoices { get; protected set; }
    Property Value
    Type Description
    ISet<ModalChoice>

    MultimodalLayer

    Gets the multimodal layer which manage this entity.
    Declaration
    public IMultimodalLayer MultimodalLayer { get; set; }
    Property Value
    Type Description
    IMultimodalLayer

    Offside

    Declaration
    protected bool Offside { get; }
    Property Value
    Type Description
    System.Boolean

    OnSidewalk

    Determines whether the agent is inserted in the primary steering environment or not
    Declaration
    protected bool OnSidewalk { get; }
    Property Value
    Type Description
    System.Boolean

    Position

    Declaration
    public Position Position { get; set; }
    Property Value
    Type Description
    Position

    RouteLength

    The full length ot the multimodal route.
    Declaration
    public int RouteLength { get; }
    Property Value
    Type Description
    System.Int32

    RouteMainModalChoice

    Declaration
    public ModalChoice RouteMainModalChoice { get; }
    Property Value
    Type Description
    ModalChoice

    SimulationTime

    Declaration
    protected DateTime SimulationTime { get; }
    Property Value
    Type Description
    DateTime

    StableId

    Declaration
    public int StableId { get; set; }
    Property Value
    Type Description
    System.Int32

    Velocity

    Declaration
    public double Velocity { get; set; }
    Property Value
    Type Description
    System.Double

    Whereabouts

    Determines if the agent is on the sidewalk (walking), in a vehicle (driving or co-driving) or outside of all environments.
    Declaration
    public Whereabouts Whereabouts { get; }
    Property Value
    Type Description
    Whereabouts

    Methods

    EnterModalType(ModalChoice, Route)

    The agent has to enter into given modal type.
    Declaration
    protected abstract bool EnterModalType(ModalChoice modalChoice, Route route)
    Parameters
    Type Name Description
    ModalChoice modalChoice that should be the next active modal type.
    Route route that should be the next active route.
    Returns
    Type Description
    System.Boolean Success of switching.

    Init(TLayer)

    Declaration
    public virtual void Init(TLayer layer)
    Parameters
    Type Name Description
    TLayer layer

    LeaveModalType(ModalChoice)

    The agent has to leave given modal type.
    Declaration
    protected abstract bool LeaveModalType(ModalChoice modalChoice)
    Parameters
    Type Name Description
    ModalChoice modalChoice that will be left.
    Returns
    Type Description
    System.Boolean Success of leaving.

    Move()

    Declaration
    public virtual void Move()

    Notify(PassengerMessage)

    Declaration
    public abstract void Notify(PassengerMessage passengerMessage)
    Parameters
    Type Name Description
    PassengerMessage passengerMessage

    ReRouteToGoal()

    Reroutes with new switching points and appends to multimodal route. Then sets active steering route.
    Declaration
    protected void ReRouteToGoal()

    Tick()

    Declaration
    public abstract void Tick()

    TryEnterVehicleAsDriver<TSteeringCapable, TSteeringHandle, TPassengerHandle>(Vehicle<TSteeringCapable, IPassengerCapable, TSteeringHandle, TPassengerHandle>, TSteeringCapable)

    Tries to enter a vehicle as the driver. If this succeeds, the pedestrian leaves the sidewalk (switch of modal context) and sets a new route.
    Declaration
    public bool TryEnterVehicleAsDriver<TSteeringCapable, TSteeringHandle, TPassengerHandle>(Vehicle<TSteeringCapable, IPassengerCapable, TSteeringHandle, TPassengerHandle> vehicle, TSteeringCapable driver)
        where TSteeringCapable : ISteeringCapable where TSteeringHandle : ISteeringHandle where TPassengerHandle : IPassengerHandle
    Parameters
    Type Name Description
    Vehicle<TSteeringCapable, IPassengerCapable, TSteeringHandle, TPassengerHandle> vehicle That should be entered.
    TSteeringCapable driver Who wants to enter the vehicle.
    Returns
    Type Description
    System.Boolean Whether the operation was successful or not.
    Type Parameters
    Name Description
    TSteeringCapable
    TSteeringHandle
    TPassengerHandle

    TryEnterVehicleAsPassenger<TSteeringCapable, TSteeringHandle, TPassengerHandle>(Vehicle<TSteeringCapable, IPassengerCapable, TSteeringHandle, TPassengerHandle>, ISteeringCapable)

    Tries to enter a vehicle as a passengerCapable. If this succeeds, the pedestrian leaves the sidewalk (switch of modal context).
    Declaration
    public bool TryEnterVehicleAsPassenger<TSteeringCapable, TSteeringHandle, TPassengerHandle>(Vehicle<TSteeringCapable, IPassengerCapable, TSteeringHandle, TPassengerHandle> vehicle, ISteeringCapable passenger)
        where TSteeringCapable : ISteeringCapable where TSteeringHandle : ISteeringHandle where TPassengerHandle : IPassengerHandle
    Parameters
    Type Name Description
    Vehicle<TSteeringCapable, IPassengerCapable, TSteeringHandle, TPassengerHandle> vehicle That should be entered.
    ISteeringCapable passenger Who wants to enter the vehicle.
    Returns
    Type Description
    System.Boolean Whether the operation was successful or not.
    Type Parameters
    Name Description
    TSteeringCapable
    TSteeringHandle
    TPassengerHandle

    TryLeaveVehicle(IPassengerCapable)

    Leaves the current vehicle and enters the sidewalk.
    Declaration
    public bool TryLeaveVehicle(IPassengerCapable passengerCapable)
    Parameters
    Type Name Description
    IPassengerCapable passengerCapable Who wants to leave the vehicle.
    Returns
    Type Description
    System.Boolean Whether the operation was successful or not.

    Implements

    IModalCapabilitiesAgent
    IPassengerCapable
    Back to top Copyright © MARS GROUP.
    HAW Hamburg