Apollo  6.0
Open source self driving car software
base_existence_fusion.h
Go to the documentation of this file.
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 #pragma once
17 
18 #include <string>
19 
24 
25 namespace apollo {
26 namespace perception {
27 namespace fusion {
28 
30  public:
31  explicit BaseExistenceFusion(TrackPtr track) : track_ref_(track) {}
32  virtual ~BaseExistenceFusion() {}
35 
36  static bool Init();
37 
38  // @brief: update track state with measurement
39  // @param [in]: measurement
40  // @param [in]: target_timestamp
41  // @param [in/out]: track
42  virtual void UpdateWithMeasurement(const SensorObjectPtr measurement,
43  double target_timestamp,
44  double match_dist) = 0;
45 
46  virtual void UpdateWithoutMeasurement(const std::string& sensor_id,
47  double measurement_timestamp,
48  double target_timestamp,
49  double min_match_dist) = 0;
50 
51  virtual std::string Name() const = 0;
52 
53  protected:
54  TrackPtr track_ref_ = nullptr;
55 };
56 
57 } // namespace fusion
58 } // namespace perception
59 } // namespace apollo
TrackPtr track_ref_
Definition: base_existence_fusion.h:54
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
BaseExistenceFusion & operator=(const BaseExistenceFusion &)=delete
std::shared_ptr< SensorObject > SensorObjectPtr
Definition: sensor_object.h:68
Definition: base_existence_fusion.h:29
virtual ~BaseExistenceFusion()
Definition: base_existence_fusion.h:32
virtual void UpdateWithoutMeasurement(const std::string &sensor_id, double measurement_timestamp, double target_timestamp, double min_match_dist)=0
BaseExistenceFusion(TrackPtr track)
Definition: base_existence_fusion.h:31
std::shared_ptr< Track > TrackPtr
Definition: track.h:160
virtual void UpdateWithMeasurement(const SensorObjectPtr measurement, double target_timestamp, double match_dist)=0