FIX: fixed bugs in MoveOrder
This commit is contained in:
@@ -42,10 +42,10 @@ namespace Orders
|
||||
}
|
||||
|
||||
|
||||
|
||||
SimCore::Position MoveOrder::getPosition(){return pos_;}
|
||||
|
||||
|
||||
SimCore::Position MoveOrder::getPosition()
|
||||
{
|
||||
return pos_;
|
||||
}
|
||||
|
||||
|
||||
WHISPER::Message MoveOrder::buildMessage()
|
||||
@@ -61,19 +61,23 @@ namespace Orders
|
||||
MoveOrder.mutable_geocentricposition()->set_z(pos_.getGeocentricPos().z());
|
||||
}
|
||||
|
||||
if (Speed.getValidity() == true) {
|
||||
if (Speed.isValid() == true) {
|
||||
MoveOrder.set_speed(Speed.getValue());
|
||||
}
|
||||
if (Course.getValidity() == true) {
|
||||
if (Course.isValid() == true) {
|
||||
MoveOrder.set_course(Course.getValue());
|
||||
}
|
||||
if (Speed.isValid() == true) {
|
||||
MoveOrder.set_speed(Speed.getValue());
|
||||
}
|
||||
if (Course.isValid() == true) {
|
||||
MoveOrder.set_course(Course.getValue());
|
||||
}
|
||||
|
||||
if (StartTime.getValidity() == true) {
|
||||
if (StartTime.isValid() == true) {
|
||||
MoveOrder.mutable_startingtime()->set_seconds(StartTime.getValue());
|
||||
}
|
||||
|
||||
LOG_S(INFO)<<"ordered speed:" << MoveOrder.speed();
|
||||
|
||||
auto anyOrder = google::protobuf::Any();
|
||||
anyOrder.PackFrom(MoveOrder);
|
||||
|
||||
@@ -95,7 +99,7 @@ namespace Orders
|
||||
|
||||
|
||||
std::unique_ptr<MoveOrder> MoveOrder::unpack(WHISPER::Message msg)
|
||||
{
|
||||
{
|
||||
|
||||
if(msg.msgType_ == WHISPER::MsgType::COMMAND)
|
||||
{
|
||||
@@ -114,34 +118,28 @@ namespace Orders
|
||||
|
||||
auto MoveOrderObj = std::make_unique<MoveOrder>(OrderID,(WHISPER::SourceType)msg.sourceType_);
|
||||
|
||||
|
||||
if (moveOrder.has_geocentricposition()) MoveOrderObj->setPosition(SimCore::Position(moveOrder.geocentricposition().x(),moveOrder.geocentricposition().y(),moveOrder.geocentricposition().z()));
|
||||
|
||||
if (moveOrder.has_speed()) MoveOrderObj->Speed.setValue(moveOrder.speed());
|
||||
if (moveOrder.has_course()) MoveOrderObj->Course.setValue(moveOrder.course());
|
||||
if (moveOrder.has_startingtime()) MoveOrderObj->Course.setValue(moveOrder.mutable_startingtime()->seconds());
|
||||
|
||||
|
||||
|
||||
return std::move(MoveOrderObj);
|
||||
|
||||
return MoveOrderObj;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
std::unique_ptr<MoveOrder> MoveOrder::unpack(std::string msg)
|
||||
{
|
||||
if (std::empty(msg) == false && msg != "NULL")
|
||||
if (std::empty(msg) == false && msg != "NULL")
|
||||
{
|
||||
WHISPER::Message whisperMessage(msg);
|
||||
return std::move(unpack(whisperMessage));
|
||||
return unpack(whisperMessage);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user