Package | Description |
---|---|
simkit.animate | |
simkit.smd | |
simkit.smd.util |
Modifier and Type | Field and Description |
---|---|
private Mover |
MoverIcon.myMover |
Modifier and Type | Method and Description |
---|---|
Mover |
MoverIcon.getMover() |
Mover |
Inspector.getMoverFromObject(java.lang.Object obj) |
Modifier and Type | Method and Description |
---|---|
void |
SandboxFrame.addMover(Mover mover,
java.awt.Color color) |
void |
MoverIcon.setMover(Mover m) |
Constructor and Description |
---|
MoverIcon(Mover m,
javax.swing.Icon icon)
Creates new MoverImage
|
MoverIcon(Mover m,
javax.swing.Icon icon,
java.awt.geom.Point2D origin) |
Modifier and Type | Interface and Description |
---|---|
interface |
SensorMoverMediator<M extends Mover,S extends Sensor>
Interface with the two key methods for scheduling Detection and Undetection
events.
|
Modifier and Type | Interface and Description |
---|---|
interface |
Munition
A Munition is an entity can interact with a Target.
|
interface |
Target
A Mover that can be acted on by a Munition and is subject to being killed or
damaged.
|
Modifier and Type | Class and Description |
---|---|
class |
BasicLinearMover
Implements the simplest movement logic.
|
class |
CircularImpactMunition
A Munition that has an area of effect that is a circle centered around its
aim point.
|
class |
SimpleTarget
A Target that is only subject to being killed, not damaged.
|
Modifier and Type | Field and Description |
---|---|
private Mover |
BasicSensor.mover |
private Mover |
PathMoverManager.mover
The one Mover this instance is managing
|
private Mover |
RandomMoverManager.mover |
Modifier and Type | Field and Description |
---|---|
protected java.util.Set<Mover> |
BasicSensor.contacts |
private java.util.HashMap<java.lang.Class<? extends Sensor>,java.util.HashMap<java.lang.Class<? extends Mover>,SensorMoverMediator>> |
SensorMoverReferee.mediators |
protected java.util.Set<Mover> |
SensorMoverReferee.movers |
Modifier and Type | Method and Description |
---|---|
Mover |
BasicSensor.getMover() |
Mover |
PathMoverManager.getMover() |
Mover |
RandomMoverManager.getMover() |
Mover |
Sensor.getMover() |
Modifier and Type | Method and Description |
---|---|
java.util.Set<Mover> |
BasicSensor.getContacts() |
java.util.Set<Mover> |
Sensor.getContacts() |
java.util.HashMap<java.lang.Class<? extends Sensor>,java.util.HashMap<java.lang.Class<? extends Mover>,SensorMoverMediator>> |
SensorMoverReferee.getMediators() |
java.util.Set<Mover> |
SensorMoverReferee.getMovers() |
Modifier and Type | Method and Description |
---|---|
void |
SensorMoverReferee.doCheckMover(Mover mover,
java.util.Iterator<Sensor> iter)
If Mover is not the Sensor's that is pointed to, compute enter/exit
times.
|
void |
BasicSensor.doDetection(Mover contact)
Add parameter to list of contacts
|
void |
BasicLinearMover.doEndMove(Mover me)
After this event, the Mover may immediately be ordered to move again.
|
void |
BasicSensor.doEndMove(Mover mover)
Reschedule EndMove for this Sensor
|
void |
CircularImpactMunition.doEndMove(Mover munition)
Stops this Munition at the aimpoint and schedules the Impact event for
now.
|
void |
PathMoverManager.doEndMove(Mover mover)
Heard from mover.
|
void |
PatrolMoverManager.doEndMove(Mover mover)
If another WayPoint, start moving there.
|
void |
CookieCutterMediator.doEnterRange(Mover mover,
Sensor sensor)
Schedule Detection(mover) on sensor with delay of 0.0 if the sensor
hasn't already detected the target.
|
void |
SensorMoverReferee.doEnterRange(Mover mover,
Sensor sensor)
The mover has just entered the maximum range of the sensor.
|
void |
CookieCutterMediator.doExitRange(Mover mover,
Sensor sensor)
Schedule Undetection(mover) with delay of 0.0.
|
void |
SensorMoverReferee.doExitRange(Mover mover,
Sensor sensor)
Schedule ExitRange(mover, sensor) on appropriate Mediator.
|
void |
BasicLinearMover.doOrderStop(Mover mover)
Event scheduled by another component that orders this Mover to actually
stop.
|
void |
RandomMoverManager.doOrderStop(Mover mover)
Empty - heard by Mover
|
void |
SensorMoverReferee.doRegisterMover(Mover mover)
Add mover to movers and listen to it.
|
void |
BasicLinearMover.doStartMove(Mover me)
Set startMoveTime to simTime, set velocity to match current speed and
destination.
|
void |
BasicSensor.doStartMove(Mover mover)
Delegated to Mover
|
void |
Mover.doStartMove(Mover mover)
Event that indicates the initiation of a maneuver
|
void |
SensorMoverReferee.doStartMove(Mover mover)
Schedule CheckSensor(mover, Iterator<Sensor>).
|
void |
BasicLinearMover.doStop(Mover mover)
Full stop.
|
void |
BasicSensor.doStop(Mover mover)
Reschedule Stop for this Sensor
|
void |
Mover.doStop(Mover mover)
Event that indicates a genuine stopped state.
|
void |
SensorMoverReferee.doStop(Mover mover)
Schedule CheckSensor(mover, Iterator<Sensor>).
|
void |
BasicSensor.doUndetection(Mover contact)
If a surrogate is used, care must be taken by the appropriate Mediator
|
void |
SensorMoverReferee.doUnregisterMover(Mover mover)
Normally this is only done when a platform is killed.
|
static java.awt.geom.Point2D |
Math2D.getIntercept(Mover pursuer,
double speed,
double range,
Mover target)
Computes the point at which the pursuer is within the given range of the
target.
|
static java.awt.geom.Point2D |
Math2D.getIntercept(Mover pursuer,
double speed,
Mover target)
Computes the Point2D at which the pursuer will intersect the target when
the pursuer moves at the given speed.
|
static java.awt.geom.Point2D |
Math2D.getIntercept(Mover pursuer,
Mover target)
Computes the intersection point when the pursuer goes at maximum speed.
|
static java.awt.geom.Point2D |
Math2D.getInterceptVelocity(Mover pursuer,
double speed,
Mover target) |
static java.awt.geom.Point2D |
Math2D.getInterceptVelocity(Mover pursuer,
Mover target)
Pursuer moves at its max speed
|
void |
BasicSensor.setMover(Mover mover) |
void |
PathMoverManager.setMover(Mover mover) |
void |
RandomMoverManager.setMover(Mover mover) |
Modifier and Type | Method and Description |
---|---|
void |
SensorMoverReferee.addMediator(java.lang.Class<? extends Sensor> sensorClass,
java.lang.Class<? extends Mover> moverClass,
SensorMoverMediator mediator) |
void |
SensorMoverReferee.doCheckSensor(Sensor sensor,
java.util.Iterator<Mover> iter)
If Mover being pointed to is not the sensor's, compute enter/exit times.
|
void |
SensorMoverReferee.setMediators(java.util.HashMap<java.lang.Class<? extends Sensor>,java.util.HashMap<java.lang.Class<? extends Mover>,SensorMoverMediator>> mediators) |
Constructor and Description |
---|
BasicSensor(Mover mover,
double maxRange) |
ConstantTimeSensor(Mover mover,
double maxRange,
double timeToDetect) |
CookieCutterSensor(Mover mover,
double maxRange)
Instantiate a CookieCutterSensor on the Mover with the given maxRange.
|
PathMoverManager(Mover mover)
Empty list of waypoints; startOnRun is false.
|
PathMoverManager(Mover mover,
boolean startOnRun)
Empty list of waypoints
|
PathMoverManager(Mover mover,
java.util.LinkedList<WayPoint> waypoint)
startOnRun defaults to "false"
|
PathMoverManager(Mover mover,
java.util.List<WayPoint> waypoint,
boolean startOnRun)
Instantiate a PathMoverManager with the given Mover, WayPoints, and
whether to start immediately or wait.
|
PatrolMoverManager(Mover mover)
Instantiate with an empty list of WayPoints and startOnRun = "false".
|
PatrolMoverManager(Mover mover,
boolean startOnRun)
Instantiate with an empty list of WayPoints
|
PatrolMoverManager(Mover mover,
java.util.List<WayPoint> waypoint)
startOnRun defaults to "false"
|
PatrolMoverManager(Mover mover,
java.util.List<WayPoint> waypoint,
boolean startOnRun)
Instantiate a PatrolMoverManager with the indicated Mover instance, list
of WayPoints, and whether to start immediately.
|
RandomMoverManager(Mover mover,
RandomVariate[] coordinate,
boolean startOnRun)
Instantiate a RandomMoverManager with the given Mover,
Random coordinate generators and whether to start immediately.
|
Modifier and Type | Method and Description |
---|---|
static double[] |
Math2D.findIntersectionTimes(Mover mover,
Sensor sensor)
Convenience method to include relative calculations.
|
static double[] |
BarrierMath.findLambdaAndT(Mover mover,
java.awt.geom.Point2D destination,
java.awt.geom.Line2D line)
Computes λ and t for a Mover considering movement to destination.
|
static double[] |
BarrierMath.findLambdaAndT(Mover mover,
java.awt.geom.Point2D destination,
java.awt.geom.Point2D y0,
java.awt.geom.Point2D y1)
Finds λ and t for a Mover considering moving to destination and
possibly encountering a barrier between points y0 and y1
|