faa.tg.track
Class MonitorType

java.lang.Object
  extended by faa.tg.track.MonitorType
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
VisualMonitor

public abstract class MonitorType
extends java.lang.Object
implements java.io.Serializable

 MonitorType represents a type of instrument (e.g., used by a
 simulation entity) to perceive objects in the simulation.
 (For example, aircraft that implement TrackMonitorI have a MonitorType.)
 
See the source: MonitorType.java

Version:
$Id: MonitorType.java,v 1.2 2008/08/27 15:09:04 lykensj Exp $
Author:
Dana N. Whicker, TGF/Engility Corp, Apr 10, 2007
See Also:
TrackMonitorI, Serialized Form

Field Summary
static java.lang.String CVS_VERSION_ID
          The CVS Version ID.
private  SimulationTime doUpdateCheck
          Time to check whether a visual track should be updated.
static SimulationTime FMS_AC_UPDATE
          Interval delay for checking whether FMS tracks are visible.
static Distance FMS_MAX_LEG
          Interval delay for checking whether FMS tracks are visible.
protected  java.lang.String name
          The name of the type of monitor.
private static long serialVersionUID
           
protected  SimulationTime updateInterval
          Interval delay for checking whether this track should be updated.
static Distance VISUAL_MAX_LEG
          Interval delay for checking whether visual tracks are visible.
static SimulationTime VISUAL_UPDATE
          Interval delay for checking whether visual tracks are visible.
 
Constructor Summary
MonitorType(java.lang.String name, SimulationTime updateInterval)
          Constructor.
 
Method Summary
 boolean checkForTrackUpdate(Route4D path, SimulationTime time, AircraftInformation target)
          Returns whether the track should be updated for this type of monitor, based on the time and the aircraft information.
abstract  Position getApparentPosition(AircraftInformation target)
          Returns the apparent location of the aircraft (allows the actual location of the aircraft to be modified according to the type of monitor and any factors that would affect that monitor), or null if the aircraft is not visible.
 java.lang.String getName()
          Returns the monitor type name as a String.
 boolean isUpdateTime(SimulationTime time)
          Returns whether the track should be updated based on the time and the update interval for this type of monitor.
abstract  boolean isVisible(Route4D path, SimulationTime time, AircraftInformation target)
          Returns whether the aircraft is visible using this type of monitor, based on the time and the aircraft information.
 void sendErrorMessage()
          Sends listeners an error message if tracked aircraft is not visible.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

CVS_VERSION_ID

public static final java.lang.String CVS_VERSION_ID
The CVS Version ID.

See Also:
Constant Field Values

FMS_AC_UPDATE

public static final SimulationTime FMS_AC_UPDATE
Interval delay for checking whether FMS tracks are visible.


FMS_MAX_LEG

public static final Distance FMS_MAX_LEG
Interval delay for checking whether FMS tracks are visible.


VISUAL_UPDATE

public static final SimulationTime VISUAL_UPDATE
Interval delay for checking whether visual tracks are visible.


VISUAL_MAX_LEG

public static final Distance VISUAL_MAX_LEG
Interval delay for checking whether visual tracks are visible.


name

protected java.lang.String name
The name of the type of monitor.


updateInterval

protected final SimulationTime updateInterval
Interval delay for checking whether this track should be updated.


doUpdateCheck

private SimulationTime doUpdateCheck
Time to check whether a visual track should be updated.

Constructor Detail

MonitorType

public MonitorType(java.lang.String name,
                   SimulationTime updateInterval)
Constructor.

Method Detail

getName

public java.lang.String getName()
Returns the monitor type name as a String.


checkForTrackUpdate

public boolean checkForTrackUpdate(Route4D path,
                                   SimulationTime time,
                                   AircraftInformation target)
Returns whether the track should be updated for this type of monitor, based on the time and the aircraft information.


isUpdateTime

public boolean isUpdateTime(SimulationTime time)
Returns whether the track should be updated based on the time and the update interval for this type of monitor.


sendErrorMessage

public void sendErrorMessage()
Sends listeners an error message if tracked aircraft is not visible.


isVisible

public abstract boolean isVisible(Route4D path,
                                  SimulationTime time,
                                  AircraftInformation target)
Returns whether the aircraft is visible using this type of monitor, based on the time and the aircraft information. This calls sendErrorMessage() if the aircraft is not visible.


getApparentPosition

public abstract Position getApparentPosition(AircraftInformation target)
Returns the apparent location of the aircraft (allows the actual location of the aircraft to be modified according to the type of monitor and any factors that would affect that monitor), or null if the aircraft is not visible.