28 const std::shared_ptr<const base::Object>& object_ptr)
29 : object_(object_ptr), frame_header_(nullptr) {}
32 const std::shared_ptr<const base::Object>& object_ptr,
33 const std::shared_ptr<const SensorFrameHeader>& frame_header)
34 : object_(object_ptr), frame_header_(frame_header) {}
37 const std::shared_ptr<const base::Object>& object_ptr,
38 const std::shared_ptr<SensorFrame>& frame_ptr)
39 : object_(object_ptr),
40 frame_header_((frame_ptr == nullptr) ? nullptr : frame_ptr->GetHeader()) {
44 if (frame_header_ ==
nullptr) {
48 return frame_header_->timestamp;
52 if (pose ==
nullptr) {
53 AERROR <<
"pose is not available";
56 if (frame_header_ ==
nullptr) {
60 *pose = frame_header_->sensor2world_pose;
65 if (frame_header_ ==
nullptr) {
66 return std::string(
"");
69 return frame_header_->sensor_info.name;
73 if (frame_header_ ==
nullptr) {
77 return frame_header_->sensor_info.type;
83 object_ = object_pool.Get();
88 return algorithm::SensorManager::Instance()->IsLidar(type);
93 return algorithm::SensorManager::Instance()->IsRadar(type);
98 return algorithm::SensorManager::Instance()->IsCamera(type);
base::SensorType GetSensorType() const
double GetTimestamp() const
bool GetRelatedFramePose(Eigen::Affine3d *pose) const
std::string GetSensorId() const
SensorType
Sensor types are set in the order of lidar, radar, camera, ultrasonic Please make sure SensorType has...
ConcurrentObjectPool< Object, kObjectPoolSize, ObjectInitializer > ObjectPool
std::shared_ptr< const SensorObject > SensorObjectConstPtr
bool IsCamera(const SensorObjectConstPtr &obj)
bool IsLidar(const SensorObjectConstPtr &obj)
bool IsRadar(const SensorObjectConstPtr &obj)