提交 f596f958 编写于 作者: C Calvin Miao 提交者: Kecheng Xu

Modified container obtaining function name

上级 0518caf5
......@@ -36,7 +36,7 @@ void ContainerManager::RegisterContainers() {
RegisterContainer("Pose");
}
Container* ContainerManager::mutable_container(const std::string& name) {
Container* ContainerManager::GetContainer(const std::string& name) {
if (containers_.find(name) != containers_.end()) {
return containers_[name].get();
} else {
......
......@@ -53,7 +53,7 @@ class ContainerManager {
* @param Name of the container
* @return Pointer to the container given the name
*/
Container* mutable_container(const std::string& name);
Container* GetContainer(const std::string& name);
private:
/**
......
......@@ -50,28 +50,31 @@ void EvaluatorManager::Run(
const ::apollo::perception::PerceptionObstacles& perception_obstacles) {
AINFO << "Start run evaluator manager";
ObstaclesContainer *container = dynamic_cast<ObstaclesContainer*>(
ContainerManager::instance()->mutable_container("PerceptionObstacles"));
ContainerManager::instance()->GetContainer("PerceptionObstacles"));
CHECK_NOTNULL(container);
AINFO << "Start for loop";
Evaluator *evaluator = nullptr;
for (const auto& perception_obstacle :
perception_obstacles.perception_obstacle()) {
int id = perception_obstacle.id();
Obstacle* obstacle = container->GetObstacle(id);
CHECK_NOTNULL(obstacle);
switch (perception_obstacle.type()) {
case PerceptionObstacle::VEHICLE: {
Evaluator *evaluator = GetEvaluator(ObstacleConf::MLP_EVALUATOR);
CHECK_NOTNULL(evaluator);
AINFO << "evaluator got";
Obstacle *obstacle = container->GetObstacle(id);
CHECK_NOTNULL(obstacle);
AINFO << "obstacle got with id = " << obstacle->id();
evaluator->Evaluate(obstacle);
AINFO << "evaluate done";
if (obstacle->IsOnLane()) {
evaluator = GetEvaluator(ObstacleConf::MLP_EVALUATOR);
CHECK_NOTNULL(evaluator);
}
break;
}
default: {
break;
}
}
if (evaluator != nullptr) {
evaluator->Evaluate(obstacle);
}
}
}
......
......@@ -74,7 +74,7 @@ void Prediction::Stop() {}
void Prediction::OnPerception(const PerceptionObstacles &perception_obstacles) {
auto localization_adapter = AdapterManager::GetLocalization();
ObstaclesContainer* obstacles_container = dynamic_cast<ObstaclesContainer*>(
ContainerManager::instance()->mutable_container("PerceptionObstacles"));
ContainerManager::instance()->GetContainer("PerceptionObstacles"));
if (localization_adapter->Empty()) {
ADEBUG << "No localization message.";
} else {
......@@ -84,7 +84,7 @@ void Prediction::OnPerception(const PerceptionObstacles &perception_obstacles) {
<< localization.ShortDebugString()
<< "].";
PoseContainer* pose_container = dynamic_cast<PoseContainer*>(
ContainerManager::instance()->mutable_container("Pose"));
ContainerManager::instance()->GetContainer("Pose"));
pose_container->Insert(localization);
obstacles_container->InsertPerceptionObstacle(
*(pose_container->ToPerceptionObstacle()),
......
......@@ -53,7 +53,7 @@ void PredictorManager::Run(
const PerceptionObstacles& perception_obstacles) {
prediction_obstacles_.Clear();
ObstaclesContainer *container = dynamic_cast<ObstaclesContainer*>(
ContainerManager::instance()->mutable_container("PerceptionObstacles"));
ContainerManager::instance()->GetContainer("PerceptionObstacles"));
CHECK_NOTNULL(container);
Predictor *predictor = nullptr;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册