15 #include <ad/geometry/GeometryOperation.hpp>
34 namespace unstructured {
51 unsafeBrakeOtherHasPrio,
52 unsafeBrakeEgoHasPrio,
56 enum class DrivingMode
115 ::ad::geometry::Polygon &brakePolygon,
116 ::ad::geometry::Polygon &continueForwardPolygon)>;
128 std::lock_guard<std::shared_timed_mutex>
const lock(mCallbackRwLock);
129 mCalculateTrajectorySetsCallbackMap[objectType] = calculateTrajectorySetsCallback;
173 bool calculateDriveAwayAngle(::ad::geometry::Point
const &egoVehicleLocation,
174 ::ad::geometry::Point
const &otherVehicleLocation,
175 physics::Angle
const &maxAllowedAngleWhenBothStopped,
176 ::ad::geometry::HeadingRange &range)
const;
182 typedef std::map<core::RelativeConstellationId, bool> OtherMustBrakeStateBeforeDangerThresholdTimeMap;
189 OtherMustBrakeStateBeforeDangerThresholdTimeMap mOtherMustBrakeStatesBeforeDangerThresholdTime;
194 OtherMustBrakeStateBeforeDangerThresholdTimeMap mNewOtherMustBrakeStatesBeforeDangerThresholdTime;
205 struct DriveAwayState
207 ::ad::geometry::HeadingRange allowedHeadingRange;
208 physics::Distance2D otherPosition;
214 std::map<core::RelativeConstellationId, DriveAwayState> mDriveAwayStateMap;
218 mutable std::shared_timed_mutex mCallbackRwLock;
220 std::map<world::ObjectType, CalculateTrajectorySetsCallbackFunctionType> mCalculateTrajectorySetsCallbackMap;
namespace ad
Definition: LateralRelativePosition.hpp:28