new Agent(lat_lng, options, agentmap)
Constructor for the Agent class, using Leaflet class system.
Parameters:
Name | Type | Description |
---|---|---|
lat_lng |
LatLng | A pair of coordinates to place the agent at. |
options |
Object | An array of options for the agent, namely its layer. |
agentmap |
Agentmap | The agentmap instance in which the agent exists. |
Properties:
Name | Type | Attributes | Default | Description | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
agentmap |
Agentmap | The agentmap instance in which the agent exists. | ||||||||||||||||||||||||||||||||||||||||||||||
place |
Place | A place object specifying where the agent is currently at. | ||||||||||||||||||||||||||||||||||||||||||||||
steps_made |
number |
<optional> |
0 | The number of steps the agent has moved since the beginning. | ||||||||||||||||||||||||||||||||||||||||||||
this.trip |
Object | Properties detailing information about the agent's trip that change sometimes, but needs to be accessed by future updates.
Properties
|
||||||||||||||||||||||||||||||||||||||||||||||
controller |
function |
<nullable> |
User-defined function to be called on each update (each tick). | |||||||||||||||||||||||||||||||||||||||||||||
fine_controller |
function |
<nullable> |
User-defined function to be called before & after each movemnt (on each step an agent performs during a tick). |
Members
scheduleTrip
Schedule the agent to travel directly from any point (e.g. of a street or unit) to a point (e.g. of another street or unit).
Methods
(private, static) checkArrival(sub_goal_lat_lng, leftover_after_goal)
Check if the agent has arrived at the next goal in its path or to a sub_goal along the way and perform appropriate arrival operations.
Parameters:
Name | Type | Description |
---|---|---|
sub_goal_lat_lng |
LatLng | A sub_goal on the way to the goal (possibly the goal itself). |
leftover_after_goal |
number | If the agent arrives at its goal during the tick, the number of meters, according to its speed, leftover beyond the goal that it should still move during the tick. |
(static) checkSpeed(speed)
Check whether a given speed is greater than the minimum.
Parameters:
Name | Type | Description |
---|---|---|
speed |
number | A number representing the speed of an agent in meters per second. |
(static) increaseSpeed(magnitude)
Increase the speed the agent moves along its currently scheduled path by a constant.
Parameters:
Name | Type | Description |
---|---|---|
magnitude |
number | The number to add to the agent's scheduled speed. All scheduled speeds must be >= .1 |
(static) moveIt()
Make the agent proceed along its trip.
(static) multiplySpeed(multiplier)
Multiply the speed the agent moves along its currently scheduled path by a constant.
Parameters:
Name | Type | Description |
---|---|---|
multiplier |
number | The number to multiply the agent's scheduled speed by. All scheduled speeds must be >= .1. |
(private, static) newTripStartPlace() → {Place}
Given the agent's currently scheduledthis.trips (its path), get the place from which a newthis.trip should start (namely, the end of the current path).
That is: If there's already a path in queue, start the new path from the end of the existing one.
Returns:
- The place where a newthis.trip should start.
- Type
- Place
(static) pauseTrip()
Stop the agent where it is along its trip.
(static) resetTrip()
Reset all the properties of its trip, but don't change whether it's allowed to be traveling or not.
(static) resumeTrip()
Have the agent continue from where it was left off along its trip.
(static) setSpeed(speed)
Set a new, constant speed for the agent to move along its currently scheduled path.
Parameters:
Name | Type | Description |
---|---|---|
speed |
number | The speed (in meters per tick) that the agent should move. Must be >= .1. |
(private, static) setTravelAlongStreet(goal_lat_lng, goal_place, speed)
Schedule the agent to travel to a point along the streets, via streets.
Parameters:
Name | Type | Description |
---|---|---|
goal_lat_lng |
LatLng | The coordinates of a point on a street to which the agent should travel. |
goal_place |
Place | The place to which the agent will travel. Must be a street. |
speed |
number | The speed that the agent should travel, in meters per tick. |
(private, static) setTravelInUnit(goal_lat_lng, speed)
Schedule the agent to travel to a point within the unit he is in.
Parameters:
Name | Type | Description |
---|---|---|
goal_lat_lng |
LatLng | LatLng coordinate object for a point in the same unit the agent is in. |
speed |
number | The speed that the agent should travel, in meters per tick. |
(private, static) setTravelOnSameStreet(start_lat_lng, goal_lat_lng, street_feature, street_id, speed)
Schedule the agent to travel between two points on the same street.
Parameters:
Name | Type | Description |
---|---|---|
start_lat_lng |
LatLng | The coordinates of the point on the street from which the agent will be traveling. |
goal_lat_lng |
LatLng | The coordinates of the point on the street to which the agent should travel. |
street_feature |
Feature | A GeoJSON object representing an OpenStreetMap street. |
street_id |
number | The ID of the street in the streets layerGroup. |
speed |
number | The speed that the agent should travel, in meters per tick. |
(private, static) setTravelOnStreetNetwork(start_lat_lng, goal_lat_lng, start_int_lat_lng, goal_int_lat_lng, speed)
Schedule the agent up to travel between two points on a street network.
Parameters:
Name | Type | Description |
---|---|---|
start_lat_lng |
LatLng | The coordinates of the point on the street from which the agent will be traveling. |
goal_lat_lng |
LatLng | The coordinates of the point on the street to which the agent should travel. |
start_int_lat_lng |
LatLng | The coordinates of the nearest intersection on the same street at the start_lat_lng. |
goal_int_lat_lng |
LatLng | The coordinates of the nearest intersection on the same street as the goal_lat_lng. |
speed |
number | The speed that the agent should travel, in meters per tick. |
(static) startTrip()
Set the agent up to start traveling along the path specified in the agent's trip..
(private, static) step(lat_step_value, lng_step_value)
Move the agent a given latitude and longitude.
Parameters:
Name | Type | Description |
---|---|---|
lat_step_value |
number | The number to add to the agent's latitude. |
lng_step_value |
number | The number to add to the agent's longitude. |
(private, static) travel(override_speed)
Continue to move the agent directly along the points in its path, at approximately the speed associated with each point in the path.
Since two points along the path may be far apart, the agent will make multiple intermediary movements too, splitting up its transfer
from its current point to its goal point into a sub-path with multiple sub-goals.
Parameters:
Name | Type | Description |
---|---|---|
override_speed |
number | Have the agent step this distance, instead of the distance suggested by the current state's speed property. |
(private, static) travelTo(goal_point)
Set the agent to travel to some point on the map.
Parameters:
Name | Type | Description |
---|---|---|
goal_point |
LatLng | The point to which the agent should travel. |