Apollo  6.0
Open source self driving car software
track_object.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 <memory>
19 #include <vector>
20 
23 
24 namespace apollo {
25 namespace perception {
26 namespace camera {
27 struct alignas(16) TrackObject {
28  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
30  double timestamp;
33 };
34 typedef std::shared_ptr<TrackObject> TrackObjectPtr;
35 typedef std::vector<TrackObjectPtr> TrackObjectPtrs;
36 // struct TrackFeature {
37 // TrackFeature(int frame_id, std::shared_ptr<base::Blob<float>> blob);
38 // int frame_id_;
39 // std::shared_ptr<base::Blob<float>> blob_;
40 // };
41 // class TrackObjectPool {
42 // public:
43 // void Init(size_t capacity);
44 // void NewObject(TrackObjectPtr *ptr);
45 // void NewObject(TrackObjectPtrs *ptr, int batch_size);
46 // void FreeObject(TrackObjectPtr ptr);
47 // void FreeObject(const TrackObjectPtrs &ptr);
48 // private:
49 // std::queue<TrackObjectPtr> data_;
50 // size_t capacity_;
51 // };
52 
53 } // namespace camera
54 } // namespace perception
55 } // namespace apollo
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
Definition: track_object.h:27
std::shared_ptr< TrackObject > TrackObjectPtr
Definition: track_object.h:34
std::vector< TrackObjectPtr > TrackObjectPtrs
Definition: track_object.h:35
base::ObjectPtr object
Definition: track_object.h:32
EIGEN_MAKE_ALIGNED_OPERATOR_NEW PatchIndicator indicator
Definition: track_object.h:29
double timestamp
Definition: track_object.h:30
base::BBox2DF projected_box
Definition: track_object.h:31
std::shared_ptr< Object > ObjectPtr
Definition: object.h:123