Aimsun Next API Informações de Veículo (Meso)¶
Funções relacionadas a Informações do Veículo¶
Obter informações do veículo¶
Em C++ e Python¶
Explicação¶
Obter as informações atuais do veículo
Formato¶
AMesoVehicleInfo AMesoGetVehicleInfo(void * simhandler, void * vehhandler);
Parâmetros¶
- simhandler: manipulador do simulador
- vehhandler: manipulador de veículo
Saída¶
struct AMesoVehicleInfo {
int id;
int vehicleTypeIndex;
int origin;
int entranceSection;
int destination;
double valueOfTime;
double entranceTime;
double generationTime;
int currentSection;
int currentTurning;
int currentEntranceLane;
int currentExitLane;
double currentExitTime;
int nextSection;
};
Onde:
- Id: identificador do veículo
- Índice do Tipo de Veículo: índice do tipo de veículo.
- origem: identificador do centroide de origem
- destino: identificador do centroide de destino
- valueOfTime: valor do tempo usado por este veículo
- entranceTime: tempo de entrada do veículo na rede
- generationTime: tempo de geração do veículo, este tempo é sempre menor ou igual a entranceTime
- currentSection: identificador da seção atual; se o veículo estiver em um movimento de conversão, esta seção atual será definida como 0
- currentTurning: identificador do movimento de conversão atual; se o veículo estiver em uma seção, ele é definido como 0
- currentEntranceLane: identificador da faixa de entrada atual de 0 até o número de faixas da seção -1. Se não houver faixa de entrada atual, então é -1
- currentExitLane: identificador da faixa de saída atual de 0 ao número de faixas da seção -1. Se não houver faixa de saída atual, então é -1
- currentExitTime: este é o tempo estimado de saída do veículo. É o tempo estimado de saída da seção se currentSection > 0; caso contrário, é o tempo atual de saída do movimento de conversão.
- nextSectionId: id da próxima seção. Se o veículo estiver na última seção de seu caminho, retorna 0.
Definir novo tempo estimado de saída do veículo na seção ou no movimento de conversão¶
Em C++ e Python¶
Explicação¶
Define um novo tempo mínimo para o tempo de saída de um veículo em uma seção ou movimento de conversão.
Formato¶
int AMesoSetVehicleExitTime(void * simhandler, void * vehhandler, double exittime);
Parâmetros¶
- simhandler: manipulador do simulador
- vehhandler: manipulador de veículo
- exittime: novo tempo mínimo de saída
Saída¶
Retorna 0 se conseguiu executar a ação; caso contrário, -1.
Obter número de veículos seguindo uma linha de transporte coletivo¶
Em C++ e Python¶
Explicação¶
Obtém o número atual de veículos que seguem uma linha de transporte público.
Formato¶
int AMesoGetNbVehiclesFollowingPTLine(void * simhandler, int idline);
Parâmetros¶
- simhandler: manipulador do simulador
- idline: identificador da linha de transporte público
Saída¶
Retorna o número de veículos seguindo uma linha de transporte público.
Obter o veículo que segue uma linha de transporte público¶
Em C++ e Python¶
Explicação¶
Ele obtém o veículo que segue uma linha de transporte público.
Formato¶
void * AMesoGetVehicleFollowingPTLine(void * simhandler, int idline, int vehPos)
Parâmetros¶
- simhandler: manipulador do simulador
- idline: identificador da linha de transporte público
- vehPos: identificador do veículo de transporte público de 0 a AMesoGetNbVehiclesFollowingPTLine-1
Saída¶
Retorna o veículo que segue uma linha de transporte público.
Obter o atraso acumulado atual de um veículo¶
Em C++ e Python¶
Explicação¶
Obtém o atraso acumulado de um veículo. O tempo de permanência do veículo não está incluído.
Formato¶
double AMesoVehGetAccumulatedDelay(void * simhandler, void* vehhandler)
Parâmetros¶
- simhandler: manipulador do simulador
- vehhandler: manipulador de veículo
Saída¶
Retorna o atraso acumulado atual do veículo.
Obter o tempo de viagem acumulado atual de um veículo¶
Em C++ e Python¶
Explicação¶
Obtém o tempo de viagem acumulado de um veículo.
Formato¶
double AMesoVehGetAccumulatedTravelTime(void * simhandler, void* vehhandler)
Parâmetros¶
- simhandler: manipulador do simulador
- vehhandler: manipulador de veículo
Saída¶
Retorna o tempo de viagem acumulado atual do veículo.
Obter o ID de um veículo¶
Em C++ e Python¶
Explicação¶
Obtém o identificador (ID) de um veículo.
Formato¶
int AMesoGetVehicleID(void* vehhandler)
Parâmetros¶
- vehhandler: manipulador de veículo
Saída¶
Retorna o ID do veículo.
Obter o próximo horário de saída da seção ou do movimento de conversão¶
Em C++ e Python¶
Explicação¶
Retorna o tempo atual de saída do veículo para a seção se o veículo estiver na seção, ou o tempo de movimento de conversão de saída se o veículo estiver no nó.
Formato¶
double AMesoVehGetSectionExitTime(void* vehhandler)
Parâmetros¶
- vehhandler: manipulador de veículo
Saída¶
Retorna o tempo de saída esperado. Tempo relativo na simulação.
Obter o próximo movimento de conversão no caminho do veículo¶
Em C++ e Python¶
Explicação¶
Retorna o próximo movimento de conversão no caminho do veículo. Quando o veículo está localizado no movimento de conversão, o próximo movimento de conversão é o movimento de conversão atual.
Formato¶
int AMesoVehNextTurn(void* vehhandler)
Parâmetros¶
- vehhandler: manipulador de veículo
Saída¶
Retorna o ID do próximo movimento de conversão do veículo.
Obter o tempo de espera do veículo atual¶
Em C++ e Python¶
Explicação¶
Retorna o tempo de espera atual do veículo. Este é o tempo de simulação atual menos o tempo de saída esperado inicial. O tempo de saída esperado inicial é o momento mais cedo em que o veículo poderia sair da seção quando ele estava em primeiro na fila.
Formato¶
double AMesoVehGetWaitingTime(void* simhandler, void* vehhandler)
Parâmetros¶
- simhandler: manipulador de simulação
- vehhandler: manipulador de veículo
Saída¶
Retorna o tempo de espera em segundos.
Retorna o horário de chegada esperado a uma seção¶
Em C++ e Python¶
Explicação¶
Retorna o tempo esperado de chegada à seção id. A seção deve fazer parte do caminho a partir da posição atual. Caso contrário, o tempo esperado de chegada é 0.
Formato¶
double AMesoExpectedArrivalTimeToSection( void* simhandler, void* vehhandler, int sectionId )
Parâmetros¶
- simhandler: manipulador de simulação
- vehhandler: manipulador de veículo
- sectionId: identificador da seção
Saída¶
Retorna um tempo de chegada esperado.
Retorna se um movimento de conversão tem sinal de dê a preferência ou não¶
Em C++ e Python¶
Explicação¶
Retorna true se o movimento de conversão com turn id tiver uma placa de dê a preferência/give way
Formato¶
bool AMesoIsTurnWithGiveway( void* simhandler, int turnId )
Parâmetros¶
- simhandler: manipulador de simulação
- turnId: identificador do movimento de conversão
Saída¶
Retorna true se o movimento de conversão tiver uma placa de dê a preferência; false caso contrário.
Retorna a margem de segurança inicial para o id do movimento de conversão¶
Em C++ e Python¶
Explicação¶
Retorna a margem de segurança inicial para o id do movimento de conversão.
Formato¶
double AMesoGetInitialSafteyMargin( void* simhandler, int turnId )
Parâmetros¶
- simhandler: manipulador de simulação
- turnId: identificador do movimento de conversão
Saída¶
Retorna a margem de segurança inicial.
Retorna a margem de segurança final para o id do movimento de conversão¶
Em C++ e Python¶
Explicação¶
Retorna a margem de segurança final para o id do movimento de conversão.
Formato¶
double AMesoGetFinalSafteyMargin( void* simhandler, int turnId )
Parâmetros¶
- simhandler: manipulador de simulação
- turnId: identificador do movimento de conversão
Saída¶
Retorna a margem de segurança final.
Retorna o tempo de viagem em fluxo livre do id do movimento de conversão¶
Em C++ e Python¶
Explicação¶
Retorna o tempo de viagem em fluxo livre do movimento de conversão especificado por turnId. Se vehhandler for diferente de null, usará a aceitação de velocidade do veículo; caso contrário, usará o limite de velocidade do movimento de conversão.
Formato¶
double AMesoGetTurnFreeFlowTravelTime( void* simhandler, void * vehhandler, int turnId )
Parâmetros¶
- simhandler: manipulador de simulação
- vehhandler: manipulador de veículo
- turnId: identificador do movimento de conversão
Saída¶
Retorna o tempo de viagem em fluxo livre.
Retorna o tempo de viagem em fluxo livre da seção id¶
Em C++ e Python¶
Explicação¶
Retorna o tempo de viagem em fluxo livre da seção especificada por sectionId. Se vehhandler for diferente de null, usará a aceitação de velocidade do veículo; caso contrário, usará o limite de velocidade do movimento de conversão.
Formato¶
double AMesoGetTurnFreeFlowTravelTime( void* simhandler, void * vehhandler, int sectionId )
Parâmetros¶
- simhandler: manipulador de simulação
- vehhandler: manipulador de veículo
- sectionId: identificador da seção
Saída¶
Retorna o tempo de viagem em fluxo livre.