Skip to content

Comments

Version 3.0.0: Major naming updates#172

Merged
berndgassmann merged 17 commits intocarla-simulator:masterfrom
berndgassmann:update_to_3.0.0
Jul 7, 2025
Merged

Version 3.0.0: Major naming updates#172
berndgassmann merged 17 commits intocarla-simulator:masterfrom
berndgassmann:update_to_3.0.0

Conversation

@berndgassmann
Copy link
Collaborator

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

Bernd Gassmann 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 fabianoboril requested a review from Copilot July 3, 2025 14:39
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 RoutingParaPoint no longer has an operator== or operator!= after the refactoring; this may break equality checks and container behavior. Consider adding defaulted comparisons or explicit overloads for operator== and operator!= in the planning::RoutingParaPoint struct.
inline bool operator<(const ::ad::map::route::planning::RoutingParaPoint &left,

ad_map_access/python/tests/interface_test.py:90

  • The test references ad.geometry.Polygon but there’s no import ad.geometry at the top; this will raise a NameError. Add import ad.geometry or reference the proper submodule before use.
        lane_polygon = ad.geometry.Polygon()

ad_map_access/python/setup.py.in:4

  • The word Autonomade looks like a typo; should be Autonoma de.
# Copyright (C) 2021 Computer Vision Center (CVC) at the Universitat Autonomade Barcelona (UAB).

@berndgassmann berndgassmann merged commit 4655801 into carla-simulator:master Jul 7, 2025
15 checks passed
@berndgassmann berndgassmann deleted the update_to_3.0.0 branch July 7, 2025 07:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants