Package org.opentrafficsim.road.car
Class CarTest
java.lang.Object
org.opentrafficsim.road.car.CarTest
- All Implemented Interfaces:
UNITS
public class CarTest extends java.lang.Object implements UNITS
Copyright (c) 2013-2019 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
$LastChangedDate: 2015-09-16 19:20:07 +0200 (Wed, 16 Sep 2015) $, @version $Revision: 1405 $, by $Author: averbraeck $,
initial version Jul 11, 2014
- Author:
- Peter Knoppers
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
CarTest.Model
The helper model. -
Field Summary
Fields inherited from interface org.djunits.unit.util.UNITS
ABAMPERE, ABCOULOMB, ABOHM, ABVOLT, ACRE, AMPERE, AMPERE_HOUR, ANGSTROM, ANGSTROM_ABS, ARCMINUTE, ARCSECOND, ARE, ASTRONOMICAL_UNIT, ASTRONOMICAL_UNIT_ABS, ATMOSPHERE_STANDARD, ATMOSPHERE_TECHNICAL, ATOMIC_UNIT, BAR, BARYE, BASE_DAY, BASE_HOUR, BASE_MICROSECOND, BASE_MILLISECOND, BASE_MINUTE, BASE_SECOND, BASE_WEEK, BECQUEREL, BTU_ISO, BTU_IT, CALORIE, CALORIE_IT, CANDELA, CENTESIMAL_ARCMINUTE, CENTESIMAL_ARCSECOND, CENTIARE, CENTIMETER, CENTIMETER_ABS, CENTIMETER_MERCURY, COULOMB, CUBIC_CENTIMETER, CUBIC_DECAMETER, CUBIC_DECIMETER, CUBIC_FEET_PER_MINUTE, CUBIC_FEET_PER_SECOND, CUBIC_FOOT, CUBIC_HECTOMETER, CUBIC_INCH, CUBIC_INCH_PER_MINUTE, CUBIC_INCH_PER_SECOND, CUBIC_KILOMETER, CUBIC_LIGHTYEAR, CUBIC_METER, CUBIC_METER_PER_DAY, CUBIC_METER_PER_HOUR, CUBIC_METER_PER_MINUTE, CUBIC_METER_PER_SECOND, CUBIC_MILE, CUBIC_MILLIMETER, CUBIC_NAUTICAL_MILE, CUBIC_PARSEC, CUBIC_YARD, CURIE, DALTON, DAY, DECAMETER, DECAMETER_ABS, DECIMETER, DECIMETER_ABS, DEGREE, DEGREE_CELSIUS, DEGREE_CELSIUS_ABS, DEGREE_FAHRENHEIT, DEGREE_FAHRENHEIT_ABS, DEGREE_RANKINE, DEGREE_RANKINE_ABS, DEGREE_REAUMUR, DEGREE_REAUMUR_ABS, DYNE, EAST_DEGREE, EAST_RADIAN, EMU, ENERGY_ELECTRONVOLT, ENERGY_GIGAELECTRONVOLT, ENERGY_KILOELECTRONVOLT, ENERGY_MEGAELECTRONVOLT, ENERGY_MICROELECTRONVOLT, ENERGY_MILLIELECTRONVOLT, EPOCH_DAY, EPOCH_HOUR, EPOCH_J2000_SECOND, EPOCH_MICROSECOND, EPOCH_MILLISECOND, EPOCH_MINUTE, EPOCH_SECOND, EPOCH_WEEK, EPOCH_YEAR1_SECOND, ERG, ERG_PER_GRAM, ERG_PER_SECOND, ESU, FARAD, FARADAY, FLUID_OUNCE_IMP, FLUID_OUNCE_US, FOOT, FOOT_ABS, FOOT_MERCURY, FOOT_PER_HOUR, FOOT_PER_MINUTE, FOOT_PER_SECOND, FOOT_PER_SECOND_2, FOOT_POUND_FORCE, FOOT_POUND_FORCE_PER_HOUR, FOOT_POUND_FORCE_PER_MINUTE, FOOT_POUND_FORCE_PER_SECOND, FRANKLIN, GAL, GALLON_IMP, GALLON_US, GALLON_US_PER_DAY, GALLON_US_PER_HOUR, GALLON_US_PER_MINUTE, GALLON_US_PER_SECOND, GAUSS, GIGABECQUEREL, GIGAHERTZ, GIGAJOULE, GIGAOHM, GIGAVOLT, GIGAWATT, GIGAWATT_HOUR, GRAD, GRAM, GRAM_PER_CENTIMETER_3, GRAY, HECTARE, HECTOMETER, HECTOMETER_ABS, HECTOPASCAL, HENRY, HERTZ, HORSEPOWER_METRIC, HOUR, INCH, INCH_ABS, INCH_MERCURY, INCH_PER_HOUR, INCH_PER_MINUTE, INCH_PER_SECOND, INCH_PER_SECOND_2, INCH_POUND_FORCE, JOULE, KATAL, KELVIN, KELVIN_ABS, KG_PER_METER_3, KGF_PER_SQUARE_MM, KILOAMPERE, KILOAMPERE_HOUR, KILOBECQUEREL, KILOCALORIE, KILOGRAM, KILOGRAM_FORCE, KILOGRAM_PER_SECOND, KILOHERTZ, KILOJOULE, KILOLUX, KILOMETER, KILOMETER_ABS, KILOOHM, KILOPASCAL, KILOVOLT, KILOWATT, KILOWATT_HOUR, KM_PER_HOUR, KM_PER_HOUR_2, KM_PER_SECOND, KNOT, KNOT_PER_SECOND, LIGHTYEAR, LIGHTYEAR_ABS, LITER, LITER_PER_DAY, LITER_PER_HOUR, LITER_PER_MINUTE, LITER_PER_SECOND, LUMEN, LUX, MASS_ELECTRONVOLT, MASS_GIGAELECTRONVOLT, MASS_KILOELECTRONVOLT, MASS_MEGAELECTRONVOLT, MASS_MICROELECTRONVOLT, MASS_MILLIELECTRONVOLT, MAXWELL, MEGAAMPERE, MEGAAMPERE_HOUR, MEGABECQUEREL, MEGAHERTZ, MEGAJOULE, MEGAOHM, MEGAVOLT, MEGAWATT, MEGAWATT_HOUR, METER, METER_ABS, METER_KILOGRAM_FORCE, METER_PER_HOUR, METER_PER_SECOND, METER_PER_SECOND_2, MICROAMPERE, MICROCOULOMB, MICROCURIE, MICROFARAD, MICROGRAM, MICROGRAY, MICROHENRY, MICROJOULE, MICROKATAL, MICROLUX, MICROMETER, MICROMETER_ABS, MICROMOLE, MICROOHM, MICROSECOND, MICROSIEMENS, MICROSIEVERT, MICROTESLA, MICROVOLT, MICROWATT, MICROWATT_HOUR, MICROWEBER, MILE, MILE_ABS, MILE_PER_HOUR, MILE_PER_HOUR_2, MILE_PER_HOUR_PER_SECOND, MILE_PER_MINUTE, MILE_PER_SECOND, MILE_PER_SECOND_2, MILLIAMPERE, MILLIAMPERE_HOUR, MILLIAMPERE_SECOND, MILLIBAR, MILLICOULOMB, MILLICURIE, MILLIFARAD, MILLIGRAM, MILLIGRAY, MILLIHENRY, MILLIJOULE, MILLIKATAL, MILLILUX, MILLIMETER, MILLIMETER_ABS, MILLIMETER_MERCURY, MILLIMOLE, MILLIOHM, MILLISECOND, MILLISIEMENS, MILLISIEVERT, MILLITESLA, MILLIVOLT, MILLIWATT, MILLIWATT_HOUR, MILLIWEBER, MINUTE, MOLE, NANOCURIE, NANOFARAD, NANOHENRY, NANOKATAL, NANOMETER, NANOMETER_ABS, NANOMOLE, NANOSIEMENS, NANOTESLA, NANOWEBER, NAUTICAL_MILE, NAUTICAL_MILE_ABS, NEWTON, NEWTON_METER, NORTH_DEGREE, NORTH_RADIAN, NOX, OHM, OUNCE, OUNCE_FORCE, PARSEC, PARSEC_ABS, PASCAL, PER_ANGSTROM, PER_ASTRONOMICAL_UNIT, PER_CENTIMETER, PER_DAY, PER_DECAMETER, PER_DECIMETER, PER_FOOT, PER_HECTOMETER, PER_HOUR, PER_INCH, PER_KILOMETER, PER_LIGHTYEAR, PER_METER, PER_MICROMETER, PER_MICROSECOND, PER_MILE, PER_MILLIMETER, PER_MILLISECOND, PER_MINUTE, PER_NAUTICAL_MILE, PER_PARSEC, PER_SECOND, PER_WEEK, PER_YARD, PERCENT, PETABECQUEREL, PETAJOULE, PETAWATT, PETAWATT_HOUR, PHOT, PICOFARAD, PIEZE, PINT_IMP, PINT_US, POUND, POUND_FOOT, POUND_FORCE, POUND_INCH, POUND_PER_SECOND, POUND_PER_SQUARE_FOOT, POUND_PER_SQUARE_INCH, QUART_IMP, QUART_US, RAD, RADIAN, REM, RPM, RUTHERFORD, SECOND, SIEMENS, SIEVERT, SQUARE_CENTIMETER, SQUARE_DECAMETER, SQUARE_DECIMETER, SQUARE_DEGREE, SQUARE_FOOT, SQUARE_HECTOMETER, SQUARE_INCH, SQUARE_KILOMETER, SQUARE_METER, SQUARE_MILE, SQUARE_MILLIMETER, SQUARE_NAUTICAL_MILE, SQUARE_YARD, STANDARD_GRAVITY, STATAMPERE, STATCOULOMB, STATOHM, STATVOLT, STERADIAN, STHENE, STHENE_METER, STHENE_METER_PER_SECOND, TERABECQUEREL, TERAHERTZ, TERAJOULE, TERAWATT, TERAWATT_HOUR, TESLA, TON_FORCE, TON_LONG, TON_METRIC, TON_SHORT, TONNE, TORR, UNIT, VOLT, WATT, WATT_HOUR, WEBER, WEEK, YARD, YARD_ABS
-
Constructor Summary
Constructors Constructor Description CarTest()
-
Method Summary
Modifier and Type Method Description void
carTest()
Test some basics of the Car class.static org.opentrafficsim.road.network.lane.Lane
makeLane(org.opentrafficsim.road.network.RoadNetwork network, org.opentrafficsim.road.network.lane.LaneType laneType, OTSSimulatorInterface simulator)
static org.opentrafficsim.road.gtu.lane.LaneBasedIndividualGTU
makeReferenceCar(java.lang.String id, GTUType gtuType, org.opentrafficsim.road.network.lane.Lane lane, Length initialPosition, Speed initialSpeed, OTSSimulatorInterface simulator, org.opentrafficsim.road.gtu.lane.tactical.following.GTUFollowingModelOld gtuFollowingModel, org.opentrafficsim.road.gtu.lane.tactical.lanechangemobil.LaneChangeModel laneChangeModel, org.opentrafficsim.road.network.OTSRoadNetwork network)
Create a new Car.static OTSSimulatorInterface
makeSimulator()
Create the simplest possible simulator.
-
Constructor Details
-
CarTest
public CarTest()
-
-
Method Details
-
carTest
public final void carTest() throws NetworkException, SimRuntimeException, javax.naming.NamingException, GTUException, OTSGeometryExceptionTest some basics of the Car class.- Throws:
NetworkException
- on ???SimRuntimeException
- on ???javax.naming.NamingException
- on ???GTUException
- on ???OTSGeometryException
- when center line or contour of a link or lane cannot be generated
-
makeSimulator
public static OTSSimulatorInterface makeSimulator() throws SimRuntimeException, javax.naming.NamingExceptionCreate the simplest possible simulator.- Returns:
- DEVSSimulator.TimeDoubleUnit
- Throws:
SimRuntimeException
- on ???javax.naming.NamingException
- on ???
-
makeReferenceCar
public static org.opentrafficsim.road.gtu.lane.LaneBasedIndividualGTU makeReferenceCar(java.lang.String id, GTUType gtuType, org.opentrafficsim.road.network.lane.Lane lane, Length initialPosition, Speed initialSpeed, OTSSimulatorInterface simulator, org.opentrafficsim.road.gtu.lane.tactical.following.GTUFollowingModelOld gtuFollowingModel, org.opentrafficsim.road.gtu.lane.tactical.lanechangemobil.LaneChangeModel laneChangeModel, org.opentrafficsim.road.network.OTSRoadNetwork network) throws javax.naming.NamingException, NetworkException, SimRuntimeException, GTUException, OTSGeometryExceptionCreate a new Car.- Parameters:
id
- String; the name (number) of the CargtuType
- GTUType; the type of the new carlane
- Lane; the lane on which the new Car is positionedinitialPosition
- Length; the initial longitudinal position of the new CarinitialSpeed
- Speed; the initial speedsimulator
- OTSDEVVSimulator; the simulator that controls the new Car (and supplies the initial value for getLastEvalutionTime())gtuFollowingModel
- GTUFollowingModel; the GTU following modellaneChangeModel
- LaneChangeModel; the lane change modelnetwork
- the network- Returns:
- Car; the new Car
- Throws:
javax.naming.NamingException
- on network error when making the animationNetworkException
- when the GTU cannot be placed on the given lane.SimRuntimeException
- when the move method cannot be scheduled.GTUException
- when construction of the GTU fails (probably due to an invalid parameter)OTSGeometryException
- when the initial path is wrong
-
makeLane
public static org.opentrafficsim.road.network.lane.Lane makeLane(org.opentrafficsim.road.network.RoadNetwork network, org.opentrafficsim.road.network.lane.LaneType laneType, OTSSimulatorInterface simulator) throws NetworkException, OTSGeometryException- Parameters:
network
- RoadNetwork; the networklaneType
- LaneType<String>; the type of the lanesimulator
- OTSSimulatorInterface; simulator- Returns:
- a lane of 1000 m long.
- Throws:
NetworkException
- on network errorOTSGeometryException
- when center line or contour of a link or lane cannot be generated
-