2017-04-04 15 views
-4

chageTarget TraCIコマンドを使用して目的地を変更したTraCICommandInterface.ccファイルにメソッドchangeTargetを作成しました。私はそれが正しい実装であるかどうか、また方法で言及されたnodeIdのTraCICommandInterface.hと同じであるかどうかを知りたいと思います。だから私はnodeIdを使うことができますか、または車のIDを取得するためにgetexternalId()メソッドを使用する必要がありますか?車のターゲット方法を変更する

void TraCICommandInterface::Vehicle::changeTarget(std::string roadId) { 
    uint8_t variableId = CMD_CHANGETARGET; 
    uint8_t variableType = TYPE_COMPOUND; 
    uint8_t edgeIdT = TYPE_STRING; 
    std::string edgeId = roadId; 
    TraCIBuffer buf = connection->query(CMD_SET_VEHICLE_VARIABLE, TraCIBuffer() << variableId << nodeId << variableType << edgeId<<edgeIdT); 
    ASSERT(buf.eof()); 
} 

答えて

0

いいえ、正しくありません。タイプは常に値の前に置く必要があり、ここに化合物は必要ありません。だから次のようなもの:

uint8_t variableId = CMD_CHANGETARGET; 
uint8_t edgeIdT = TYPE_STRING; 
TraCIBuffer buf = connection->query(CMD_SET_VEHICLE_VARIABLE, TraCIBuffer() << variableId << nodeId << edgeIdT << roadId); 
関連する問題