32static const float kEpsilon = 1e-6f;
33static const float kEpsilonForSize = 1e-2f;
34static const float kEpsilonForLine = 1e-3f;
39using ObjectPtr = std::shared_ptr<apollo::perception::base::Object>;
88 std::string
Name()
const {
return "ObjectBuilder"; }
95 std::shared_ptr<apollo::perception::base::Object>
object);
100 std::shared_ptr<apollo::perception::base::Object>
object);
105 std::shared_ptr<apollo::perception::base::Object>
object);
110 std::shared_ptr<apollo::perception::base::Object>
object);
115 std::shared_ptr<apollo::perception::base::Object>
object,
116 Eigen::Affine3d& lidar2novatel_pose);
122 const Eigen::Vector3f& min_pt,
const Eigen::Vector3f& max_pt,
123 std::shared_ptr<apollo::perception::base::Object>
object);
138 Eigen::Vector3f* min_pt, Eigen::Vector3f* max_pt);
void ComputeHeightAboveGround(std::shared_ptr< apollo::perception::base::Object > object)
bool LinePerturbation(apollo::perception::base::PointCloud< apollo::perception::base::PointF > *cloud)
void ComputeOtherObjectInformation(std::shared_ptr< apollo::perception::base::Object > object)
void GetMinMax3D(const apollo::perception::base::PointCloud< apollo::perception::base::PointF > &cloud, Eigen::Vector3f *min_pt, Eigen::Vector3f *max_pt)
~ObjectBuilder()=default
Destroy the Object Builder object
void ComputePolygon2D(std::shared_ptr< apollo::perception::base::Object > object)
std::string Name() const
Name of Object Builder
ObjectBuilder()=default
Construct a new Object Builder object
bool Init(const ObjectBuilderInitOptions &options=ObjectBuilderInitOptions())
Init the Object Builder object with initialization options
void SetDefaultValue(const Eigen::Vector3f &min_pt, const Eigen::Vector3f &max_pt, std::shared_ptr< apollo::perception::base::Object > object)
bool Build(const ObjectBuilderOptions &options, LidarFrame *frame)
Calculate and fill object size, center, directions.
void JudgeFrontCritical(std::shared_ptr< apollo::perception::base::Object > object, Eigen::Affine3d &lidar2novatel_pose)
void ComputePolygonSizeCenter(std::shared_ptr< apollo::perception::base::Object > object)
std::shared_ptr< apollo::perception::base::Object > ObjectPtr
Eigen::Vector3d ref_center