Apollo 11.0
自动驾驶开放平台
type_fusion_interface.h
浏览该文件的文档.
1/******************************************************************************
2 * Copyright 2024 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#include <vector>
22
28
29namespace apollo {
30namespace perception {
31namespace lidar {
32
34
36 bool debug_log = false;
37};
38
40
42 public:
43 virtual bool Init(const TypeFilterInitOption& option) = 0;
44
45 virtual bool TypeFusion(const TypeFilterOption& option,
46 TrackedObjectPtr new_object) = 0;
47
48 virtual std::string Name() const = 0;
49};
50
52#define PERCEPTION_REGISTER_ONESHOTTYPEFUSION(name) \
53 PERCEPTION_REGISTER_CLASS(BaseSingleShotTypeFusion, name)
54
56 public:
58
59 public:
60 virtual bool Init(const TypeFilterInitOption& option) = 0;
61
62 virtual bool TypeFusion(const TypeFilterOption& option,
63 const std::vector<TrackedObjectConstPtr>& tracked_objects,
64 TrackedObjectPtr new_object) = 0;
65
66 virtual std::string Name() const = 0;
67};
68
70#define PERCEPTION_REGISTER_SEQUENCETYPEFUSION(name) \
71 PERCEPTION_REGISTER_CLASS(BaseMultiShotTypeFusion, name)
72
73} // namespace lidar
74} // namespace perception
75} // namespace apollo
virtual bool TypeFusion(const TypeFilterOption &option, const std::vector< TrackedObjectConstPtr > &tracked_objects, TrackedObjectPtr new_object)=0
virtual bool Init(const TypeFilterInitOption &option)=0
virtual bool TypeFusion(const TypeFilterOption &option, TrackedObjectPtr new_object)=0
virtual bool Init(const TypeFilterInitOption &option)=0
std::map< TimeStampKey, std::shared_ptr< apollo::perception::base::Object > > TrackedObjects
std::shared_ptr< TrackedObject > TrackedObjectPtr
class register implement
Definition arena_queue.h:37
#define PERCEPTION_REGISTER_REGISTERER(base_class)
Definition registerer.h:92