/************************************************************************************ * Copyright (C) 2008 by Politehnica University of Bucharest and Rutgers University * All rights reserved. * Refer to LICENSE for terms and conditions of use. ***********************************************************************************/ package vnsim.vehicular.simulator; public interface Personality { public double getSafetyDistance(double speed); //lower is unsafe --> braking public double getInfluenceDistance(double speed); //higher = no influence at all public double getDesiredDistance(double speed); //desired following distance //(less than the influence distance, more than the safety distance) //return the distance from the car BEHIND on another lane considered //safe, so that this driver can change lane just IN FRONT of that car public double getLaneChangeSafetyDistance(double mySpeed, double folSpeed); //return the distance from the car IN FRONT on another lane considered //safe, so that this driver can change lane just BEHIND that car public double getLaneChangeSafetyDistanceInFront(double mySpeed, double precSpeed); public double getAccelerationFreeDriving(); public double getAccelerationMaximumBrake(); public double getWantedSpeed(int roadIndex); public double getWantedSpeedInfluenced(double distanceFromIntersection, double requiredSpeed); public double getReactionTimeFreeDriving(); //[secs] //public double getRoadChangeSafetyDistance(double speed); public boolean estimateRoadChangePossible(double mySpeed, double otherSpeed, double myDist, double otherDist); }