Class FlankSensor
java.lang.Object
nl.tudelft.simulation.event.EventProducer
org.opentrafficsim.core.object.StaticObject
org.opentrafficsim.road.network.lane.object.AbstractLaneBasedObject
org.opentrafficsim.road.network.lane.object.sensor.AbstractSensor
org.opentrafficsim.road.network.lane.object.trafficlight.FlankSensor
- All Implemented Interfaces:
Serializable,Comparable<SingleSensor>,Locatable,EventProducerInterface,Identifiable,Drawable,Compatible,ObjectInterface,LaneBasedObject,Sensor,SingleSensor
public class FlankSensor extends AbstractSensor
Embedded sensors used by a TrafficLightSensor.
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.
- Version:
- $Revision$, $LastChangedDate$, by $Author$, initial version Feb 28, 2019
- Author:
- Alexander Verbraeck, Peter Knoppers, Wouter Schakel
- See Also:
- Serialized Form
-
Field Summary
Fields inherited from interface org.opentrafficsim.core.compatibility.Compatible
EVERYTHING, MINUS, PLUSFields inherited from interface nl.tudelft.simulation.event.EventProducerInterface
FIRST_POSITION, LAST_POSITIONFields inherited from interface org.opentrafficsim.road.network.lane.object.sensor.SingleSensor
DEFAULT_SENSOR_ELEVATION, SENSOR_TRIGGER_EVENT -
Constructor Summary
Constructors Constructor Description FlankSensor(String id, Lane lane, Length longitudinalPosition, RelativePosition.TYPE positionType, DEVSSimulatorInterface.TimeDoubleUnit simulator, TrafficLightSensor parent, Compatible compatible)Construct a new FlankSensor. -
Method Summary
Modifier and Type Method Description FlankSensorclone(CrossSectionElement newCSE, SimulatorInterface.TimeDoubleUnit newSimulator)Clone the LaneBasedObject for e.g., copying a network.TrafficLightSensorgetParent()Return the parent (TrafficLightSensor) of this FlankSensor.StringtoString()protected voidtriggerResponse(LaneBasedGTU gtu)Implementation of the response to a trigger of this sensor by a GTU.Methods inherited from class org.opentrafficsim.road.network.lane.object.sensor.AbstractSensor
compareTo, equals, getDetectedGTUTypes, getPositionType, getSimulator, hashCode, isCompatible, makeGeometry, triggerMethods inherited from class org.opentrafficsim.road.network.lane.object.AbstractLaneBasedObject
clone, getDirection, getFullId, getLane, getLocation, getLongitudinalPositionMethods inherited from class org.opentrafficsim.core.object.StaticObject
getBounds, getGeometry, getHeight, getIdMethods inherited from class nl.tudelft.simulation.event.EventProducer
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, removeAllListeners, removeAllListeners, removeListenerMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface nl.tudelft.simulation.event.EventProducerInterface
addListener, addListener, addListener, addListener, removeListenerMethods inherited from interface org.opentrafficsim.road.network.lane.object.LaneBasedObject
getBounds, getDirection, getLane, getLocation, getLongitudinalPositionMethods inherited from interface org.opentrafficsim.core.object.ObjectInterface
getFullId, getGeometry, getHeight
-
Constructor Details
-
FlankSensor
public FlankSensor(String id, Lane lane, Length longitudinalPosition, RelativePosition.TYPE positionType, DEVSSimulatorInterface.TimeDoubleUnit simulator, TrafficLightSensor parent, Compatible compatible) throws NetworkExceptionConstruct a new FlankSensor.- Parameters:
id- String; the name of the new FlankSensorlane- Lane; the lane of the new FlankSensorlongitudinalPosition- Length; the longitudinal position of the new FlankSensorpositionType- TYPE; the position on the GTUs that triggers the new FlankSensorsimulator- DEVSSimulatorInterface.TimeDoubleUnit; the simulator engineparent- TrafficLightSensor; the traffic light sensor that deploys this FlankSensorcompatible- Compatible; object that determines if a GTU is detectable by the new FlankSensor- Throws:
NetworkException- when the network is inconsistent
-
-
Method Details
-
triggerResponse
Implementation of the response to a trigger of this sensor by a GTU.- Specified by:
triggerResponsein classAbstractSensor- Parameters:
gtu- LaneBasedGTU; the lane based GTU that triggered this sensor.
-
clone
public final FlankSensor clone(CrossSectionElement newCSE, SimulatorInterface.TimeDoubleUnit newSimulator) throws NetworkExceptionClone the LaneBasedObject for e.g., copying a network.- Specified by:
clonein classAbstractSensor- Parameters:
newCSE- CrossSectionElement; the new cross section element to which the clone belongsnewSimulator- SimulatorInterface.TimeDoubleUnit; the new simulator for this network- Returns:
- AbstractLaneBasedObject; a clone of this object
- Throws:
NetworkException- in case the cloning fails
-
getParent
Return the parent (TrafficLightSensor) of this FlankSensor.- Returns:
- TrafficLightSensor; the parent of this flank sensor
-
toString
- Overrides:
toStringin classAbstractSensor
-