Version 3.0.0: Major naming updates#172
Merged
berndgassmann merged 17 commits intocarla-simulator:masterfrom Jul 7, 2025
berndgassmann:update_to_3.0.0
Merged
Version 3.0.0: Major naming updates#172berndgassmann merged 17 commits intocarla-simulator:masterfrom berndgassmann:update_to_3.0.0
berndgassmann merged 17 commits intocarla-simulator:masterfrom
berndgassmann:update_to_3.0.0
Conversation
added 17 commits
July 2, 2025 14:22
Updating the variable naming of the generated datatypes from CamelCase to under_score_case and some other naming conventions. These are interface braking changes, therefore updating to 3.0.0 Providing basic renaming script that covers for many of the changes. Building: - support gcc-13 and Ubuntu 24.04 - support newer spdlog: adding formatters for datatype logging - remove spdlog submodule to make use of system delivered version - Harmonize CXX standard to 17 - update BUILDING.md on how to work with python venv (enforced with Ubunut 24.04) - fix python binding build and test Generated DataTypes: introduced more safe datatype operations by restricting their values to the limits after the operations allow automatic conversion of datatypes to their basetypes with "operator double()" if explicit type conversion is disabled added ad::geometry namespace and library added some ad::physics operations ad_map_access: - extended and hardened route/routing and predictions operations - added support for qgis correction functions - Added route::planning::predictRoutes* overloads which already provide the object yaw via the object data to get rid of extra calculation efforts - Fix getLaneENUHeading(match::MapMatchedPosition): set correct geo reference, otherwise returned heading is wrong - Add Heading constants - Add allowedObjectDistanceToLane to getMapMatchedBoundingBox() - Add ad::map::geometry namespace with polygon operations and extraction of occluded regions - Allow getLateralAlignementEdge() for physics::RatioValue - Fix ad::map::route::findWaypoint( distance == 0., route) - Added match:getENUBorder(LaneOccupiedRegion) function - Added point::getUnion(BoundingSphere, BoundingSphere) for use in python - Allow shortenRouteToDistance to cut intersections on request ad_map_access_qgis: - add polygon operations - remove unused partition manager - add lane correction abilities - add lane contact correction abilities - add traffic light layer - add ClickedPoint debug output and support altitude unknown matching - Support default intersection contact creation on adm load - Add support for exporting adm files
even though it's only required for building...
fabianoboril
approved these changes
Jul 3, 2025
There was a problem hiding this comment.
Pull Request Overview
This PR updates naming conventions from CamelCase to snake_case across C++ and Python bindings, bumps to version 3.0.0 with interface-breaking changes, and harmonizes build settings for GCC 13, Ubuntu 24.04, C++17, and system spdlog.
- Rename public API members and parameters from CamelCase to under_score_case
- Update build scripts and CMake files for C++17, system spdlog, Python venv, and test runner
- Enhance Python bindings: add geometry module, update tests, and refresh license headers
Reviewed Changes
Copilot reviewed 67 out of 923 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| ad_map_access/src/access/AdMapAccess.hpp | removed default param, renamed traffic_light_type |
| ad_map_access/src/access/AdMapAccess.cpp | use snake_case members, split factory setters |
| ad_map_access/python/tests/interface_test.py | renamed test vars to snake_case, added setLogLevel, missing import for geometry |
| ad_map_access/python/setup.py.in | updated license header, fixed “Universitat Autonomade Barcelona” spelling |
| ad_map_access/python/generate_python_lib.py.in | switched additional_replacements from dict to list, added geometry namespace |
| ad_map_access/python/cmake/Config.cmake.in | removed obsolete config file |
| ad_map_access/python/init.py.in | updated license header |
| ad_map_access/python/CMakeLists.txt | bumped CXX_STANDARD to 17, added geometry wrapper, fixed executable var |
| ad_map_access/python/AdMapAccessPython.cpp.in | added export_ad_map_geometry, updated copyright |
| ad_map_access/package.xml | bumped version to 3.0.0, changed exec_depend to depend |
| ad_map_access/include/ad/map/serialize/SerializeGeneratedRestrictionTypes.hpp | rename passengers_min, road_user_types |
| ad_map_access/include/ad/map/serialize/SerializeGeneratedPointTypes.hpp | rename para_point, geo_point, bounding_sphere |
| ad_map_access/include/ad/map/serialize/SerializeGeneratedLandmarkTypes.hpp | rename bounding_box, supplementary_text, traffic_* |
| ad_map_access/include/ad/map/serialize/SerializeGeneratedAccessTypes.hpp | rename left_edge_, right_edge_ |
| ad_map_access/include/ad/map/serialize/ISerializer.hpp | replace write(static_cast) with toBaseType() |
| ad_map_access/include/ad/map/route/Types.hpp | replaced FullRoute/ConnectingRoute with List types |
| ad_map_access/include/ad/map/route/Routing.hpp | moved RoutingParaPointCompare, free operator< |
| ad_map_access/include/ad/map/route/RoutePrediction.hpp | defaulted destructors, raw pointer for tree root |
| ad_map_access/include/ad/map/route/RouteOperation.hpp | renamed road_segments, drivable_lane_segments |
| ad_map_access/include/ad/map/route/RouteAStar.hpp | added RoutingParaPointCompare to sets and maps |
| ad_map_access/include/ad/map/route/Planning.hpp | rename route_creation_mode and param names |
| ad_map_access/include/ad/map/route/RouteExpander.hpp | snake_case parametric_offset, lane_id |
| ad_map_access/include/ad/map/route/LaneIntervalOperation.hpp | rename lane_interval params |
| ad_map_access/include/ad/map/restriction/ParametricRangeAttributeOperation.hpp | rename lane_piece |
| ad_map_access/include/ad/map/point/Types.hpp | include new *PointList headers |
| ad_map_access/include/ad/map/point/Transform.hpp | rename enu_reference_point |
| ad_map_access/include/ad/map/point/PointOperation.hpp | use toBaseType(), added distance helper |
| ad_map_access/include/ad/map/point/ParaPointOperation.hpp | rename lane_id, parametric_offset |
| ad_map_access/include/ad/map/point/HeadingOperation.hpp | rename enu_reference_point, use mEnemyHeading |
| ad_map_access/include/ad/map/point/GeometryOperation.hpp | rename Edge→PointList, update function signatures |
| ad_map_access/include/ad/map/point/GeoOperation.hpp | rename GeoEdge→GeoPointList |
| ad_map_access/include/ad/map/point/EdgeOperation.hpp | use vectorSub, ParametricValueList |
| ad_map_access/include/ad/map/point/ENUOperation.hpp | rename ENUEdge→ENUPointList, templatize operations |
| ad_map_access/include/ad/map/point/ENUCoordinateOperation.hpp | replace static casts with member usage |
| ad_map_access/include/ad/map/point/ECEFOperation.hpp | rename ECEFEdge→ECEFPointList, templatize |
Comments suppressed due to low confidence (3)
ad_map_access/include/ad/map/route/Routing.hpp:22
- The member
RoutingParaPointno longer has anoperator==oroperator!=after the refactoring; this may break equality checks and container behavior. Consider adding defaulted comparisons or explicit overloads foroperator==andoperator!=in theplanning::RoutingParaPointstruct.
inline bool operator<(const ::ad::map::route::planning::RoutingParaPoint &left,
ad_map_access/python/tests/interface_test.py:90
- The test references
ad.geometry.Polygonbut there’s noimport ad.geometryat the top; this will raise a NameError. Addimport ad.geometryor reference the proper submodule before use.
lane_polygon = ad.geometry.Polygon()
ad_map_access/python/setup.py.in:4
- The word
Autonomadelooks like a typo; should beAutonoma de.
# Copyright (C) 2021 Computer Vision Center (CVC) at the Universitat Autonomade Barcelona (UAB).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updating the variable naming of the generated datatypes from CamelCase to under_score_case and some other naming conventions. These are interface braking changes, therefore updating to 3.0.0 Providing basic renaming script that covers for many of the changes.
Building:
Generated DataTypes:
introduced more safe datatype operations by restricting their values to the limits after the operations
allow automatic conversion of datatypes to their basetypes with "operator double()" if explicit type conversion is disabled
added ad::geometry namespace and library
added some ad::physics operations
ad_map_access:
ad_map_access_qgis: