The AHA Model
Revision: 12809
Reference implementation 04 (HEDG02_04)
|
Definition of a movable spatial object. It extends the the_environment::spatial object, but also adds its previous position history in stack-like arrays. The history is maintained with the commondata::add_to_history() subroutine, adding a single element on the top (end) of the history stack. More...
Public Member Functions | |
procedure, public | create => spatial_moving_create_3d |
Create a new spatial moving object. Initially it has no position, all coordinate values are commondata::missing or commondata::invalid for real type coordinates. See the_environment::spatial_moving_create_3d() More... | |
procedure, public | position => spatial_moving_fix_position_3d_o |
Place spatial movable object into a 3D space, define the object's current coordinates, but first save previous coordinates. Object-based. See the_environment::spatial_moving_fix_position_3d_o() More... | |
procedure, public | repeat_position => spatial_moving_repeat_position_history_3d |
Repeat/re-save the current position into the positional history stack. See the_environment::spatial_moving_repeat_position_history_3d() . More... | |
procedure, public | position_v => spatial_moving_fix_position_3d_v |
Place spatial movable object into a 3D space, define the object's current coordinates, but first save previous coordinates. Vector-based. See the_environment::spatial_moving_fix_position_3d_v() More... | |
procedure, public | spatial_history_clean => spatial_moving_clean_hstory_3d |
Create a new empty history of positions for spatial moving object. Assign all values to the commondata::missing value code. See the_environment::spatial_moving_clean_hstory_3d() More... | |
procedure, public | way => spatial_moving_self_distance_3d |
Calculate the Euclidean distance between the current and previous position of a single spatial movable object. Optionally, it also calculates the total distance traversed during the from_history points from the history stack along with the distance from the current position and the last historical value. See the_environment::spatial_moving_self_distance_3d() . More... | |
procedure, public | go_up => spatial_moving_go_up |
The spatial moving object ascends, goes up the depth with specific fixed step size. See the_environment::spatial_moving_go_up() . More... | |
procedure, public | go_down => spatial_moving_go_down |
The spatial moving object decends, goes down the depth with specific fixed step size. See the_environment::spatial_moving_go_down() . More... | |
procedure, public | rwalk3d => spatial_moving_randomwalk_gaussian_step_3d |
Implements an optionally environment-restricted Gaussian random walk in 3D. See the_environment::spatial_moving_randomwalk_gaussian_step_3d() . More... | |
procedure, public | rwalk25d =>spatial_moving_randomwalk_gaussian_step_25d |
Implements an optionally environment-restricted Gaussian random walk in a "2.5 dimensions", i.e. 2D x y with separate walk parameters for the third depth dimension. See the_environment::spatial_moving_randomwalk_gaussian_step_25d() . More... | |
generic, public | rwalk => rwalk3d, rwalk25d |
Implements an optionally environment-restricted Gaussian random walk. Generic interface for 3D and 3.5D moves. See the_environment::spatial_moving_randomwalk_gaussian_step_3d() and the_environment::spatial_moving_randomwalk_gaussian_step_25d() . More... | |
procedure, public | corwalk3d => spatial_moving_corwalk_gaussian_step_3d |
Implements an optionally environment-restricted correlated directional Gaussian random walk in 3D towards (or away of) an the_environment::spatial class target object. See the_environment::spatial_moving_corwalk_gaussian_step_3d() . More... | |
procedure, public | corwalk25d =>spatial_moving_corwalk_gaussian_step_25d |
Implements an optionally environment-restricted correlated directional Gaussian random walk in 3D towards (or away of) an the_environment::spatial class target object. See the_environment::spatial_moving_corwalk_gaussian_step_25d() . More... | |
generic, public | corwalk => corwalk3d, corwalk25d |
Implements an optionally environment-restricted correlated directional Gaussian random walk. corwalk is a generic interface for 3D and "2.5"D moves. For details see the 3d version and a version with separate X,Y and depth random parameters. More... | |
procedure, public | dirwalk3d => spatial_moving_dirwalk_gaussian_step_3d |
Implements an optionally environment-restricted directional Gaussian random walk in 3D towards a target the_environment::spatial object. See the_environment::spatial_moving_dirwalk_gaussian_step_3d() More... | |
procedure, public | dirwalk25d =>spatial_moving_dirwalk_gaussian_step_25d |
Implements an optionally environment-restricted directional Gaussian random walk in "2.5"D towards a target object. i.e. 2D x y with separate walk parameters for the third depth dimension. See the_environment::spatial_moving_dirwalk_gaussian_step_25d() More... | |
generic, public | dirwalk => dirwalk3d, dirwalk25d |
Implements an optionally environment-restricted directional Gaussian random walk. Generic interface for 3D and "2.5"D moves. More... | |
Public Member Functions inherited from the_environment::spatial | |
procedure, public | create => spatial_create_empty |
Create an empty spatial object. More... | |
procedure, public | position => spatial_fix_position_3d_o |
Place spatial object into a 3D space, define the object's current coordinates. Object-based procedure. See the_environment::spatial_fix_position_3d_o() More... | |
procedure, public | position_v => spatial_fix_position_3d_s |
Place spatial object into a 3D space, define the object's current coordinates. Vector-based procedure. See the_environment::spatial_fix_position_3d_s() More... | |
procedure, public | missing => spatial_make_missing |
Assign all MISSING coordinates to the SPATIAL object. See the_environment::spatial_make_missing() More... | |
procedure, public | distance => spatial_distance_3d |
Calculate the Euclidean distance between two spatial objects. See the_environment::spatial_distance_3d() More... | |
procedure, public | distance_segment2d => geo_poly2d_dist_point_to_section |
Calculates the minimum distance from a the_environment::spatial class object to a line segment delimited by two the_environment::spatial endpoints in the 2D XY plane (the depth coordinate is ignored). See the_environment::geo_poly2d_dist_point_to_section() . More... | |
procedure, public | distance_segment => geo_poly3d_dist_point_to_section |
Calculates the minimum distance from a the_environment::spatial class object to a line segment delimited by two the_environment::spatial class endpoints in the 3D XY space. See the_environment::geo_poly3d_dist_point_to_section() . More... | |
procedure, public | way => spatial_self_distance_3d |
Calculate the Euclidean distance between the current and previous position of a single spatial object. See the_environment::spatial_self_distance_3d() More... | |
procedure, public | is_within => spatial_check_located_within_3d |
Function to check if this spatial object is located within an area set by an environmental object See the_environment::spatial_check_located_within_3d() More... | |
procedure, public | find_environment => spatial_get_environment_in_pos |
Identify in which environment from the input list this spatial agent is currently in. See the_environment::spatial_get_environment_in_pos() . More... | |
procedure, public | is_below => spatial_check_located_below |
Logical function to check if the argument spatial object(s) is(are) located below this spatial object. See the_environment::spatial_check_located_below() More... | |
procedure, public | is_above => spatial_check_located_above |
Logical function to check if the argument spatial object(s) is(are) located above this spatial object. See the_environment::spatial_check_located_above() More... | |
procedure, public | nearest => spatial_get_nearest_object |
Determine the nearest spatial object to this spatial object among an array of other spatial objects. See the_environment::spatial_get_nearest_object() More... | |
procedure, public | nearest_num => spatial_get_nearest_id |
Determine the nearest spatial object to this spatial object among an array of other spatial objects. See the_environment::spatial_get_nearest_id() More... | |
procedure, public | neighbours => spatial_neighbours_distances |
Calculate the distances between this spatial object and an array of its neighbours. Optionally output the distances, sorting index vector and rankings vector for each of these neighbours. Optionally do only partial indexing, up to the order rank_max for computational speed. See the_environment::spatial_neighbours_distances() More... | |
procedure, public | now_o => spatial_get_current_pos_3d_o |
Get the current spatial position of a SPATIAL object. Object-based. See the_environment::spatial_get_current_pos_3d_o() More... | |
procedure, public | now_v => spatial_get_current_pos_3d_v |
Get the current spatial position of a SPATIAL object. Vector-based. See the_environment::spatial_get_current_pos_3d_v() More... | |
generic, public | location => now_o, now_v |
Get the current spatial position of a SPATIAL object. Generic interface/alias. More... | |
generic, public | now => now_o, now_v |
Get the current spatial position of a SPATIAL object. Generic interface/alias. More... | |
procedure, public | xpos => spatial_get_current_pos_x_3d |
Get the current X position of a SPATIAL object. See the_environment::spatial_get_current_pos_x_3d() More... | |
procedure, public | ypos => spatial_get_current_pos_y_3d |
Get the current Y position of a SPATIAL object. See the_environment::spatial_get_current_pos_y_3d() More... | |
procedure, public | dpos => spatial_get_current_pos_d_3d |
Get the current Z (depth) position of a SPATIAL object. See the_environment::spatial_get_current_pos_d_3d() More... | |
procedure, public | illumination => spatial_calc_irradiance_at_depth |
Calculate the illumination (background irradiance) at the depth of the spatial object at an arbitrary time step of the model. See the_environment::spatial_calc_irradiance_at_depth() More... | |
procedure, public | visibility => spatial_visibility_visual_range_cm |
Calculate the visibility range of a spatial object. Wrapper to the visual_range function. This function calculates the distance from which this object can be seen by a visual object (e.g. predator or prey). See the_environment::spatial_visibility_visual_range_cm() . More... | |
Public Attributes | |
type(spatial), dimension(history_size_spatial) | history |
We define prior historical values of the SPATIAL positions. More... | |
Public Attributes inherited from the_environment::spatial | |
real(srp) | x |
We define three-dimensional environment: x, y and depth. More... | |
real(srp) | y |
real(srp) | depth |
Definition of a movable spatial object. It extends the the_environment::spatial object, but also adds its previous position history in stack-like arrays. The history is maintained with the commondata::add_to_history() subroutine, adding a single element on the top (end) of the history stack.
procedure, public the_environment::spatial_moving::create |
Create a new spatial moving object. Initially it has no position, all coordinate values are commondata::missing or commondata::invalid for real type coordinates. See the_environment::spatial_moving_create_3d()
procedure, public the_environment::spatial_moving::position |
Place spatial movable object into a 3D space, define the object's current coordinates, but first save previous coordinates. Object-based. See the_environment::spatial_moving_fix_position_3d_o()
procedure, public the_environment::spatial_moving::repeat_position |
Repeat/re-save the current position into the positional history stack. See the_environment::spatial_moving_repeat_position_history_3d()
.
procedure, public the_environment::spatial_moving::position_v |
Place spatial movable object into a 3D space, define the object's current coordinates, but first save previous coordinates. Vector-based. See the_environment::spatial_moving_fix_position_3d_v()
procedure, public the_environment::spatial_moving::spatial_history_clean |
Create a new empty history of positions for spatial moving object. Assign all values to the commondata::missing value code. See the_environment::spatial_moving_clean_hstory_3d()
procedure, public the_environment::spatial_moving::way |
Calculate the Euclidean distance between the current and previous position of a single spatial movable object. Optionally, it also calculates the total distance traversed during the from_history
points from the history stack along with the distance from the current position and the last historical value. See the_environment::spatial_moving_self_distance_3d()
.
procedure, public the_environment::spatial_moving::go_up |
The spatial moving object ascends, goes up the depth with specific fixed step size. See the_environment::spatial_moving_go_up()
.
procedure, public the_environment::spatial_moving::go_down |
The spatial moving object decends, goes down the depth with specific fixed step size. See the_environment::spatial_moving_go_down()
.
procedure, public the_environment::spatial_moving::rwalk3d |
Implements an optionally environment-restricted Gaussian random walk in 3D. See the_environment::spatial_moving_randomwalk_gaussian_step_3d()
.
procedure, public the_environment::spatial_moving::rwalk25d |
Implements an optionally environment-restricted Gaussian random walk in a "2.5 dimensions", i.e. 2D x y with separate walk parameters for the third depth dimension. See the_environment::spatial_moving_randomwalk_gaussian_step_25d()
.
generic, public the_environment::spatial_moving::rwalk |
Implements an optionally environment-restricted Gaussian random walk. Generic interface for 3D and 3.5D moves. See the_environment::spatial_moving_randomwalk_gaussian_step_3d()
and the_environment::spatial_moving_randomwalk_gaussian_step_25d()
.
procedure, public the_environment::spatial_moving::corwalk3d |
Implements an optionally environment-restricted correlated directional Gaussian random walk in 3D towards (or away of) an the_environment::spatial class target
object. See the_environment::spatial_moving_corwalk_gaussian_step_3d()
.
procedure, public the_environment::spatial_moving::corwalk25d |
Implements an optionally environment-restricted correlated directional Gaussian random walk in 3D towards (or away of) an the_environment::spatial class target
object. See the_environment::spatial_moving_corwalk_gaussian_step_25d()
.
generic, public the_environment::spatial_moving::corwalk |
Implements an optionally environment-restricted correlated directional Gaussian random walk. corwalk
is a generic interface for 3D and "2.5"D moves. For details see the 3d version and a version with separate X,Y and depth random parameters.
procedure, public the_environment::spatial_moving::dirwalk3d |
Implements an optionally environment-restricted directional Gaussian random walk in 3D towards a target
the_environment::spatial object. See the_environment::spatial_moving_dirwalk_gaussian_step_3d()
procedure, public the_environment::spatial_moving::dirwalk25d |
Implements an optionally environment-restricted directional Gaussian random walk in "2.5"D towards a target
object. i.e. 2D x y with separate walk parameters for the third depth dimension. See the_environment::spatial_moving_dirwalk_gaussian_step_25d()
generic, public the_environment::spatial_moving::dirwalk |
type(spatial), dimension(history_size_spatial) the_environment::spatial_moving::history |
We define prior historical values of the SPATIAL
positions.