Tipos públicos | |
typedef Agent_Info | Agent_Type |
El tipo de información que contiene el agente. | |
typedef bool(* | Enter_Node_Fct )(Agent_Graph *, Node *, Node_to_Node_Agent *) |
Modifica estado de nodo destino cuando agente lo ingresa. | |
typedef Arc *(* | Leave_Node_Fct )(Agent_Graph *, Node *, Node_to_Node_Agent *) |
Modifica estado de nodo origen cuando agente lo deja. | |
typedef void(* | Transit )(Agent_Graph *, Agent *, void *) |
Tipo de función de tránsito a invocar cada vez que el agente entra a un componente del grafo. Por componente se entiende un nodo o un arco. | |
Métodos públicos | |
void *& | get_cookie () |
Retorna una referencia al cookie del agente. | |
Agent_Info & | get_info () |
Retorna los atributos asociados al agente. | |
bool | is_in_node () |
Retorna true si el agente está en un nodo; false si está en un arco. |
Básicamente, el tránsito de este agente se divide en las siguientes fases:
Decidir por cual arco debe continuar el agente. Este es el valor de retorno de leave_node(). Si el agente ha culminado su tránsito, entonces se retorna NULL, en cuyo caso el agente es eliminado del sistema.
Llama a la función enter_node(node,agent) la cual modifica el estado del nodo destino. Si enter_node() retorna false, entonces el agente es eliminado del sistema.
Definición en la línea 489 del archivo tpl_agent.H.