Apollo 10.0
自动驾驶开放平台
apollo::cyber::RosApolloMessageConverter< InputTypes< std::shared_ptr< InType0 > >, OutputTypes< std::shared_ptr< OutType0 > > > 模板类 参考abstract

#include <convert_ros_single.h>

类 apollo::cyber::RosApolloMessageConverter< InputTypes< std::shared_ptr< InType0 > >, OutputTypes< std::shared_ptr< OutType0 > > > 继承关系图:
apollo::cyber::RosApolloMessageConverter< InputTypes< std::shared_ptr< InType0 > >, OutputTypes< std::shared_ptr< OutType0 > > > 的协作图:

Public 成员函数

 RosApolloMessageConverter ()
 
 ~RosApolloMessageConverter () override
 
bool Init () override
 
- Public 成员函数 继承自 apollo::cyber::MessageConverter
 MessageConverter ()
 
virtual ~MessageConverter ()
 
bool IsInit () const
 

Protected 成员函数

virtual bool ConvertMsg (InputTypes< std::shared_ptr< InType0 > > &input, OutputTypes< std::shared_ptr< OutType0 > > &output)=0
 
- Protected 成员函数 继承自 apollo::cyber::MessageConverter
bool LoadConfig (ConverterConf *config)
 

额外继承的成员函数

- Protected 属性 继承自 apollo::cyber::MessageConverter
std::atomic< bool > init_
 
std::unique_ptr< apollo::cyber::Nodecyber_node_
 
std::vector< std::shared_ptr< apollo::cyber::proto::RoleAttributes > > apollo_attrs_
 
std::vector< std::shared_ptr< apollo::cyber::ReaderBase > > apollo_readers_
 
std::vector< std::shared_ptr< apollo::cyber::WriterBase > > apollo_writers_
 
const std::string node_name_ = "converter_base"
 
ConverterConf converter_conf_
 

详细描述

template<typename InType0, typename OutType0>
class apollo::cyber::RosApolloMessageConverter< InputTypes< std::shared_ptr< InType0 > >, OutputTypes< std::shared_ptr< OutType0 > > >

在文件 convert_ros_single.h32 行定义.

构造及析构函数说明

◆ RosApolloMessageConverter()

template<typename InType0 , typename OutType0 >
apollo::cyber::RosApolloMessageConverter< InputTypes< std::shared_ptr< InType0 > >, OutputTypes< std::shared_ptr< OutType0 > > >::RosApolloMessageConverter ( )
inline

在文件 convert_ros_single.h39 行定义.

39{}

◆ ~RosApolloMessageConverter()

template<typename InType0 , typename OutType0 >
apollo::cyber::RosApolloMessageConverter< InputTypes< std::shared_ptr< InType0 > >, OutputTypes< std::shared_ptr< OutType0 > > >::~RosApolloMessageConverter ( )
inlineoverride

在文件 convert_ros_single.h40 行定义.

40{}

成员函数说明

◆ ConvertMsg()

template<typename InType0 , typename OutType0 >
virtual bool apollo::cyber::RosApolloMessageConverter< InputTypes< std::shared_ptr< InType0 > >, OutputTypes< std::shared_ptr< OutType0 > > >::ConvertMsg ( InputTypes< std::shared_ptr< InType0 > > &  input,
OutputTypes< std::shared_ptr< OutType0 > > &  output 
)
protectedpure virtual

◆ Init()

template<typename InType0 , typename OutType0 >
bool apollo::cyber::RosApolloMessageConverter< InputTypes< std::shared_ptr< InType0 > >, OutputTypes< std::shared_ptr< OutType0 > > >::Init ( )
inlineoverridevirtual

重载 apollo::cyber::MessageConverter .

在文件 convert_ros_single.h42 行定义.

42 {
44 if (!init_.load()) {
45 return false;
46 }
48 AERROR << "load config failed";
49 return false;
50 }
51
52 auto writer_attrs =
53 std::make_shared<apollo::cyber::proto::RoleAttributes>();
54 writer_attrs->set_channel_name(converter_conf_.apollo_channel_name_0());
55 apollo_attrs_.push_back(writer_attrs);
56 auto ros_topic_name_0 = converter_conf_.ros_topic_name_0();
57
58 apollo_writer_0_ =
59 cyber_node_->template CreateWriter<OutType0>(*writer_attrs);
60#ifdef RCLCPP__RCLCPP_HPP_
61 ros_subscriptions_.push_back(
62 std::move(ros_node_->create_subscription<InType0>(
63 ros_topic_name_0, 10,
64 std::bind(
66 InputTypes<std::shared_ptr<InType0>>,
67 OutputTypes<std::shared_ptr<OutType0>>>::TopicCallback,
68 this, std::placeholders::_1))));
69 ros_spin_thread_ =
70 std::make_shared<std::thread>(&MessageConverter::NodeSpin, this);
71#endif
72 return true;
73 }
std::unique_ptr< apollo::cyber::Node > cyber_node_
std::vector< std::shared_ptr< apollo::cyber::proto::RoleAttributes > > apollo_attrs_
bool LoadConfig(ConverterConf *config)
#define AERROR
Definition log.h:44

该类的文档由以下文件生成: