plexus-msgs-python 1.0.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. plexus_msgs_python-1.0.4/.gitignore +5 -0
  2. plexus_msgs_python-1.0.4/MANIFEST.in +1 -0
  3. plexus_msgs_python-1.0.4/PKG-INFO +20 -0
  4. plexus_msgs_python-1.0.4/VERSION +1 -0
  5. plexus_msgs_python-1.0.4/pyproject.toml +73 -0
  6. plexus_msgs_python-1.0.4/setup.cfg +4 -0
  7. plexus_msgs_python-1.0.4/setup.py +20 -0
  8. plexus_msgs_python-1.0.4/src/plexus/msgs/__init__.py +6 -0
  9. plexus_msgs_python-1.0.4/src/plexus/msgs/__main__.py +40 -0
  10. plexus_msgs_python-1.0.4/src/plexus/msgs/control/plexus_msgs_control_control_command_pb2.py +39 -0
  11. plexus_msgs_python-1.0.4/src/plexus/msgs/control/plexus_msgs_control_control_command_pb2.pyi +33 -0
  12. plexus_msgs_python-1.0.4/src/plexus/msgs/control/plexus_msgs_control_dbw_command_pb2.py +41 -0
  13. plexus_msgs_python-1.0.4/src/plexus/msgs/control/plexus_msgs_control_dbw_command_pb2.pyi +42 -0
  14. plexus_msgs_python-1.0.4/src/plexus/msgs/descriptor.pb +0 -0
  15. plexus_msgs_python-1.0.4/src/plexus/msgs/localization/plexus_msgs_localization_odometry_pb2.py +38 -0
  16. plexus_msgs_python-1.0.4/src/plexus/msgs/localization/plexus_msgs_localization_odometry_pb2.pyi +15 -0
  17. plexus_msgs_python-1.0.4/src/plexus/msgs/localization/plexus_msgs_localization_positioning_pb2.py +39 -0
  18. plexus_msgs_python-1.0.4/src/plexus/msgs/localization/plexus_msgs_localization_positioning_pb2.pyi +18 -0
  19. plexus_msgs_python-1.0.4/src/plexus/msgs/mapping/plexus_msgs_mapping_map_region_pb2.py +54 -0
  20. plexus_msgs_python-1.0.4/src/plexus/msgs/mapping/plexus_msgs_mapping_map_region_pb2.pyi +104 -0
  21. plexus_msgs_python-1.0.4/src/plexus/msgs/perception/plexus_msgs_perception_lane_detection_pb2.py +53 -0
  22. plexus_msgs_python-1.0.4/src/plexus/msgs/perception/plexus_msgs_perception_lane_detection_pb2.pyi +97 -0
  23. plexus_msgs_python-1.0.4/src/plexus/msgs/perception/plexus_msgs_perception_obstacle_detection_pb2.py +51 -0
  24. plexus_msgs_python-1.0.4/src/plexus/msgs/perception/plexus_msgs_perception_obstacle_detection_pb2.pyi +82 -0
  25. plexus_msgs_python-1.0.4/src/plexus/msgs/planning/plexus_msgs_planning_driving_trajectory_pb2.py +40 -0
  26. plexus_msgs_python-1.0.4/src/plexus/msgs/planning/plexus_msgs_planning_driving_trajectory_pb2.pyi +18 -0
  27. plexus_msgs_python-1.0.4/src/plexus/msgs/planning/plexus_msgs_planning_obstacle_threat_pb2.py +41 -0
  28. plexus_msgs_python-1.0.4/src/plexus/msgs/planning/plexus_msgs_planning_obstacle_threat_pb2.pyi +61 -0
  29. plexus_msgs_python-1.0.4/src/plexus/msgs/plexus_common_carto_pb2.py +40 -0
  30. plexus_msgs_python-1.0.4/src/plexus/msgs/plexus_common_carto_pb2.pyi +26 -0
  31. plexus_msgs_python-1.0.4/src/plexus/msgs/plexus_common_entity_pb2.py +47 -0
  32. plexus_msgs_python-1.0.4/src/plexus/msgs/plexus_common_entity_pb2.pyi +96 -0
  33. plexus_msgs_python-1.0.4/src/plexus/msgs/plexus_common_geom_pb2.py +64 -0
  34. plexus_msgs_python-1.0.4/src/plexus/msgs/plexus_common_geom_pb2.pyi +120 -0
  35. plexus_msgs_python-1.0.4/src/plexus/msgs/plexus_common_message_pb2.py +40 -0
  36. plexus_msgs_python-1.0.4/src/plexus/msgs/plexus_common_message_pb2.pyi +29 -0
  37. plexus_msgs_python-1.0.4/src/plexus/msgs/plexus_common_pb2.py +63 -0
  38. plexus_msgs_python-1.0.4/src/plexus/msgs/plexus_common_pb2.pyi +171 -0
  39. plexus_msgs_python-1.0.4/src/plexus/msgs/plexus_pb2.py +38 -0
  40. plexus_msgs_python-1.0.4/src/plexus/msgs/plexus_pb2.pyi +27 -0
  41. plexus_msgs_python-1.0.4/src/plexus/msgs/routing/plexus_msgs_routing_navigation_info_pb2.py +52 -0
  42. plexus_msgs_python-1.0.4/src/plexus/msgs/routing/plexus_msgs_routing_navigation_info_pb2.pyi +117 -0
  43. plexus_msgs_python-1.0.4/src/plexus/msgs/testing/plexus_msgs_testing_dummy_pb2.py +141 -0
  44. plexus_msgs_python-1.0.4/src/plexus/msgs/testing/plexus_msgs_testing_dummy_pb2.pyi +276 -0
  45. plexus_msgs_python-1.0.4/src/plexus/msgs/utils.py +530 -0
  46. plexus_msgs_python-1.0.4/src/plexus/msgs/vehicle/plexus_msgs_vehicle_can_messages_pb2.py +39 -0
  47. plexus_msgs_python-1.0.4/src/plexus/msgs/vehicle/plexus_msgs_vehicle_can_messages_pb2.pyi +20 -0
  48. plexus_msgs_python-1.0.4/src/plexus_msgs_python.egg-info/PKG-INFO +20 -0
  49. plexus_msgs_python-1.0.4/src/plexus_msgs_python.egg-info/SOURCES.txt +55 -0
  50. plexus_msgs_python-1.0.4/src/plexus_msgs_python.egg-info/dependency_links.txt +1 -0
  51. plexus_msgs_python-1.0.4/src/plexus_msgs_python.egg-info/entry_points.txt +2 -0
  52. plexus_msgs_python-1.0.4/src/plexus_msgs_python.egg-info/not-zip-safe +1 -0
  53. plexus_msgs_python-1.0.4/src/plexus_msgs_python.egg-info/requires.txt +13 -0
  54. plexus_msgs_python-1.0.4/src/plexus_msgs_python.egg-info/top_level.txt +1 -0
  55. plexus_msgs_python-1.0.4/test/plexus_test.py +13 -0
  56. plexus_msgs_python-1.0.4/test/plexus_tests/__init__.py +15 -0
  57. plexus_msgs_python-1.0.4/test/plexus_tests/msgs/utils_test.py +132 -0
@@ -0,0 +1,5 @@
1
+ *_pb2.py
2
+ *_pb2.pyi
3
+ *_pb2_grpc.py
4
+ *_pb2_grpc.pyi
5
+ *.pb
@@ -0,0 +1 @@
1
+ include VERSION
@@ -0,0 +1,20 @@
1
+ Metadata-Version: 2.4
2
+ Name: plexus-msgs-python
3
+ Version: 1.0.4
4
+ Summary: Python APIs and utilities for Plexus ProtoBuf messages
5
+ Classifier: Programming Language :: Python :: 3
6
+ Classifier: Programming Language :: Python :: 3.11
7
+ Classifier: Programming Language :: Python :: 3.12
8
+ Classifier: Programming Language :: Python :: 3.13
9
+ Requires-Python: <3.14,>=3.11
10
+ Requires-Dist: jinja2>=3.0
11
+ Requires-Dist: protobuf>=5.0
12
+ Requires-Dist: iker-python-common>=1.0
13
+ Provides-Extra: all
14
+ Requires-Dist: plexus-msgs-python; extra == "all"
15
+ Provides-Extra: test
16
+ Requires-Dist: ddt>=1.7; extra == "test"
17
+ Requires-Dist: pytest-cov>=5.0; extra == "test"
18
+ Requires-Dist: pytest-order>=1.3; extra == "test"
19
+ Requires-Dist: pytest>=8.3; extra == "test"
20
+ Requires-Dist: iker-python-common>=1.0; extra == "test"
@@ -0,0 +1 @@
1
+ 1.0
@@ -0,0 +1,73 @@
1
+ [build-system]
2
+ requires = [
3
+ "setuptools>=75.0",
4
+ "setuptools-scm>=8.0",
5
+ "iker-python-setup>=1.0",
6
+ "plexus-python-protobuf-setup>=1.0",
7
+ ]
8
+ build-backend = "setuptools.build_meta"
9
+
10
+ [dependency-groups]
11
+ dev = [
12
+ "jinja2>=3.0",
13
+ "protobuf>=5.0",
14
+ "iker-python-common>=1.0",
15
+ ]
16
+ test = [
17
+ "ddt>=1.7",
18
+ "pytest-cov>=5.0",
19
+ "pytest-order>=1.3",
20
+ "pytest>=8.3",
21
+ "iker-python-common>=1.0",
22
+ ]
23
+
24
+ [project]
25
+ name = "plexus-msgs-python"
26
+ description = "Python APIs and utilities for Plexus ProtoBuf messages"
27
+ dynamic = ["version"]
28
+ requires-python = ">=3.11,<3.14"
29
+ classifiers = [
30
+ "Programming Language :: Python :: 3",
31
+ "Programming Language :: Python :: 3.11",
32
+ "Programming Language :: Python :: 3.12",
33
+ "Programming Language :: Python :: 3.13",
34
+ ]
35
+ dependencies = [
36
+ "jinja2>=3.0",
37
+ "protobuf>=5.0",
38
+ "iker-python-common>=1.0",
39
+ ]
40
+
41
+ [project.optional-dependencies]
42
+ all = [
43
+ "plexus-msgs-python",
44
+ ]
45
+ test = [
46
+ "ddt>=1.7",
47
+ "pytest-cov>=5.0",
48
+ "pytest-order>=1.3",
49
+ "pytest>=8.3",
50
+ "iker-python-common>=1.0",
51
+ ]
52
+
53
+ [project.scripts]
54
+ plexus-msgs-python = "plexus.msgs.__main__:main"
55
+
56
+ [tool.setuptools]
57
+ package-dir = { "" = "src" }
58
+ zip-safe = false
59
+ include-package-data = true
60
+ package-data = { "plexus.msgs" = ["descriptor.pb"] }
61
+
62
+ [tool.setuptools.packages.find]
63
+ where = ["src"]
64
+ namespaces = true
65
+
66
+ [tool.pytest.ini_options]
67
+ pythonpath = ["src"]
68
+
69
+ [tool.coverage.run]
70
+ branch = true
71
+ include = [
72
+ "src/plexus/*",
73
+ ]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,20 @@
1
+ import argparse
2
+ import os
3
+
4
+ from iker.setup import setup, version_string
5
+ from plexus.protobuf.setup import compile_protos
6
+
7
+ if __name__ == "__main__":
8
+ parser = argparse.ArgumentParser(description="setup script integrating dynamic version printer")
9
+ parser.add_argument("--print-version-string", action="store_true", help="print version string and exit")
10
+
11
+ args, _ = parser.parse_known_args()
12
+ if args.print_version_string:
13
+ print(version_string())
14
+ else:
15
+ compile_protos(os.path.join(os.path.dirname(__file__), "src"),
16
+ ["/usr/share/plexus-msgs/protos"],
17
+ ["/usr/share/plexus-msgs/protos"],
18
+ descriptor_path=os.path.join(
19
+ os.path.dirname(__file__), "src", "plexus", "msgs", "descriptor.pb"))
20
+ setup()
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("plexus-msgs-python")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -0,0 +1,40 @@
1
+ import argparse
2
+
3
+ from plexus.msgs.utils import generate_plexus_msg_tailor_cpp_code
4
+ from plexus.msgs.utils import generate_plexus_msg_tailor_java_code
5
+ from plexus.msgs.utils import generate_plexus_msg_tailor_python_code
6
+ from plexus.msgs.utils import import_plexus_msgs
7
+
8
+
9
+ def main():
10
+ parser = argparse.ArgumentParser()
11
+ parser.add_argument("--lang",
12
+ choices=["python", "cpp", "java"],
13
+ required=True,
14
+ help="Specify the language for which to generate the Plexus message tailor code.")
15
+ parser.add_argument("--output",
16
+ type=str,
17
+ required=True,
18
+ help="Specify the output file path for the generated code.")
19
+ parser.add_argument("--config",
20
+ type=str,
21
+ action="append",
22
+ help="Specify the configuration of the code generator.")
23
+
24
+ args = parser.parse_args()
25
+
26
+ kwargs = dict(config.split("=", 2) for config in (args.config or []))
27
+
28
+ import_plexus_msgs()
29
+ match args.lang:
30
+ case "cpp":
31
+ code = generate_plexus_msg_tailor_cpp_code(**kwargs)
32
+ case "java":
33
+ code = generate_plexus_msg_tailor_java_code(**kwargs)
34
+ case "python":
35
+ code = generate_plexus_msg_tailor_python_code(**kwargs)
36
+ case _:
37
+ raise ValueError(f"unsupported language '{args.lang}' specified")
38
+
39
+ with open(args.output, "w") as fh:
40
+ fh.write(code)
@@ -0,0 +1,39 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: plexus/msgs/control/plexus_msgs_control_control_command.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'plexus/msgs/control/plexus_msgs_control_control_command.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n=plexus/msgs/control/plexus_msgs_control_control_command.proto\x12\x13plexus.msgs.control\"\xae\x05\n\x0e\x43ontrolCommand\x12\x42\n\x08steering\x18\x01 \x01(\x0b\x32+.plexus.msgs.control.ControlCommand.CommandH\x00\x88\x01\x01\x12\x42\n\x08throttle\x18\x02 \x01(\x0b\x32+.plexus.msgs.control.ControlCommand.CommandH\x01\x88\x01\x01\x12?\n\x05\x62rake\x18\x03 \x01(\x0b\x32+.plexus.msgs.control.ControlCommand.CommandH\x02\x88\x01\x01\x12>\n\x04gear\x18\x04 \x01(\x0b\x32+.plexus.msgs.control.ControlCommand.CommandH\x03\x88\x01\x01\x12,\n\x1ftractor_parking_brake_activated\x18\x05 \x01(\x08H\x04\x88\x01\x01\x12,\n\x1ftrailer_parking_brake_activated\x18\x06 \x01(\x08H\x05\x88\x01\x01\x1a\xc1\x01\n\x07\x43ommand\x12\x18\n\x0binput_value\x18\x01 \x01(\x01H\x00\x88\x01\x01\x12\x19\n\x0coutput_value\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12\x1a\n\rcommand_value\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12\x1d\n\x10normalized_value\x18\x04 \x01(\x01H\x03\x88\x01\x01\x42\x0e\n\x0c_input_valueB\x0f\n\r_output_valueB\x10\n\x0e_command_valueB\x13\n\x11_normalized_valueB\x0b\n\t_steeringB\x0b\n\t_throttleB\x08\n\x06_brakeB\x07\n\x05_gearB\"\n _tractor_parking_brake_activatedB\"\n _trailer_parking_brake_activatedB\x02P\x01\x62\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'plexus.msgs.control.plexus_msgs_control_control_command_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ _globals['DESCRIPTOR']._loaded_options = None
34
+ _globals['DESCRIPTOR']._serialized_options = b'P\001'
35
+ _globals['_CONTROLCOMMAND']._serialized_start=87
36
+ _globals['_CONTROLCOMMAND']._serialized_end=773
37
+ _globals['_CONTROLCOMMAND_COMMAND']._serialized_start=463
38
+ _globals['_CONTROLCOMMAND_COMMAND']._serialized_end=656
39
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,33 @@
1
+ from google.protobuf import descriptor as _descriptor
2
+ from google.protobuf import message as _message
3
+ from collections.abc import Mapping as _Mapping
4
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
5
+
6
+ DESCRIPTOR: _descriptor.FileDescriptor
7
+
8
+ class ControlCommand(_message.Message):
9
+ __slots__ = ("steering", "throttle", "brake", "gear", "tractor_parking_brake_activated", "trailer_parking_brake_activated")
10
+ class Command(_message.Message):
11
+ __slots__ = ("input_value", "output_value", "command_value", "normalized_value")
12
+ INPUT_VALUE_FIELD_NUMBER: _ClassVar[int]
13
+ OUTPUT_VALUE_FIELD_NUMBER: _ClassVar[int]
14
+ COMMAND_VALUE_FIELD_NUMBER: _ClassVar[int]
15
+ NORMALIZED_VALUE_FIELD_NUMBER: _ClassVar[int]
16
+ input_value: float
17
+ output_value: float
18
+ command_value: float
19
+ normalized_value: float
20
+ def __init__(self, input_value: _Optional[float] = ..., output_value: _Optional[float] = ..., command_value: _Optional[float] = ..., normalized_value: _Optional[float] = ...) -> None: ...
21
+ STEERING_FIELD_NUMBER: _ClassVar[int]
22
+ THROTTLE_FIELD_NUMBER: _ClassVar[int]
23
+ BRAKE_FIELD_NUMBER: _ClassVar[int]
24
+ GEAR_FIELD_NUMBER: _ClassVar[int]
25
+ TRACTOR_PARKING_BRAKE_ACTIVATED_FIELD_NUMBER: _ClassVar[int]
26
+ TRAILER_PARKING_BRAKE_ACTIVATED_FIELD_NUMBER: _ClassVar[int]
27
+ steering: ControlCommand.Command
28
+ throttle: ControlCommand.Command
29
+ brake: ControlCommand.Command
30
+ gear: ControlCommand.Command
31
+ tractor_parking_brake_activated: bool
32
+ trailer_parking_brake_activated: bool
33
+ def __init__(self, steering: _Optional[_Union[ControlCommand.Command, _Mapping]] = ..., throttle: _Optional[_Union[ControlCommand.Command, _Mapping]] = ..., brake: _Optional[_Union[ControlCommand.Command, _Mapping]] = ..., gear: _Optional[_Union[ControlCommand.Command, _Mapping]] = ..., tractor_parking_brake_activated: bool = ..., trailer_parking_brake_activated: bool = ...) -> None: ...
@@ -0,0 +1,41 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: plexus/msgs/control/plexus_msgs_control_dbw_command.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'plexus/msgs/control/plexus_msgs_control_dbw_command.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9plexus/msgs/control/plexus_msgs_control_dbw_command.proto\x12\x13plexus.msgs.control\"\xa4\x05\n\nDbwCommand\x12>\n\x08steering\x18\x01 \x01(\x0b\x32\'.plexus.msgs.control.DbwCommand.CommandH\x00\x88\x01\x01\x12>\n\x08throttle\x18\x02 \x01(\x0b\x32\'.plexus.msgs.control.DbwCommand.CommandH\x01\x88\x01\x01\x12;\n\x05\x62rake\x18\x03 \x01(\x0b\x32\'.plexus.msgs.control.DbwCommand.CommandH\x02\x88\x01\x01\x12:\n\x04gear\x18\x04 \x01(\x0b\x32\'.plexus.msgs.control.DbwCommand.CommandH\x03\x88\x01\x01\x12\x44\n\tauto_mode\x18\x05 \x01(\x0e\x32,.plexus.msgs.control.DbwCommand.AutoModeEnumH\x04\x88\x01\x01\x1a\xb5\x01\n\x07\x43ommand\x12\x18\n\x0binput_value\x18\x01 \x01(\x01H\x00\x88\x01\x01\x12\x19\n\x0coutput_value\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12\x1a\n\rcommand_value\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12\x17\n\noverridden\x18\x04 \x01(\x08H\x03\x88\x01\x01\x42\x0e\n\x0c_input_valueB\x0f\n\r_output_valueB\x10\n\x0e_command_valueB\r\n\x0b_overridden\"d\n\x0c\x41utoModeEnum\x12\x13\n\x0f\x41utoModeNeither\x10\x00\x12\x13\n\x0f\x41utoModeLateral\x10\x01\x12\x18\n\x14\x41utoModeLongitudinal\x10\x02\x12\x10\n\x0c\x41utoModeBoth\x10\x03\x42\x0b\n\t_steeringB\x0b\n\t_throttleB\x08\n\x06_brakeB\x07\n\x05_gearB\x0c\n\n_auto_modeB\x02P\x01\x62\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'plexus.msgs.control.plexus_msgs_control_dbw_command_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ _globals['DESCRIPTOR']._loaded_options = None
34
+ _globals['DESCRIPTOR']._serialized_options = b'P\001'
35
+ _globals['_DBWCOMMAND']._serialized_start=83
36
+ _globals['_DBWCOMMAND']._serialized_end=759
37
+ _globals['_DBWCOMMAND_COMMAND']._serialized_start=417
38
+ _globals['_DBWCOMMAND_COMMAND']._serialized_end=598
39
+ _globals['_DBWCOMMAND_AUTOMODEENUM']._serialized_start=600
40
+ _globals['_DBWCOMMAND_AUTOMODEENUM']._serialized_end=700
41
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,42 @@
1
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from collections.abc import Mapping as _Mapping
5
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
6
+
7
+ DESCRIPTOR: _descriptor.FileDescriptor
8
+
9
+ class DbwCommand(_message.Message):
10
+ __slots__ = ("steering", "throttle", "brake", "gear", "auto_mode")
11
+ class AutoModeEnum(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
12
+ __slots__ = ()
13
+ AutoModeNeither: _ClassVar[DbwCommand.AutoModeEnum]
14
+ AutoModeLateral: _ClassVar[DbwCommand.AutoModeEnum]
15
+ AutoModeLongitudinal: _ClassVar[DbwCommand.AutoModeEnum]
16
+ AutoModeBoth: _ClassVar[DbwCommand.AutoModeEnum]
17
+ AutoModeNeither: DbwCommand.AutoModeEnum
18
+ AutoModeLateral: DbwCommand.AutoModeEnum
19
+ AutoModeLongitudinal: DbwCommand.AutoModeEnum
20
+ AutoModeBoth: DbwCommand.AutoModeEnum
21
+ class Command(_message.Message):
22
+ __slots__ = ("input_value", "output_value", "command_value", "overridden")
23
+ INPUT_VALUE_FIELD_NUMBER: _ClassVar[int]
24
+ OUTPUT_VALUE_FIELD_NUMBER: _ClassVar[int]
25
+ COMMAND_VALUE_FIELD_NUMBER: _ClassVar[int]
26
+ OVERRIDDEN_FIELD_NUMBER: _ClassVar[int]
27
+ input_value: float
28
+ output_value: float
29
+ command_value: float
30
+ overridden: bool
31
+ def __init__(self, input_value: _Optional[float] = ..., output_value: _Optional[float] = ..., command_value: _Optional[float] = ..., overridden: bool = ...) -> None: ...
32
+ STEERING_FIELD_NUMBER: _ClassVar[int]
33
+ THROTTLE_FIELD_NUMBER: _ClassVar[int]
34
+ BRAKE_FIELD_NUMBER: _ClassVar[int]
35
+ GEAR_FIELD_NUMBER: _ClassVar[int]
36
+ AUTO_MODE_FIELD_NUMBER: _ClassVar[int]
37
+ steering: DbwCommand.Command
38
+ throttle: DbwCommand.Command
39
+ brake: DbwCommand.Command
40
+ gear: DbwCommand.Command
41
+ auto_mode: DbwCommand.AutoModeEnum
42
+ def __init__(self, steering: _Optional[_Union[DbwCommand.Command, _Mapping]] = ..., throttle: _Optional[_Union[DbwCommand.Command, _Mapping]] = ..., brake: _Optional[_Union[DbwCommand.Command, _Mapping]] = ..., gear: _Optional[_Union[DbwCommand.Command, _Mapping]] = ..., auto_mode: _Optional[_Union[DbwCommand.AutoModeEnum, str]] = ...) -> None: ...
@@ -0,0 +1,38 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: plexus/msgs/localization/plexus_msgs_localization_odometry.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'plexus/msgs/localization/plexus_msgs_localization_odometry.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from plexus.msgs import plexus_common_geom_pb2 as plexus_dot_msgs_dot_plexus__common__geom__pb2
26
+
27
+
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n@plexus/msgs/localization/plexus_msgs_localization_odometry.proto\x12\x18plexus.msgs.localization\x1a$plexus/msgs/plexus_common_geom.proto\"k\n\x08Odometry\x12$\n\x04pose\x18\x01 \x01(\x0b\x32\x11.plexus.msgs.PoseH\x00\x88\x01\x01\x12&\n\x05twist\x18\x02 \x01(\x0b\x32\x12.plexus.msgs.TwistH\x01\x88\x01\x01\x42\x07\n\x05_poseB\x08\n\x06_twistB\x02P\x01\x62\x06proto3')
29
+
30
+ _globals = globals()
31
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'plexus.msgs.localization.plexus_msgs_localization_odometry_pb2', _globals)
33
+ if not _descriptor._USE_C_DESCRIPTORS:
34
+ _globals['DESCRIPTOR']._loaded_options = None
35
+ _globals['DESCRIPTOR']._serialized_options = b'P\001'
36
+ _globals['_ODOMETRY']._serialized_start=132
37
+ _globals['_ODOMETRY']._serialized_end=239
38
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,15 @@
1
+ from plexus.msgs import plexus_common_geom_pb2 as _plexus_common_geom_pb2
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from collections.abc import Mapping as _Mapping
5
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
6
+
7
+ DESCRIPTOR: _descriptor.FileDescriptor
8
+
9
+ class Odometry(_message.Message):
10
+ __slots__ = ("pose", "twist")
11
+ POSE_FIELD_NUMBER: _ClassVar[int]
12
+ TWIST_FIELD_NUMBER: _ClassVar[int]
13
+ pose: _plexus_common_geom_pb2.Pose
14
+ twist: _plexus_common_geom_pb2.Twist
15
+ def __init__(self, pose: _Optional[_Union[_plexus_common_geom_pb2.Pose, _Mapping]] = ..., twist: _Optional[_Union[_plexus_common_geom_pb2.Twist, _Mapping]] = ...) -> None: ...
@@ -0,0 +1,39 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: plexus/msgs/localization/plexus_msgs_localization_positioning.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'plexus/msgs/localization/plexus_msgs_localization_positioning.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from plexus.msgs import plexus_common_pb2 as plexus_dot_msgs_dot_plexus__common__pb2
26
+ from plexus.msgs import plexus_common_carto_pb2 as plexus_dot_msgs_dot_plexus__common__carto__pb2
27
+
28
+
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nCplexus/msgs/localization/plexus_msgs_localization_positioning.proto\x12\x18plexus.msgs.localization\x1a\x1fplexus/msgs/plexus_common.proto\x1a%plexus/msgs/plexus_common_carto.proto\"\xc4\x01\n\x0bPositioning\x12-\n\tgeo_coord\x18\x01 \x01(\x0b\x32\x15.plexus.msgs.GeoCoordH\x00\x88\x01\x01\x12\x31\n\x0eworld_position\x18\x02 \x01(\x0b\x32\x14.plexus.msgs.Vector3H\x01\x88\x01\x01\x12)\n\x04proj\x18\x03 \x01(\x0b\x32\x16.plexus.msgs.CartoProjH\x02\x88\x01\x01\x42\x0c\n\n_geo_coordB\x11\n\x0f_world_positionB\x07\n\x05_projB\x02P\x01\x62\x06proto3')
30
+
31
+ _globals = globals()
32
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
33
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'plexus.msgs.localization.plexus_msgs_localization_positioning_pb2', _globals)
34
+ if not _descriptor._USE_C_DESCRIPTORS:
35
+ _globals['DESCRIPTOR']._loaded_options = None
36
+ _globals['DESCRIPTOR']._serialized_options = b'P\001'
37
+ _globals['_POSITIONING']._serialized_start=170
38
+ _globals['_POSITIONING']._serialized_end=366
39
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,18 @@
1
+ from plexus.msgs import plexus_common_pb2 as _plexus_common_pb2
2
+ from plexus.msgs import plexus_common_carto_pb2 as _plexus_common_carto_pb2
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import message as _message
5
+ from collections.abc import Mapping as _Mapping
6
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
7
+
8
+ DESCRIPTOR: _descriptor.FileDescriptor
9
+
10
+ class Positioning(_message.Message):
11
+ __slots__ = ("geo_coord", "world_position", "proj")
12
+ GEO_COORD_FIELD_NUMBER: _ClassVar[int]
13
+ WORLD_POSITION_FIELD_NUMBER: _ClassVar[int]
14
+ PROJ_FIELD_NUMBER: _ClassVar[int]
15
+ geo_coord: _plexus_common_carto_pb2.GeoCoord
16
+ world_position: _plexus_common_pb2.Vector3
17
+ proj: _plexus_common_carto_pb2.CartoProj
18
+ def __init__(self, geo_coord: _Optional[_Union[_plexus_common_carto_pb2.GeoCoord, _Mapping]] = ..., world_position: _Optional[_Union[_plexus_common_pb2.Vector3, _Mapping]] = ..., proj: _Optional[_Union[_plexus_common_carto_pb2.CartoProj, _Mapping]] = ...) -> None: ...
@@ -0,0 +1,54 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: plexus/msgs/mapping/plexus_msgs_mapping_map_region.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'plexus/msgs/mapping/plexus_msgs_mapping_map_region.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from plexus.msgs import plexus_common_pb2 as plexus_dot_msgs_dot_plexus__common__pb2
26
+ from plexus.msgs import plexus_common_carto_pb2 as plexus_dot_msgs_dot_plexus__common__carto__pb2
27
+ from plexus.msgs import plexus_common_entity_pb2 as plexus_dot_msgs_dot_plexus__common__entity__pb2
28
+
29
+
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8plexus/msgs/mapping/plexus_msgs_mapping_map_region.proto\x12\x13plexus.msgs.mapping\x1a\x1fplexus/msgs/plexus_common.proto\x1a%plexus/msgs/plexus_common_carto.proto\x1a&plexus/msgs/plexus_common_entity.proto\"\xe0\x10\n\tMapRegion\x12\x39\n\x06\x63\x65nter\x18\x01 \x01(\x0b\x32$.plexus.msgs.mapping.MapRegion.CoordH\x00\x88\x01\x01\x12;\n\nlane_paths\x18\x02 \x03(\x0b\x32\'.plexus.msgs.mapping.MapRegion.LanePath\x12;\n\nlane_edges\x18\x03 \x03(\x0b\x32\'.plexus.msgs.mapping.MapRegion.LaneEdge\x12\x32\n\x05lanes\x18\x04 \x03(\x0b\x32#.plexus.msgs.mapping.MapRegion.Lane\x1a\x82\x01\n\x05\x43oord\x12-\n\nproj_coord\x18\x01 \x01(\x0b\x32\x14.plexus.msgs.Vector3H\x00\x88\x01\x01\x12-\n\tgeo_coord\x18\x02 \x01(\x0b\x32\x15.plexus.msgs.GeoCoordH\x01\x88\x01\x01\x42\r\n\x0b_proj_coordB\x0c\n\n_geo_coord\x1a\x96\x03\n\x08Waypoint\x12\x38\n\x05\x63oord\x18\x01 \x01(\x0b\x32$.plexus.msgs.mapping.MapRegion.CoordH\x00\x88\x01\x01\x12\x13\n\x06way_id\x18\x02 \x01(\x03H\x01\x88\x01\x01\x12\x19\n\x0cprev_node_id\x18\x03 \x01(\x03H\x02\x88\x01\x01\x12\x19\n\x0cnext_node_id\x18\x04 \x01(\x03H\x03\x88\x01\x01\x12\x13\n\x06lambda\x18\x05 \x01(\x01H\x04\x88\x01\x01\x12\x19\n\x0c\x64isplacement\x18\x06 \x01(\x01H\x05\x88\x01\x01\x12\x15\n\x08\x61ltitude\x18\x07 \x01(\x01H\x06\x88\x01\x01\x12\x16\n\tcurvature\x18\x08 \x01(\x01H\x07\x88\x01\x01\x12\x12\n\x05pitch\x18\t \x01(\x01H\x08\x88\x01\x01\x12\x11\n\x04roll\x18\n \x01(\x01H\t\x88\x01\x01\x42\x08\n\x06_coordB\t\n\x07_way_idB\x0f\n\r_prev_node_idB\x0f\n\r_next_node_idB\t\n\x07_lambdaB\x0f\n\r_displacementB\x0b\n\t_altitudeB\x0c\n\n_curvatureB\x08\n\x06_pitchB\x07\n\x05_roll\x1a\xe4\x03\n\x08LanePath\x12\x13\n\x06way_id\x18\x01 \x01(\x03H\x00\x88\x01\x01\x12\x44\n\x0e\x62\x65gin_waypoint\x18\x02 \x01(\x0b\x32\'.plexus.msgs.mapping.MapRegion.WaypointH\x01\x88\x01\x01\x12\x42\n\x0c\x65nd_waypoint\x18\x03 \x01(\x0b\x32\'.plexus.msgs.mapping.MapRegion.WaypointH\x02\x88\x01\x01\x12\x34\n\x06\x63oords\x18\x04 \x03(\x0b\x32$.plexus.msgs.mapping.MapRegion.Coord\x12K\n\nattributes\x18\x05 \x01(\x0b\x32\x32.plexus.msgs.mapping.MapRegion.LanePath.AttributesH\x03\x88\x01\x01\x1ax\n\nAttributes\x12\x1e\n\x11upper_speed_limit\x18\x01 \x01(\x01H\x00\x88\x01\x01\x12\x1e\n\x11lower_speed_limit\x18\x02 \x01(\x01H\x01\x88\x01\x01\x42\x14\n\x12_upper_speed_limitB\x14\n\x12_lower_speed_limitB\t\n\x07_way_idB\x11\n\x0f_begin_waypointB\x0f\n\r_end_waypointB\r\n\x0b_attributes\x1a\xeb\x05\n\x08LaneEdge\x12\x13\n\x06way_id\x18\x01 \x01(\x03H\x00\x88\x01\x01\x12\x44\n\x0e\x62\x65gin_waypoint\x18\x02 \x01(\x0b\x32\'.plexus.msgs.mapping.MapRegion.WaypointH\x01\x88\x01\x01\x12\x42\n\x0c\x65nd_waypoint\x18\x03 \x01(\x0b\x32\'.plexus.msgs.mapping.MapRegion.WaypointH\x02\x88\x01\x01\x12\x34\n\x06\x63oords\x18\x04 \x03(\x0b\x32$.plexus.msgs.mapping.MapRegion.Coord\x12K\n\nattributes\x18\x05 \x01(\x0b\x32\x32.plexus.msgs.mapping.MapRegion.LaneEdge.AttributesH\x03\x88\x01\x01\x1a\xfe\x02\n\nAttributes\x12\x45\n\x0flane_mark_color\x18\x01 \x01(\x0e\x32\'.plexus.msgs.LaneMark.LaneMarkColorEnumH\x00\x88\x01\x01\x12I\n\x11lane_mark_pattern\x18\x02 \x01(\x0e\x32).plexus.msgs.LaneMark.LaneMarkPatternEnumH\x01\x88\x01\x01\x12G\n\x10lane_mark_weight\x18\x03 \x01(\x0e\x32(.plexus.msgs.LaneMark.LaneMarkWeightEnumH\x02\x88\x01\x01\x12\x1d\n\x10is_road_boundary\x18\x04 \x01(\x08H\x03\x88\x01\x01\x12\x15\n\x08is_fence\x18\x05 \x01(\x08H\x04\x88\x01\x01\x42\x12\n\x10_lane_mark_colorB\x14\n\x12_lane_mark_patternB\x13\n\x11_lane_mark_weightB\x13\n\x11_is_road_boundaryB\x0b\n\t_is_fenceB\t\n\x07_way_idB\x11\n\x0f_begin_waypointB\x0f\n\r_end_waypointB\r\n\x0b_attributes\x1al\n\x04Lane\x12\x1c\n\x0fleft_edge_index\x18\x01 \x01(\x03H\x00\x88\x01\x01\x12\x1d\n\x10right_edge_index\x18\x02 \x01(\x03H\x01\x88\x01\x01\x42\x12\n\x10_left_edge_indexB\x13\n\x11_right_edge_indexB\t\n\x07_centerB\x02P\x01\x62\x06proto3')
31
+
32
+ _globals = globals()
33
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
34
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'plexus.msgs.mapping.plexus_msgs_mapping_map_region_pb2', _globals)
35
+ if not _descriptor._USE_C_DESCRIPTORS:
36
+ _globals['DESCRIPTOR']._loaded_options = None
37
+ _globals['DESCRIPTOR']._serialized_options = b'P\001'
38
+ _globals['_MAPREGION']._serialized_start=194
39
+ _globals['_MAPREGION']._serialized_end=2338
40
+ _globals['_MAPREGION_COORD']._serialized_start=441
41
+ _globals['_MAPREGION_COORD']._serialized_end=571
42
+ _globals['_MAPREGION_WAYPOINT']._serialized_start=574
43
+ _globals['_MAPREGION_WAYPOINT']._serialized_end=980
44
+ _globals['_MAPREGION_LANEPATH']._serialized_start=983
45
+ _globals['_MAPREGION_LANEPATH']._serialized_end=1467
46
+ _globals['_MAPREGION_LANEPATH_ATTRIBUTES']._serialized_start=1285
47
+ _globals['_MAPREGION_LANEPATH_ATTRIBUTES']._serialized_end=1405
48
+ _globals['_MAPREGION_LANEEDGE']._serialized_start=1470
49
+ _globals['_MAPREGION_LANEEDGE']._serialized_end=2217
50
+ _globals['_MAPREGION_LANEEDGE_ATTRIBUTES']._serialized_start=1773
51
+ _globals['_MAPREGION_LANEEDGE_ATTRIBUTES']._serialized_end=2155
52
+ _globals['_MAPREGION_LANE']._serialized_start=2219
53
+ _globals['_MAPREGION_LANE']._serialized_end=2327
54
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,104 @@
1
+ from plexus.msgs import plexus_common_pb2 as _plexus_common_pb2
2
+ from plexus.msgs import plexus_common_carto_pb2 as _plexus_common_carto_pb2
3
+ from plexus.msgs import plexus_common_entity_pb2 as _plexus_common_entity_pb2
4
+ from google.protobuf.internal import containers as _containers
5
+ from google.protobuf import descriptor as _descriptor
6
+ from google.protobuf import message as _message
7
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
8
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
9
+
10
+ DESCRIPTOR: _descriptor.FileDescriptor
11
+
12
+ class MapRegion(_message.Message):
13
+ __slots__ = ("center", "lane_paths", "lane_edges", "lanes")
14
+ class Coord(_message.Message):
15
+ __slots__ = ("proj_coord", "geo_coord")
16
+ PROJ_COORD_FIELD_NUMBER: _ClassVar[int]
17
+ GEO_COORD_FIELD_NUMBER: _ClassVar[int]
18
+ proj_coord: _plexus_common_pb2.Vector3
19
+ geo_coord: _plexus_common_carto_pb2.GeoCoord
20
+ def __init__(self, proj_coord: _Optional[_Union[_plexus_common_pb2.Vector3, _Mapping]] = ..., geo_coord: _Optional[_Union[_plexus_common_carto_pb2.GeoCoord, _Mapping]] = ...) -> None: ...
21
+ class Waypoint(_message.Message):
22
+ __slots__ = ("coord", "way_id", "prev_node_id", "next_node_id", "displacement", "altitude", "curvature", "pitch", "roll")
23
+ COORD_FIELD_NUMBER: _ClassVar[int]
24
+ WAY_ID_FIELD_NUMBER: _ClassVar[int]
25
+ PREV_NODE_ID_FIELD_NUMBER: _ClassVar[int]
26
+ NEXT_NODE_ID_FIELD_NUMBER: _ClassVar[int]
27
+ LAMBDA_FIELD_NUMBER: _ClassVar[int]
28
+ DISPLACEMENT_FIELD_NUMBER: _ClassVar[int]
29
+ ALTITUDE_FIELD_NUMBER: _ClassVar[int]
30
+ CURVATURE_FIELD_NUMBER: _ClassVar[int]
31
+ PITCH_FIELD_NUMBER: _ClassVar[int]
32
+ ROLL_FIELD_NUMBER: _ClassVar[int]
33
+ coord: MapRegion.Coord
34
+ way_id: int
35
+ prev_node_id: int
36
+ next_node_id: int
37
+ displacement: float
38
+ altitude: float
39
+ curvature: float
40
+ pitch: float
41
+ roll: float
42
+ def __init__(self, coord: _Optional[_Union[MapRegion.Coord, _Mapping]] = ..., way_id: _Optional[int] = ..., prev_node_id: _Optional[int] = ..., next_node_id: _Optional[int] = ..., displacement: _Optional[float] = ..., altitude: _Optional[float] = ..., curvature: _Optional[float] = ..., pitch: _Optional[float] = ..., roll: _Optional[float] = ..., **kwargs) -> None: ...
43
+ class LanePath(_message.Message):
44
+ __slots__ = ("way_id", "begin_waypoint", "end_waypoint", "coords", "attributes")
45
+ class Attributes(_message.Message):
46
+ __slots__ = ("upper_speed_limit", "lower_speed_limit")
47
+ UPPER_SPEED_LIMIT_FIELD_NUMBER: _ClassVar[int]
48
+ LOWER_SPEED_LIMIT_FIELD_NUMBER: _ClassVar[int]
49
+ upper_speed_limit: float
50
+ lower_speed_limit: float
51
+ def __init__(self, upper_speed_limit: _Optional[float] = ..., lower_speed_limit: _Optional[float] = ...) -> None: ...
52
+ WAY_ID_FIELD_NUMBER: _ClassVar[int]
53
+ BEGIN_WAYPOINT_FIELD_NUMBER: _ClassVar[int]
54
+ END_WAYPOINT_FIELD_NUMBER: _ClassVar[int]
55
+ COORDS_FIELD_NUMBER: _ClassVar[int]
56
+ ATTRIBUTES_FIELD_NUMBER: _ClassVar[int]
57
+ way_id: int
58
+ begin_waypoint: MapRegion.Waypoint
59
+ end_waypoint: MapRegion.Waypoint
60
+ coords: _containers.RepeatedCompositeFieldContainer[MapRegion.Coord]
61
+ attributes: MapRegion.LanePath.Attributes
62
+ def __init__(self, way_id: _Optional[int] = ..., begin_waypoint: _Optional[_Union[MapRegion.Waypoint, _Mapping]] = ..., end_waypoint: _Optional[_Union[MapRegion.Waypoint, _Mapping]] = ..., coords: _Optional[_Iterable[_Union[MapRegion.Coord, _Mapping]]] = ..., attributes: _Optional[_Union[MapRegion.LanePath.Attributes, _Mapping]] = ...) -> None: ...
63
+ class LaneEdge(_message.Message):
64
+ __slots__ = ("way_id", "begin_waypoint", "end_waypoint", "coords", "attributes")
65
+ class Attributes(_message.Message):
66
+ __slots__ = ("lane_mark_color", "lane_mark_pattern", "lane_mark_weight", "is_road_boundary", "is_fence")
67
+ LANE_MARK_COLOR_FIELD_NUMBER: _ClassVar[int]
68
+ LANE_MARK_PATTERN_FIELD_NUMBER: _ClassVar[int]
69
+ LANE_MARK_WEIGHT_FIELD_NUMBER: _ClassVar[int]
70
+ IS_ROAD_BOUNDARY_FIELD_NUMBER: _ClassVar[int]
71
+ IS_FENCE_FIELD_NUMBER: _ClassVar[int]
72
+ lane_mark_color: _plexus_common_entity_pb2.LaneMark.LaneMarkColorEnum
73
+ lane_mark_pattern: _plexus_common_entity_pb2.LaneMark.LaneMarkPatternEnum
74
+ lane_mark_weight: _plexus_common_entity_pb2.LaneMark.LaneMarkWeightEnum
75
+ is_road_boundary: bool
76
+ is_fence: bool
77
+ def __init__(self, lane_mark_color: _Optional[_Union[_plexus_common_entity_pb2.LaneMark.LaneMarkColorEnum, str]] = ..., lane_mark_pattern: _Optional[_Union[_plexus_common_entity_pb2.LaneMark.LaneMarkPatternEnum, str]] = ..., lane_mark_weight: _Optional[_Union[_plexus_common_entity_pb2.LaneMark.LaneMarkWeightEnum, str]] = ..., is_road_boundary: bool = ..., is_fence: bool = ...) -> None: ...
78
+ WAY_ID_FIELD_NUMBER: _ClassVar[int]
79
+ BEGIN_WAYPOINT_FIELD_NUMBER: _ClassVar[int]
80
+ END_WAYPOINT_FIELD_NUMBER: _ClassVar[int]
81
+ COORDS_FIELD_NUMBER: _ClassVar[int]
82
+ ATTRIBUTES_FIELD_NUMBER: _ClassVar[int]
83
+ way_id: int
84
+ begin_waypoint: MapRegion.Waypoint
85
+ end_waypoint: MapRegion.Waypoint
86
+ coords: _containers.RepeatedCompositeFieldContainer[MapRegion.Coord]
87
+ attributes: MapRegion.LaneEdge.Attributes
88
+ def __init__(self, way_id: _Optional[int] = ..., begin_waypoint: _Optional[_Union[MapRegion.Waypoint, _Mapping]] = ..., end_waypoint: _Optional[_Union[MapRegion.Waypoint, _Mapping]] = ..., coords: _Optional[_Iterable[_Union[MapRegion.Coord, _Mapping]]] = ..., attributes: _Optional[_Union[MapRegion.LaneEdge.Attributes, _Mapping]] = ...) -> None: ...
89
+ class Lane(_message.Message):
90
+ __slots__ = ("left_edge_index", "right_edge_index")
91
+ LEFT_EDGE_INDEX_FIELD_NUMBER: _ClassVar[int]
92
+ RIGHT_EDGE_INDEX_FIELD_NUMBER: _ClassVar[int]
93
+ left_edge_index: int
94
+ right_edge_index: int
95
+ def __init__(self, left_edge_index: _Optional[int] = ..., right_edge_index: _Optional[int] = ...) -> None: ...
96
+ CENTER_FIELD_NUMBER: _ClassVar[int]
97
+ LANE_PATHS_FIELD_NUMBER: _ClassVar[int]
98
+ LANE_EDGES_FIELD_NUMBER: _ClassVar[int]
99
+ LANES_FIELD_NUMBER: _ClassVar[int]
100
+ center: MapRegion.Coord
101
+ lane_paths: _containers.RepeatedCompositeFieldContainer[MapRegion.LanePath]
102
+ lane_edges: _containers.RepeatedCompositeFieldContainer[MapRegion.LaneEdge]
103
+ lanes: _containers.RepeatedCompositeFieldContainer[MapRegion.Lane]
104
+ def __init__(self, center: _Optional[_Union[MapRegion.Coord, _Mapping]] = ..., lane_paths: _Optional[_Iterable[_Union[MapRegion.LanePath, _Mapping]]] = ..., lane_edges: _Optional[_Iterable[_Union[MapRegion.LaneEdge, _Mapping]]] = ..., lanes: _Optional[_Iterable[_Union[MapRegion.Lane, _Mapping]]] = ...) -> None: ...