public abstract class AbstractGTU extends nl.tudelft.simulation.event.EventProducer implements GTU
Copyright (c) 2013-2018 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGN_COUNT
aligned schedule count.
|
static boolean |
ALIGNED
aligned or not.
|
protected Historical<OperationalPlan> |
operationalPlan
The current operational plan, which provides a short-term movement over time.
|
DESTROY_EVENT, INIT_EVENT, MOVE_EVENT| Constructor and Description |
|---|
AbstractGTU(IdGenerator idGenerator,
GTUType gtuType,
nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface.TimeDoubleUnit simulator,
PerceivableContext perceivableContext) |
AbstractGTU(String id,
GTUType gtuType,
nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface.TimeDoubleUnit simulator,
PerceivableContext perceivableContext) |
| Modifier and Type | Method and Description |
|---|---|
void |
addGtu(GTU gtu)
Adds the provided GTU to this GTU, meaning it moves with this GTU.
|
void |
destroy()
Destructor.
|
boolean |
equals(Object obj) |
org.djunits.value.vdouble.scalar.Acceleration |
getAcceleration() |
org.djunits.value.vdouble.scalar.Acceleration |
getAcceleration(org.djunits.value.vdouble.scalar.Time time) |
Color |
getBaseColor()
Return the base color of the GTU (not the state-based color).
|
Set<GTU> |
getChildren()
Returns the children GTU's.
|
GTUType |
getGTUType() |
String |
getId() |
nl.tudelft.simulation.language.d3.DirectedPoint |
getLocation() |
org.djunits.value.vdouble.scalar.Acceleration |
getMaximumAcceleration() |
org.djunits.value.vdouble.scalar.Acceleration |
getMaximumDeceleration() |
org.djunits.value.vdouble.scalar.Length |
getOdometer() |
org.djunits.value.vdouble.scalar.Length |
getOdometer(org.djunits.value.vdouble.scalar.Time time) |
OperationalPlan |
getOperationalPlan() |
OperationalPlan |
getOperationalPlan(org.djunits.value.vdouble.scalar.Time time) |
org.opentrafficsim.base.parameters.Parameters |
getParameters() |
GTU |
getParent()
Returns the parent GTU, or
null if this GTU has no parent. |
PerceivableContext |
getPerceivableContext() |
RelativePosition |
getReference() |
nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface.TimeDoubleUnit |
getSimulator() |
org.djunits.value.vdouble.scalar.Speed |
getSpeed() |
org.djunits.value.vdouble.scalar.Speed |
getSpeed(org.djunits.value.vdouble.scalar.Time time) |
StrategicalPlanner |
getStrategicalPlanner() |
StrategicalPlanner |
getStrategicalPlanner(org.djunits.value.vdouble.scalar.Time time) |
int |
hashCode() |
void |
init(StrategicalPlanner strategicalPlanner,
nl.tudelft.simulation.language.d3.DirectedPoint initialLocation,
org.djunits.value.vdouble.scalar.Speed initialSpeed)
Initialize the GTU at a location and speed, and give it a mission to fulfill through the strategical planner.
|
protected void |
interruptMove()
Interrupt the move and ask for a new plan.
|
boolean |
isDestroyed()
Returns whether the GTU is destroyed.
|
protected void |
move(nl.tudelft.simulation.language.d3.DirectedPoint fromLocation)
Move from the current location according to an operational plan to a location that will bring us nearer to reaching the
location provided by the strategical planner.
|
void |
removeGtu(GTU gtu)
Removes the provided GTU from this GTU, meaning it no longer moves with this GTU.
|
void |
setMaximumAcceleration(org.djunits.value.vdouble.scalar.Acceleration maximumAcceleration) |
void |
setMaximumDeceleration(org.djunits.value.vdouble.scalar.Acceleration maximumDeceleration) |
void |
setParameters(org.opentrafficsim.base.parameters.Parameters parameters) |
void |
setParent(GTU gtu)
Set the parent GTU.
|
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, removeAllListeners, removeAllListeners, removeListenerclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitgetCenter, getContourPoints, getFront, getLength, getMaximumSpeed, getRear, getRelativePositions, getTacticalPlanner, getTacticalPlanner, getWidthprotected final Historical<OperationalPlan> operationalPlan
public static boolean ALIGNED
public static int ALIGN_COUNT
public AbstractGTU(String id, GTUType gtuType, nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface.TimeDoubleUnit simulator, PerceivableContext perceivableContext) throws GTUException
id - String; the id of the GTUgtuType - GTUType; the type of GTU, e.g. TruckType, CarType, BusTypesimulator - DEVSSimulatorInterface.TimeDoubleUnit; the simulator to schedule plan changes onperceivableContext - PerceivableContext; the perceivable context in which this GTU will be registeredGTUException - when the preconditions of the constructor are not metpublic AbstractGTU(IdGenerator idGenerator, GTUType gtuType, nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface.TimeDoubleUnit simulator, PerceivableContext perceivableContext) throws GTUException
idGenerator - IdGenerator; the generator that will produce a unique id of the GTUgtuType - GTUType; the type of GTU, e.g. TruckType, CarType, BusTypesimulator - DEVSSimulatorInterface.TimeDoubleUnit; the simulator to schedule plan changes onperceivableContext - PerceivableContext; the perceivable context in which this GTU will be registeredGTUException - when the preconditions of the constructor are not metpublic void init(StrategicalPlanner strategicalPlanner, nl.tudelft.simulation.language.d3.DirectedPoint initialLocation, org.djunits.value.vdouble.scalar.Speed initialSpeed) throws nl.tudelft.simulation.dsol.SimRuntimeException, GTUException
strategicalPlanner - StrategicalPlanner; the strategical planner responsible for the overall 'mission' of the GTU,
usually indicating where it needs to go. It operates by instantiating tactical planners to do the work.initialLocation - DirectedPoint; the initial location (and direction) of the GTUinitialSpeed - Speed; the initial speed of the GTUnl.tudelft.simulation.dsol.SimRuntimeException - when scheduling after the first move failsGTUException - when the preconditions of the parameters are not met or when the construction of the original
waiting path failspublic void destroy()
protected void move(nl.tudelft.simulation.language.d3.DirectedPoint fromLocation)
throws nl.tudelft.simulation.dsol.SimRuntimeException,
OperationalPlanException,
GTUException,
NetworkException,
org.opentrafficsim.base.parameters.ParameterException
fromLocation - the last known location (initial location, or end location of the previous operational plan)nl.tudelft.simulation.dsol.SimRuntimeException - when scheduling of the next move failsOperationalPlanException - when there is a problem creating a good path for the GTUGTUException - when there is a problem with the state of the GTU when planning a pathNetworkException - in case of a problem with the network, e.g., a dead end where it is not expectedorg.opentrafficsim.base.parameters.ParameterException - in there is a parameter problemprotected void interruptMove()
throws nl.tudelft.simulation.dsol.SimRuntimeException,
OperationalPlanException,
GTUException,
NetworkException,
org.opentrafficsim.base.parameters.ParameterException
OperationalPlanException - when there was a problem retrieving the location from the running plannl.tudelft.simulation.dsol.SimRuntimeException - when scheduling of the next move failsOperationalPlanException - when there is a problem creating a good path for the GTUGTUException - when there is a problem with the state of the GTU when planning a pathNetworkException - in case of a problem with the network, e.g., unreachability of a certain pointorg.opentrafficsim.base.parameters.ParameterException - when there is a problem with a parameterpublic final String getId()
public GTUType getGTUType()
getGTUType in interface GTUpublic final RelativePosition getReference()
getReference in interface GTUpublic final nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface.TimeDoubleUnit getSimulator()
getSimulator in interface GTUpublic final org.opentrafficsim.base.parameters.Parameters getParameters()
getParameters in interface GTUpublic final void setParameters(org.opentrafficsim.base.parameters.Parameters parameters)
setParameters in interface GTUparameters - Parameters; parameterspublic StrategicalPlanner getStrategicalPlanner()
getStrategicalPlanner in interface GTUpublic StrategicalPlanner getStrategicalPlanner(org.djunits.value.vdouble.scalar.Time time)
getStrategicalPlanner in interface GTUtime - Time; time to obtain the strategical planner atpublic final OperationalPlan getOperationalPlan()
getOperationalPlan in interface GTUpublic final OperationalPlan getOperationalPlan(org.djunits.value.vdouble.scalar.Time time)
getOperationalPlan in interface GTUtime - Time; time to obtain the operational plan atpublic final org.djunits.value.vdouble.scalar.Length getOdometer()
getOdometer in interface GTUpublic final org.djunits.value.vdouble.scalar.Length getOdometer(org.djunits.value.vdouble.scalar.Time time)
getOdometer in interface GTUtime - Time; time to obtain the odometer atpublic final org.djunits.value.vdouble.scalar.Speed getSpeed()
public final org.djunits.value.vdouble.scalar.Speed getSpeed(org.djunits.value.vdouble.scalar.Time time)
public final org.djunits.value.vdouble.scalar.Acceleration getAcceleration()
getAcceleration in interface GTUpublic final org.djunits.value.vdouble.scalar.Acceleration getAcceleration(org.djunits.value.vdouble.scalar.Time time)
getAcceleration in interface GTUtime - Time; time at which to obtain the accelerationpublic final org.djunits.value.vdouble.scalar.Acceleration getMaximumAcceleration()
getMaximumAcceleration in interface GTUpublic final void setMaximumAcceleration(org.djunits.value.vdouble.scalar.Acceleration maximumAcceleration)
maximumAcceleration - set maximumAccelerationpublic final org.djunits.value.vdouble.scalar.Acceleration getMaximumDeceleration()
getMaximumDeceleration in interface GTUpublic final void setMaximumDeceleration(org.djunits.value.vdouble.scalar.Acceleration maximumDeceleration)
maximumDeceleration - set maximumDeceleration, stored as a negative numberpublic nl.tudelft.simulation.language.d3.DirectedPoint getLocation()
getLocation in interface nl.tudelft.simulation.dsol.animation.Locatablepublic Color getBaseColor()
getBaseColor in interface GTUpublic final boolean isDestroyed()
GTUisDestroyed in interface GTUpublic final PerceivableContext getPerceivableContext()
public void addGtu(GTU gtu) throws GTUException
addGtu in interface GTUgtu - GTU; gtu to enter this GTUGTUException - if the gtu already has a parentpublic void removeGtu(GTU gtu)
public void setParent(GTU gtu) throws GTUException
setParent in interface GTUgtu - GTU; parent GTU, may be nullGTUException - if the gtu already has a parentpublic GTU getParent()
null if this GTU has no parent.public Set<GTU> getChildren()
getChildren in interface GTUCopyright © 2014–2018 Delft University of Technology. All rights reserved.