diff --git a/framework/cybertron/tools/cvt/monitor/general_message.cpp b/framework/cybertron/tools/cvt/monitor/general_message.cpp index 4e35690ad11436fb8ec7aa31320200b1b3bdf881..511de3a0f48a5bbaacc664f5463f62356e3a7780 100644 --- a/framework/cybertron/tools/cvt/monitor/general_message.cpp +++ b/framework/cybertron/tools/cvt/monitor/general_message.cpp @@ -27,6 +27,7 @@ RenderableMessage* GeneralMessage::Child(int lineNo) const { void GeneralMessage::PrintRepeatedField(const Screen* s, unsigned& lineNo, int indent, int index, int jumpLines) { std::ostringstream outStr; + std::ios_base::fmtflags old_flags; const std::string& fieldName = field_->name(); outStr << fieldName << ": "; @@ -35,29 +36,33 @@ void GeneralMessage::PrintRepeatedField(const Screen* s, unsigned& lineNo, } switch (field_->cpp_type()) { -#define OUTPUT_FIELD(CPPTYPE, METHOD) \ +#define OUTPUT_FIELD(CPPTYPE, METHOD, PRECISION) \ case google::protobuf::FieldDescriptor::CPPTYPE_##CPPTYPE: \ - outStr << std::setprecision(64) << field_->is_repeated() \ + old_flags = outStr.flags(); \ + outStr << std::fixed << std::setprecision(PRECISION) \ + << field_->is_repeated() \ ? reflection_ptr_->GetRepeated##METHOD(*message_ptr_, field_, index) \ : reflection_ptr_->Get##METHOD(*message_ptr_, field_); \ + outStr.flags(old_flags); \ break - OUTPUT_FIELD(INT32, Int32); - OUTPUT_FIELD(INT64, Int64); - OUTPUT_FIELD(UINT32, UInt32); - OUTPUT_FIELD(UINT64, UInt64); - OUTPUT_FIELD(FLOAT, Float); - OUTPUT_FIELD(DOUBLE, Double); - OUTPUT_FIELD(BOOL, Bool); + OUTPUT_FIELD(INT32, Int32, 6); + OUTPUT_FIELD(INT64, Int64, 6); + OUTPUT_FIELD(UINT32, UInt32, 6); + OUTPUT_FIELD(UINT64, UInt64, 6); + OUTPUT_FIELD(FLOAT, Float, 6); + OUTPUT_FIELD(DOUBLE, Double, 9); + OUTPUT_FIELD(BOOL, Bool, 6); #undef OUTPUT_FIELD case google::protobuf::FieldDescriptor::CPPTYPE_STRING: { std::string scratch; const std::string& value = - field_->is_repeated() ? reflection_ptr_->GetRepeatedStringReference( - *message_ptr_, field_, index, &scratch) - : reflection_ptr_->GetStringReference( - *message_ptr_, field_, &scratch); + field_->is_repeated() + ? reflection_ptr_->GetRepeatedStringReference( + *message_ptr_, field_, index, &scratch) + : reflection_ptr_->GetStringReference(*message_ptr_, field_, + &scratch); outStr << value.substr(jumpLines); break; } @@ -71,9 +76,9 @@ void GeneralMessage::PrintRepeatedField(const Screen* s, unsigned& lineNo, const google::protobuf::EnumValueDescriptor* enum_desc = field_->enum_type()->FindValueByNumber(enum_value); if (enum_desc != nullptr) { - outStr << enum_desc->name() << " " << enum_value; + outStr << enum_desc->name(); } else { - outStr << enum_value << " " << enum_value; + outStr << enum_value; } break; } @@ -81,11 +86,10 @@ void GeneralMessage::PrintRepeatedField(const Screen* s, unsigned& lineNo, case google::protobuf::FieldDescriptor::CPPTYPE_MESSAGE: s->AddStr(indent, lineNo++, outStr.str().c_str()); GeneralMessageBase::PrintMessage( - this, - field_->is_repeated() - ? reflection_ptr_->GetRepeatedMessage(*message_ptr_, field_, - index) - : reflection_ptr_->GetMessage(*message_ptr_, field_), + this, field_->is_repeated() + ? reflection_ptr_->GetRepeatedMessage(*message_ptr_, field_, + index) + : reflection_ptr_->GetMessage(*message_ptr_, field_), s, lineNo, indent + 2, jumpLines + 1); outStr.str(""); break; @@ -94,11 +98,10 @@ void GeneralMessage::PrintRepeatedField(const Screen* s, unsigned& lineNo, s->AddStr(indent, lineNo++, outStr.str().c_str()); } -GeneralMessage::GeneralMessage( - GeneralMessageBase* parent, - const google::protobuf::Message* - msg, const google::protobuf::Reflection* reflection, - const google::protobuf::FieldDescriptor* field) +GeneralMessage::GeneralMessage(GeneralMessageBase* parent, + const google::protobuf::Message* msg, + const google::protobuf::Reflection* reflection, + const google::protobuf::FieldDescriptor* field) : GeneralMessageBase(parent), itemIndex_(0), field_(field), @@ -129,7 +132,7 @@ void GeneralMessage::Render(const Screen* s, int key) { s->AddStr(0, lineNo++, "FrameRatio: "); s->AddStr(outStr.str().c_str()); - clear(); + clear(); if (message_ptr_ && reflection_ptr_) { int size = 0; @@ -158,7 +161,8 @@ void GeneralMessage::Render(const Screen* s, int key) { default:; } - int lcount = lineCountOfField(*message_ptr_, s->Width(), field_, reflection_ptr_); + int lcount = + lineCountOfField(*message_ptr_, s->Width(), field_, reflection_ptr_); int pageItemCount = s->Height() - lineNo; pages_ = lcount / pageItemCount + 1; SplitPages(key); diff --git a/framework/cybertron/tools/cvt/monitor/general_message_base.cpp b/framework/cybertron/tools/cvt/monitor/general_message_base.cpp index 38ff1408871f7bf1c07e9c8b1cc8e30afb7d3db4..54e1c9ce148203077807185da442b4290b25c1eb 100644 --- a/framework/cybertron/tools/cvt/monitor/general_message_base.cpp +++ b/framework/cybertron/tools/cvt/monitor/general_message_base.cpp @@ -108,6 +108,7 @@ void GeneralMessageBase::PrintMessage(GeneralMessageBase* baseMsg, } std::ostringstream outStr; + std::ios_base::fmtflags old_flags; for (; i < fields.size(); ++i) { const google::protobuf::FieldDescriptor* field = fields[i]; const std::string& fieldName = field->name(); @@ -124,18 +125,21 @@ void GeneralMessageBase::PrintMessage(GeneralMessageBase* baseMsg, } else { switch (field->cpp_type()) { -#define OUTPUT_FIELD(CPPTYPE, METHOD) \ - case google::protobuf::FieldDescriptor::CPPTYPE_##CPPTYPE: \ - outStr << std::setprecision(64) << reflection->Get##METHOD(msg, field); \ +#define OUTPUT_FIELD(CPPTYPE, METHOD, PRECISION) \ + case google::protobuf::FieldDescriptor::CPPTYPE_##CPPTYPE: \ + old_flags = outStr.flags(); \ + outStr << std::fixed << std::setprecision(PRECISION) \ + << reflection->Get##METHOD(msg, field); \ + outStr.flags(old_flags); \ break - OUTPUT_FIELD(INT32, Int32); - OUTPUT_FIELD(INT64, Int64); - OUTPUT_FIELD(UINT32, UInt32); - OUTPUT_FIELD(UINT64, UInt64); - OUTPUT_FIELD(FLOAT, Float); - OUTPUT_FIELD(DOUBLE, Double); - OUTPUT_FIELD(BOOL, Bool); + OUTPUT_FIELD(INT32, Int32, 6); + OUTPUT_FIELD(INT64, Int64, 6); + OUTPUT_FIELD(UINT32, UInt32, 6); + OUTPUT_FIELD(UINT64, UInt64, 6); + OUTPUT_FIELD(FLOAT, Float, 6); + OUTPUT_FIELD(DOUBLE, Double, 9); + OUTPUT_FIELD(BOOL, Bool, 6); #undef OUTPUT_FIELD case google::protobuf::FieldDescriptor::CPPTYPE_ENUM: { @@ -144,9 +148,9 @@ void GeneralMessageBase::PrintMessage(GeneralMessageBase* baseMsg, const google::protobuf::EnumValueDescriptor* enum_desc = field->enum_type()->FindValueByNumber(enum_value); if (enum_desc != nullptr) { - outStr << enum_desc->name() << " " << enum_value; + outStr << enum_desc->name(); } else { - outStr << enum_value << " " << enum_value; + outStr << enum_value; } break; } diff --git a/modules/tools/visualizer/CMakeLists.txt b/modules/tools/visualizer/CMakeLists.txt deleted file mode 100644 index 58cea27567da58999ab1c0a08660a7ab0e55d17c..0000000000000000000000000000000000000000 --- a/modules/tools/visualizer/CMakeLists.txt +++ /dev/null @@ -1,44 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) - -project(cyber_visualizer) - -set(CMAKE_INCLUDE_CURRENT_DIR ON) -set(CMAKE_AUTOMOC ON) - -set(CMAKE_PREFIX_PATH ${CMAKE_SOURCE_DIR}/third_party/Qt5.5.1/5.5/gcc_64) -find_package(Qt5 REQUIRED COMPONENTS Gui Widgets Core) - -set(OUTTER_LIBRARIES - cybertron - cybertron_proto - cybertron_common - sensor_msgs - fastrtps - console_bridge - protobuf - glog - pthread - GL -) - -include_directories(.) - -file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cc) -file(GLOB HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.h) -file(GLOB UIS ${CMAKE_CURRENT_SOURCE_DIR}/uis/*.ui) -file(GLOB RESOURCE ${CMAKE_CURRENT_SOURCE_DIR}/*.qrc) - -qt5_wrap_ui(WRAP_UIS ${UIS}) -#qt5_wrap_cpp(MOC widget.h) -qt5_add_resources(RCC ${RESOURCE}) - -add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS} ${UIS} ${RCC}) -target_link_libraries(${PROJECT_NAME} Qt5::Widgets) -target_link_libraries(${PROJECT_NAME} Qt5::Gui) -target_link_libraries(${PROJECT_NAME} Qt5::Core) -target_link_libraries(${PROJECT_NAME} ${OUTTER_LIBRARIES}) -target_include_directories(${PROJECT_NAME} PUBLIC ${PROTO_SRC_DIR}) - -install(TARGETS ${PROJECT_NAME} -DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) -