public class WorldModel extends Object
| Constructor and Description | 
|---|
| WorldModel(Tactical tactical)Constructor | 
| Modifier and Type | Method and Description | 
|---|---|
| void | add(MovingObject newObject)Adds a new moving object to the world model if it is not already present | 
| void | add(StationaryObject newObject)Adds a new stationary object to the world model if it is not already present | 
| void | add(VehicleObject newVehicle)Adds a new vehicle to the world model if it is not already present | 
| void | addAvoidArea(GeoArea newArea)Adds a new vehicle to the world model if it is not already present | 
| void | enablePotentialField(boolean enable)Turns potential field obstacle avoidance on or off | 
| void | getAllClearPaths(double[] pt,
                ArrayList<double[]> result)Generates a list of points on the objects and avoid areas that are "visible"
 from a specified point. | 
| void | getAllClearPaths(double x,
                double y,
                ArrayList<double[]> result)Generates a list of points on the objects and avoid areas that are "visible"
 from a specified point. | 
| void | getAllClearPaths(Point pt,
                ArrayList<double[]> result)Generates a list of points on the objects and avoid areas that are "visible"
 from a specified point. | 
| double | getDistanceToMovingObject(double x,
                         double y)Determines the distance to the nearest moving object (Double.MAX_VALUE means none) | 
| double | getMissionTime() | 
| boolean | getPotentialFieldEnabled() | 
| double[] | getPotentialVector(double[] goal)Computes a unit potential vector that will steer the vehicle away from
 known obstacles. | 
| double[] | getPotentialVector(double goalX,
                  double goalY)Computes a unit potential vector that will steer the vehicle away from
 known obstacles. | 
| VehicleObject | getVehicle(int VID)Returns a reference to a specified vehicle in the world model | 
| boolean | isClearPath(double[] end1,
           double[] end2)Tests a straight path (line segment) to determine whether or not it encroaches
 across an avoid area or obstacle (i.e., passes closer than the standoff) | 
| boolean | isClearPath(double x1,
           double y1,
           double x2,
           double y2)Tests a straight path (line segment) to determine whether or not it encroaches
 across an avoid area or obstacle (i.e., passes closer than the standoff) | 
| boolean | isClearPath(LineSegment segment)Tests a straight path (line segment) to determine whether or not it encroaches
 across an avoid area or obstacle (i.e., passes closer than the standoff) | 
| boolean | isClearPath(Path path)Determines whether a path intersects any avoid areas or obstacles | 
| boolean | isClearPath(Point end1,
           Point end2)Tests a straight path (line segment) to determine whether or not it encroaches
 across an avoid area or obstacle (i.e., passes closer than the standoff) | 
| boolean | isClearPoint(double[] point)Determines whether a point is clear of avoid areas and obstacles | 
| boolean | isClearPoint(double x,
            double y)Determines whether a point is clear of avoid areas and obstacles | 
| boolean | isClearPoint(Point point)Determines whether a point is clear of avoid areas and obstacles | 
| boolean | isNewPlanRequired() | 
| int | knownVehicle(int VID)Determines whether or not a vehicle with a specified ID is known | 
| void | makeParticipating(VehicleObject newParticipant)Makes a vehicle a group participant if it is not already | 
| Path | planPath(double[] start,
        double[] end)Plans a path (series of waypoints) between two points. | 
| Path | planPath(double startX,
        double startY,
        double endX,
        double endY)Plans a path (series of waypoints) between two points. | 
| Path | planPath(Point start,
        Point end)Plans a path (series of waypoints) between two points. | 
| MovingObject | removeMovingObject(int index)Removes a moving object from the world model | 
| boolean | removeMovingObject(MovingObject toRemove)Removes a moving object from the world model | 
| StationaryObject | removeStationaryObject(int index)Removes a stationary object from the world model | 
| boolean | removeStationaryObject(StationaryObject toRemove)Removes a stationary object from the world model | 
| VehicleObject | removeVehicle(int VID)Removes a vehicle from the world model | 
| boolean | removeVehicle(VehicleObject toRemove)Removes a vehicle from the world model | 
| void | setAvoidAreas(GeoAreaSet agendaAvoidAreas)Sets the value of the avoid areas object once the Strategic Level has parsed the mission | 
| String | toMATLABString()Generates a string representation of the Path object that can be used to plot the path in MATLAB | 
public WorldModel(Tactical tactical)
tactical - reference to the Tactical level maintaining the modelpublic void setAvoidAreas(GeoAreaSet agendaAvoidAreas)
agendaAvoidAreas - public void add(StationaryObject newObject)
newObject - public void add(MovingObject newObject)
newObject - public void add(VehicleObject newVehicle)
newVehicle - public void makeParticipating(VehicleObject newParticipant)
newParticipant - public int knownVehicle(int VID)
VID - unique identifier of the vehicle being looked forpublic StationaryObject removeStationaryObject(int index)
index - index of the object to be removedpublic boolean removeStationaryObject(StationaryObject toRemove)
toRemove - the object to be removedpublic MovingObject removeMovingObject(int index)
index - index of the object to be removedpublic boolean removeMovingObject(MovingObject toRemove)
toRemove - the object to be removedpublic void addAvoidArea(GeoArea newArea)
newArea - public VehicleObject getVehicle(int VID)
VID - unique identifier of the vehicle to be removedpublic VehicleObject removeVehicle(int VID)
VID - unique identifier of the vehicle to be removedpublic boolean removeVehicle(VehicleObject toRemove)
toRemove - the object to be removedpublic double getMissionTime()
public void enablePotentialField(boolean enable)
enable - public boolean getPotentialFieldEnabled()
public boolean isNewPlanRequired()
public double[] getPotentialVector(double[] goal)
goal - Cartesian coordinates of the goal pointpublic double[] getPotentialVector(double goalX,
                          double goalY)
goalX - north/south Cartesian coordinate of the goal pointgoalY - east/west Cartesian coordinate of the goal pointpublic double getDistanceToMovingObject(double x,
                               double y)
x - north/south Cartesian coordinate of the location being testedy - east/west Cartesian coordinate of the location being testedpublic void getAllClearPaths(Point pt, ArrayList<double[]> result)
pt - the point being testedresult - the ArrayList containing the points to which clear paths exist (will be cleared at start)public void getAllClearPaths(double[] pt,
                    ArrayList<double[]> result)
pt - the point being testedresult - the ArrayList containing the points to which clear paths exist (will be cleared at start)public void getAllClearPaths(double x,
                    double y,
                    ArrayList<double[]> result)
x - coordinate of the point being testedy - coordinate of the point being testedresult - the ArrayList containing the points to which clear paths exist (will be cleared at start)public boolean isClearPoint(double[] point)
point - public boolean isClearPoint(Point point)
point - public boolean isClearPoint(double x,
                   double y)
x - x coordinate of the point being testedy - y coordinate of the point being testedpublic boolean isClearPath(Path path)
public boolean isClearPath(LineSegment segment)
segment - the line segment being testedpublic boolean isClearPath(Point end1, Point end2)
end1 - first end point of the line segment being testedend2 - second end point of the line segment being testedpublic boolean isClearPath(double[] end1,
                  double[] end2)
end1 - first end point of the line segment being testedend2 - second end point of the line segment being testedpublic boolean isClearPath(double x1,
                  double y1,
                  double x2,
                  double y2)
x1 - north/south coordinate of the first end point of the line segment being testedy1 - east/west coordinate of the first end point of the line segment being testedx2 - north/south coordinate of the second end point of the line segment being testedy2 - east/west coordinate of the second end point of the line segment being testedpublic Path planPath(Point start, Point end)
start - end - public Path planPath(double[] start, double[] end)
start - end - public Path planPath(double startX, double startY, double endX, double endY)
startX - endX - public String toMATLABString()