Как вставить метод moveToXY () в вены? - PullRequest
0 голосов
/ 06 сентября 2018

Сначала я делюсь своими сообщениями об ошибках и действиях.

Мое действие:

1. Я добавил следующий код в файл TraCIDemo11p.cc:

 std::string edgeId ="1i";
 traciVehicle->moveToXY(edgeId, 0,mobility->getCurrentPosition().x+2,mobility->getCurrentPosition().y,mobility->getAngleRad());

2. Я добавил следующий код в файл TraCICommandInterface.cc:

void TraCICommandInterface::Vehicle::moveToXY(std::string edgeId,int32_t laneid,double x,double y,double angle){
    uint8_t variableId = CMD_MOVEXY;
    uint8_t variableType = TYPE_COMPOUND;
    int32_t count = 5;
    uint8_t edgeType = TYPE_STRING;
    uint8_t lanidType = TYPE_INTEGER;
    uint8_t postionType = TYPE_DOUBLE;
    uint8_t routeType = TYPE_BYTE;
    uint8_t route = 1;
    TraCIBuffer buf = connection->query(CMD_SET_VEHICLE_VARIABLE, TraCIBuffer() << variableId << nodeId << variableType <<
               count <<edgeType << edgeId << lanidType << laneid << postionType << x << postionType << y <<postionType <<
               angle << routeType << route );
    ASSERT(buf.eof());
}

Сообщение об ошибке:

Затем, когда я запускаю симуляцию вен, Traci Server выдает следующую ошибку:

Ошибка: ответ с ошибкой на команду 0xc4: неправильная позиция в requestMessage после отправки команды. Ожидаемая длина команды была 61, но 59 байт были прочитаны.

Может кто-нибудь помочь мне, как решить эту ошибку?

...