Apollo 10.0
自动驾驶开放平台
type_fusion_interface.h
浏览该文件的文档.
1/******************************************************************************
2 * Copyright 2023 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#pragma once
18
19#include <memory>
20#include <string>
21
26
27namespace apollo {
28namespace perception {
29namespace radar4d {
30
32
34
36
38 public:
46 virtual bool Init(const TypeFusionInitOption& option) = 0;
55 virtual bool TypeFusion(const TypeFusionOption& option,
56 std::shared_ptr<perception::base::Object> object) = 0;
62 virtual std::string Name() const = 0;
63};
64
66#define PERCEPTION_REGISTER_ONESHOTTYPEFUSION(name) \
67 PERCEPTION_REGISTER_CLASS(BaseOneShotTypeFusion, name)
68
70 public:
72
73 public:
81 virtual bool Init(const TypeFusionInitOption& option) = 0;
90 virtual bool TypeFusion(const TypeFusionOption& option,
91 TrackedObjects* tracked_objects) = 0;
97 virtual std::string Name() const = 0;
98};
99
101#define PERCEPTION_REGISTER_SEQUENCETYPEFUSION(name) \
102 PERCEPTION_REGISTER_CLASS(BaseSequenceTypeFusion, name)
103
104} // namespace radar4d
105} // namespace perception
106} // namespace apollo
virtual std::string Name() const =0
Get class name
virtual bool Init(const TypeFusionInitOption &option)=0
Init type fusion
virtual bool TypeFusion(const TypeFusionOption &option, std::shared_ptr< perception::base::Object > object)=0
Type fusion
virtual bool TypeFusion(const TypeFusionOption &option, TrackedObjects *tracked_objects)=0
Type fusion
virtual std::string Name() const =0
Get class name
virtual bool Init(const TypeFusionInitOption &option)=0
Init type fusion
std::map< TimeStampKey, std::shared_ptr< apollo::perception::base::Object > > TrackedObjects
class register implement
Definition arena_queue.h:37
#define PERCEPTION_REGISTER_REGISTERER(base_class)
Definition registerer.h:92