Apollo
10.0
自动驾驶开放平台
transform_broadcaster.cc
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2018 The Apollo Authors. All Rights Reserved.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*****************************************************************************/
16
17
#include "
modules/transform/transform_broadcaster.h
"
18
19
#include "
modules/common/adapters/adapter_gflags.h
"
20
21
namespace
apollo
{
22
namespace
transform {
23
24
TransformBroadcaster::TransformBroadcaster
(
25
const
std::shared_ptr<cyber::Node>& node)
26
: node_(node) {
27
cyber::proto::RoleAttributes
attr;
28
attr.set_channel_name(FLAGS_tf_topic);
29
writer_ = node_->CreateWriter<
TransformStampeds
>(attr);
30
}
31
32
void
TransformBroadcaster::SendTransform
(
const
TransformStamped
& transform) {
33
std::vector<TransformStamped> transforms;
34
transforms.emplace_back(transform);
35
SendTransform
(transforms);
36
}
37
38
void
TransformBroadcaster::SendTransform
(
39
const
std::vector<TransformStamped>& transforms) {
40
auto
message = std::make_shared<TransformStampeds>();
41
*message->mutable_transforms() = {transforms.begin(), transforms.end()};
42
writer_->Write(message);
43
}
44
45
}
// namespace transform
46
}
// namespace apollo
adapter_gflags.h
apollo::transform::TransformBroadcaster::TransformBroadcaster
TransformBroadcaster(const std::shared_ptr< cyber::Node > &node)
Constructor (needs a cyber::Node reference)
Definition
transform_broadcaster.cc:24
apollo::transform::TransformBroadcaster::SendTransform
void SendTransform(const TransformStamped &transform)
Send a TransformStamped message The stamped data structure includes frame_id, and time,...
Definition
transform_broadcaster.cc:32
apollo
class register implement
Definition
arena_queue.h:37
apollo::cyber::proto::RoleAttributes
Definition
role_attributes.proto:12
apollo::transform::TransformStamped
Definition
transform.proto:13
apollo::transform::TransformStampeds
Definition
transform.proto:19
transform_broadcaster.h
modules
transform
transform_broadcaster.cc