128 {
131 common::PointENU center_point =
133 query(center_point, obstacle_phi, &offline_feature, &p_id);
134
136 vector_net_pb_.mutable_car_position()->set_x(obstacle_x);
137 vector_net_pb_.mutable_car_position()->set_y(obstacle_y);
138 vector_net_pb_.mutable_car_position()->set_phi(obstacle_phi);
139
140 size_t i = 0;
141 for (const auto& polyline : offline_feature) {
142 auto* polyline_pb = vector_net_pb_.add_polyline();
143 polyline_pb->set_p_id_x(p_id[i][0]);
144 polyline_pb->set_p_id_y(p_id[i][1]);
145 i++;
146 for (const auto& vector : polyline) {
147 auto* vector_pb = polyline_pb->add_vector();
148 for (const auto& element : vector) {
149 vector_pb->add_element(element);
150 }
151 }
152 }
154 file_name);
155
156 return true;
157}
static PointENU ToPointENU(const double x, const double y, const double z=0)
bool query(const common::PointENU ¢er_point, const double obstacle_phi, FeatureVector *const feature_ptr, PidVector *const p_id_ptr)
bool SetProtoToASCIIFile(const google::protobuf::Message &message, int file_descriptor)
std::vector< std::vector< double > > PidVector
std::vector< std::vector< std::vector< double > > > FeatureVector