• MARS Website
  • 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
System.Object
MultimodalAgent<TLayer>
MultiCapableAgent<TLayer>
Implements
IAgent<TLayer>
IModalCapabilitiesAgent
IAgent
ITickClient
IEntity
IModelObject
IPassengerCapable
IPositionable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: SOHMultimodalModel.Multimodal
Assembly: SOHMultimodalModel.dll
Syntax
public abstract class MultimodalAgent<TLayer> : IAgent<TLayer>, IModalCapabilitiesAgent, IAgent, ITickClient, IEntity, IModelObject, IPassengerCapable, IPositionable where TLayer : IMultimodalLayer
Type Parameters
Name Description
TLayer

Properties

| Improve this Doc View Source

ActiveSteering

The currently used and thus active steering handle. Is never null.
Declaration
protected ISteeringHandle ActiveSteering { get; set; }
Property Value
Type Description
ISteeringHandle
| Improve this Doc View Source

Context

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.
Declaration
public ISimulationContext Context { get; }
Property Value
Type Description
ISimulationContext
| Improve this Doc View Source

CurrentMultimodalRouteStartTime

Contains the System.DateTime of the moment a new MultimodalRoute is assigned
Declaration
protected DateTime CurrentMultimodalRouteStartTime { get; }
Property Value
Type Description
System.DateTime
| Improve this Doc View Source

DistanceStartGoal

Provides the steering handle that is used whenever another active steering is invalidated. In urban cases that could be a walking steering.
Declaration
public double DistanceStartGoal { get; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

GoalReached

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.
Declaration
public bool GoalReached { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

GoalX

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.
Declaration
public double GoalX { get; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

GoalY

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.
Declaration
public double GoalY { get; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

ID

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.
Declaration
public Guid ID { get; set; }
Property Value
Type Description
System.Guid
| Improve this Doc View Source

ModalChoices

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.
Declaration
public ISet<ModalChoice> ModalChoices { get; protected set; }
Property Value
Type Description
System.Collections.Generic.ISet<ModalChoice>
| Improve this Doc View Source

MultimodalLayer

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

MultimodalRoute

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.
Declaration
public MultimodalRoute MultimodalRoute { get; set; }
Property Value
Type Description
MultimodalRoute
| Improve this Doc View Source

Offside

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.
Declaration
protected bool Offside { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

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
| Improve this Doc View Source

Position

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.
Declaration
public Position Position { get; set; }
Property Value
Type Description
Position
| Improve this Doc View Source

RouteLength

The full length ot the multimodal route.
Declaration
public int RouteLength { get; }
Property Value
Type Description
System.Int32
| Improve this Doc View Source

RouteMainModalChoice

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.
Declaration
public ModalChoice RouteMainModalChoice { get; }
Property Value
Type Description
ModalChoice
| Improve this Doc View Source

SimulationTime

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.
Declaration
protected DateTime SimulationTime { get; }
Property Value
Type Description
System.DateTime
| Improve this Doc View Source

StableId

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.
Declaration
public int StableId { get; set; }
Property Value
Type Description
System.Int32
| Improve this Doc View Source

StartX

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.
Declaration
public double StartX { get; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

StartY

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.
Declaration
public double StartY { get; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

Velocity

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.
Declaration
public double Velocity { get; set; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

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

| Improve this Doc View Source

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.
| Improve this Doc View Source

Init(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.
Declaration
public virtual void Init(TLayer layer)
Parameters
Type Name Description
TLayer layer
| Improve this Doc View Source

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.
| Improve this Doc View Source

Move()

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.
Declaration
public virtual void Move()
| Improve this Doc View Source

Notify(PassengerMessage)

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.
Declaration
public abstract void Notify(PassengerMessage passengerMessage)
Parameters
Type Name Description
PassengerMessage passengerMessage
| Improve this Doc View Source

ReRouteToGoal()

Reroutes with new switching points and appends to multimodal route. Then sets active steering route.
Declaration
protected void ReRouteToGoal()
| Improve this Doc View Source

ResetOutputProperties()

Hook method for output properties.
Declaration
protected virtual void ResetOutputProperties()
| Improve this Doc View Source

Tick()

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.
Declaration
public abstract void Tick()
| Improve this Doc View Source

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
| Improve this Doc View Source

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
| Improve this Doc View Source

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

IAgent<TLayer>
IModalCapabilitiesAgent
IAgent
ITickClient
IEntity
IModelObject
IPassengerCapable
IPositionable
  • Improve this Doc
  • View Source
In This Article
Back to top Copyright © MARS GROUP. HAW Hamburg