MCPcopy Create free account
hub / github.com/Tencent/TAD_Sim / getObjects

Method getObjects

common/map_sdk/map_import/src/OpenDriveStruct.cpp:2626–2766  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2624}
2625
2626void ODRoad::getObjects(std::vector<Object>& objs) const {
2627 auto getP = [&](double s, double t, ODXYZ& P, double& T) {
2628 double x = 0, y = 0, z = 0, dx = 0, dy = 0;
2629 roadGeom(s, x, y);
2630 roadNormal(s, dx, dy);
2631 T = getHeading(s);
2632 P.z = getEle(s);
2633 P.x = x + t * dx;
2634 P.y = y + t * dy;
2635 };
2636 objs.clear();
2637 for (const auto& obj_ptr : objects) {
2638 Object obj;
2639 obj.st = Object::OBJECT;
2640 {
2641 ODXYZ P;
2642 double T = 0;
2643 getP(obj_ptr->getS(), obj_ptr->getT(), P, T);
2644 P.z += obj_ptr->getZoffset();
2645 obj.x = P.x;
2646 obj.y = P.y;
2647 obj.z = P.z;
2648 }
2649 obj.id = obj_ptr->getId();
2650 obj.s = obj_ptr->getS();
2651 obj.t = obj_ptr->getT();
2652 obj.len = obj_ptr->getLength();
2653 obj.wid = obj_ptr->getWidth();
2654 obj.hei = obj_ptr->getHeight();
2655 obj.pitch = obj_ptr->getPitch();
2656 obj.roll = obj_ptr->getRoll();
2657 obj.yaw = obj_ptr->getHdg() + getHeading(obj_ptr->getS());
2658 obj.hdg = obj_ptr->getHdg();
2659 obj.name = obj_ptr->getName2();
2660 obj.type = obj_ptr->getType();
2661 obj.subtype = obj_ptr->getSubType();
2662 obj.zoffset = obj_ptr->getZoffset();
2663
2664 obj_ptr->getGeom(obj.geom, getP);
2665 obj_ptr->getRepeat(obj.repeat, getP);
2666
2667 // obj_ptr->getBoundary(obj.boundary, getP);
2668 if (obj_ptr->getRepeatData().size() > 0) {
2669 ODRepeatPtr tmp = obj_ptr->getRepeatData().front();
2670 obj.repetaData = "";
2671 obj.repetaData += ("s:" + std::to_string(tmp->s) + ";");
2672 obj.repetaData += ("length:" + std::to_string(tmp->length) + ";");
2673 obj.repetaData += ("distance:" + std::to_string(tmp->distance) + ";");
2674 obj.repetaData += ("tStart:" + std::to_string(tmp->tStart) + ";");
2675 obj.repetaData += ("tEnd:" + std::to_string(tmp->tEnd) + ";");
2676 obj.repetaData += ("widthStart:" + std::to_string(tmp->widthStart) + ";");
2677 obj.repetaData += ("widthEnd:" + std::to_string(tmp->widthEnd) + ";");
2678 obj.repetaData += ("heightStart:" + std::to_string(tmp->heightStart) + ";");
2679 obj.repetaData += ("heightEnd:" + std::to_string(tmp->heightEnd) + ";");
2680 obj.repetaData += ("zOffsetStart:" + std::to_string(tmp->zOffsetStart) + ";");
2681 obj.repetaData += ("zOffsetEnd:" + std::to_string(tmp->zOffsetEnd) + ";");
2682 obj.repetaData += ("lengthStart:" + std::to_string(tmp->lengthStart) + ";");
2683 obj.repetaData += ("lengthEnd:" + std::to_string(tmp->lengthEnd) + ";");

Callers 1

DoRoadMethod · 0.45

Calls 15

to_stringFunction · 0.85
getSMethod · 0.80
getZoffsetMethod · 0.80
getHeightMethod · 0.80
getPitchMethod · 0.80
getRollMethod · 0.80
getRepeatDataMethod · 0.80
frontMethod · 0.80
getMarkingMethod · 0.80
getParkingSpaceMethod · 0.80
getIsOutLineMethod · 0.80

Tested by

no test coverage detected