• 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 Vehicle<TSteeringCapable, TPassengerCapable, TSteeringHandle, TPassengerHandle>

The
Vehicle
is the definition of all
RoadUser
s that are usable for drivers and their passengers.
Inheritance
System.Object
RoadUser
Vehicle<TSteeringCapable, TPassengerCapable, TSteeringHandle, TPassengerHandle>
Bicycle
Car
WalkingShoes
Ferry
Implements
ISpatialGraphEntity
IEntity
IModelObject
IPositionable
IVehicleEntrance<TSteeringCapable, TPassengerCapable, TSteeringHandle, TPassengerHandle>
Inherited Members
RoadUser.Width
RoadUser.Height
RoadUser.Mass
RoadUser.Acceleration
RoadUser.Velocity
RoadUser.RemainingDistanceOnEdge
RoadUser.Bearing
RoadUser.ID
RoadUser.Length
RoadUser.Position
RoadUser.CurrentEdge
RoadUser.PositionOnCurrentEdge
RoadUser.LaneOnCurrentEdge
RoadUser.IsWrongWayDriving
RoadUser.ModalityType
RoadUser.IsCollidingEntity
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: SOHDomain.Model
Assembly: SOHDomain.dll
Syntax
public abstract class Vehicle<TSteeringCapable, TPassengerCapable, TSteeringHandle, TPassengerHandle> : RoadUser, ISpatialGraphEntity, IEntity, IModelObject, IPositionable, IVehicleEntrance<TSteeringCapable, TPassengerCapable, TSteeringHandle, TPassengerHandle> where TSteeringCapable : ISteeringCapable where TPassengerCapable : IPassengerCapable where TSteeringHandle : ISteeringHandle where TPassengerHandle : IPassengerHandle
Type Parameters
Name Description
TSteeringCapable Defines the capabilities of someone who is able to steer this vehicle.
TPassengerCapable Defines the capabilities of someone who is able to co-drive in this vehicle.
TSteeringHandle Defines the "cockpit" of this vehicle. The steering handle allows to navigate the vehicle.
TPassengerHandle Defines the actions that a passenger have within this vehicle.

Properties

| Improve this Doc View Source

Driver

Gets or sets the driver of this vehicle, which acts at the active agent entity, using the vehicle.
Declaration
public ISteeringCapable Driver { get; set; }
Property Value
Type Description
ISteeringCapable
| Improve this Doc View Source

ExploreDistanceFactor

Gets or sets the factor >= 0 to explore/look forward or backward for other entiy in order to interacting with them.
Declaration
public int ExploreDistanceFactor { get; set; }
Property Value
Type Description
System.Int32
Remarks
This factor need only suitable value in order to check for the most recent case. As greater this value is, as worse execution performance.
| Improve this Doc View Source

IntersectionSpeed

Gets or sets the maximum speed when moving forward and passing an intersection, defined by the Up.
Declaration
public double IntersectionSpeed { get; set; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

MaxAcceleration

Gets or sets the maximum acceleration to increase the speed of this vehicle in meter per squared second (m/s²).
Declaration
public double MaxAcceleration { get; set; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

MaxDeceleration

Gets or sets the maximum deceleration to decrease the speed of this vehicle in meter per squared second (m/s²).
Declaration
public double MaxDeceleration { get; set; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

MaxSpeed

Gets or sets the maximum moving speed limit of this vehicle in meter per second (m/s).
Declaration
public double MaxSpeed { get; set; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

PassengerCapacity

Gets or sets the maximum amount of passenger (without the driver itself) in this vehicle.
Declaration
public int PassengerCapacity { get; set; }
Property Value
Type Description
System.Int32
Remarks
Suitable parameter values are 0, 2, 4,5 seats for default bicycle, or car vehicles.
| Improve this Doc View Source

Passengers

Gets or sets the collection of passenger entered in this vehicle.
Declaration
public List<IPassengerCapable> Passengers { get; set; }
Property Value
Type Description
System.Collections.Generic.List<IPassengerCapable>
| Improve this Doc View Source

RegularTurnSpeed

Gets or sets the maximum speed when turning at a default intersection, defined by the Left or Right.
Declaration
public double RegularTurnSpeed { get; set; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

SharpTurnSpeed

Gets or sets the maximum speed when turning at intersection very sharp, defined by the DownLeft or DownRight.
Declaration
public double SharpTurnSpeed { get; set; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

TrafficCode

Get or sets the intersection behaviour model identified by code when no traffic signals are available "german" = right before left rule "southAfrica" = first in first out (FIFO) rule
Declaration
public string TrafficCode { get; set; }
Property Value
Type Description
System.String
| Improve this Doc View Source

UTurnSpeed

Gets or sets the maximum speed when making a U-turn at an intersection, defined by the Down.
Declaration
public double UTurnSpeed { get; set; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

WideTurnSpeed

Gets or sets the maximum speed when turning at intersection very wide, defined by the UpLeft or UpRight.
Declaration
public double WideTurnSpeed { get; set; }
Property Value
Type Description
System.Double

Methods

| Improve this Doc View Source

CreatePassengerHandle()

Creates a passenger handle that provides access to passenger functionality.
Declaration
protected abstract TPassengerHandle CreatePassengerHandle()
Returns
Type Description
TPassengerHandle A handle for passenger functionality.
| Improve this Doc View Source

CreateSteeringHandle(TSteeringCapable)

Creates a steering handle that provides access to steering functionality.
Declaration
protected abstract TSteeringHandle CreateSteeringHandle(TSteeringCapable driver)
Parameters
Type Name Description
TSteeringCapable driver
Returns
Type Description
TSteeringHandle A handle for steering functionality.
| Improve this Doc View Source

HasFreeCapacity()

The
Vehicle
is the definition of all
RoadUser
s that are usable for drivers and their passengers.
Declaration
public virtual bool HasFreeCapacity()
Returns
Type Description
System.Boolean
| Improve this Doc View Source

IsInRangeToEnterVehicle(IPassengerCapable)

Hook-method to check if entering a vehicle should be allowed, based on the distance between passenger and vehicle.
Declaration
protected virtual bool IsInRangeToEnterVehicle(IPassengerCapable passenger)
Parameters
Type Name Description
IPassengerCapable passenger Of which the distance to this vehicle is tested.
Returns
Type Description
System.Boolean True, if the range check succeeds, false otherwise.
| Improve this Doc View Source

LeaveVehicle(TPassengerCapable)

The
Vehicle
is the definition of all
RoadUser
s that are usable for drivers and their passengers.
Declaration
public virtual void LeaveVehicle(TPassengerCapable passenger)
Parameters
Type Name Description
TPassengerCapable passenger
| Improve this Doc View Source

NotifyPassengers(PassengerMessage)

Notifies all passengers and the driver.
Declaration
public virtual void NotifyPassengers(PassengerMessage passengerMessage)
Parameters
Type Name Description
PassengerMessage passengerMessage Notification message for all passengers.
| Improve this Doc View Source

TryEnterDriver(TSteeringCapable, out TSteeringHandle)

The passenger tries to enter the vehicle in the driver role. On success the driver is able to steer the vehicle with the given handle. ATTENTION:This method only affects the vehicle parameters. The broader context (driver was probably a pedestrian in another environment) has to be taken into consideration and adjusted to the new modal context.
Declaration
public virtual bool TryEnterDriver(TSteeringCapable driver, out TSteeringHandle handle)
Parameters
Type Name Description
TSteeringCapable driver That will drive the vehicle.
TSteeringHandle handle The steering handle that can be used by the driver to control the vehicle.
Returns
Type Description
System.Boolean Whether the driver could enter the vehicle or not.
| Improve this Doc View Source

TryEnterPassenger(TPassengerCapable, out TPassengerHandle)

The passenger tries to enter the vehicle as co-driver. ATTENTION:This method only affects the vehicle parameters. The broader context (passenger was probably a pedestrian in another environment) has to be taken into consideration and adjusted to the new modal context.
Declaration
public virtual bool TryEnterPassenger(TPassengerCapable passenger, out TPassengerHandle handle)
Parameters
Type Name Description
TPassengerCapable passenger That will board the vehicle for transportation.
TPassengerHandle handle The passenger handle that provides the possibility to be moved.
Returns
Type Description
System.Boolean Whether the passenger could enter the vehicle or not.
| Improve this Doc View Source

TurningSpeedFor(DirectionType)

Gets the turning speed when passing an intersection for the given relative target

direction

.
Declaration
public double TurningSpeedFor(DirectionType direction)
Parameters
Type Name Description
DirectionType direction The relative direction compass with
Returns
Type Description
System.Double Returns the maximum speed to adjust in meter per seconds (m/s), used when driving into the target relative

direction

.

Implements

ISpatialGraphEntity
IEntity
IModelObject
IPositionable
IVehicleEntrance<TDriver, TPassenger, TSteeringHandle, TPassengerHandle>

Extension Methods

VehicleConstants.TurningSpeedFor(RoadUser, DirectionType)
  • Improve this Doc
  • View Source
In This Article
Back to top Copyright © MARS GROUP. HAW Hamburg