spatialdds-ros 0.3.0__py3-none-any.whl
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.
- spatialdds_idl18/PROVENANCE.md +66 -0
- spatialdds_idl18/__init__.py +9 -0
- spatialdds_idl18/_field_aliases.py +26 -0
- spatialdds_idl18/builtin/__init__.py +11 -0
- spatialdds_idl18/builtin/_types.py +28 -0
- spatialdds_idl18/spatial/__init__.py +33 -0
- spatialdds_idl18/spatial/anchors/__init__.py +20 -0
- spatialdds_idl18/spatial/anchors/_anchors.py +102 -0
- spatialdds_idl18/spatial/argeo/__init__.py +22 -0
- spatialdds_idl18/spatial/argeo/_argeo.py +97 -0
- spatialdds_idl18/spatial/common/__init__.py +27 -0
- spatialdds_idl18/spatial/common/_types.py +104 -0
- spatialdds_idl18/spatial/core/GnssService/__init__.py +17 -0
- spatialdds_idl18/spatial/core/GnssService/_core.py +27 -0
- spatialdds_idl18/spatial/core/__init__.py +40 -0
- spatialdds_idl18/spatial/core/_core.py +338 -0
- spatialdds_idl18/spatial/disco/__init__.py +34 -0
- spatialdds_idl18/spatial/disco/_discovery.py +252 -0
- spatialdds_idl18/spatial/events/__init__.py +29 -0
- spatialdds_idl18/spatial/events/_events.py +164 -0
- spatialdds_idl18/spatial/events/enums/__init__.py +19 -0
- spatialdds_idl18/spatial/events/enums/crossing_direction_enum/__init__.py +11 -0
- spatialdds_idl18/spatial/events/enums/crossing_direction_enum/_events.py +25 -0
- spatialdds_idl18/spatial/events/enums/event_state_enum/__init__.py +11 -0
- spatialdds_idl18/spatial/events/enums/event_state_enum/_events.py +26 -0
- spatialdds_idl18/spatial/events/enums/event_type_enum/__init__.py +11 -0
- spatialdds_idl18/spatial/events/enums/event_type_enum/_events.py +36 -0
- spatialdds_idl18/spatial/events/enums/severity_enum/__init__.py +11 -0
- spatialdds_idl18/spatial/events/enums/severity_enum/_events.py +26 -0
- spatialdds_idl18/spatial/events/enums/zone_kind_enum/__init__.py +11 -0
- spatialdds_idl18/spatial/events/enums/zone_kind_enum/_events.py +31 -0
- spatialdds_idl18/spatial/mapping/__init__.py +30 -0
- spatialdds_idl18/spatial/mapping/_mapping.py +168 -0
- spatialdds_idl18/spatial/mapping/enums/__init__.py +19 -0
- spatialdds_idl18/spatial/mapping/enums/alignment_method/__init__.py +11 -0
- spatialdds_idl18/spatial/mapping/enums/alignment_method/_mapping.py +31 -0
- spatialdds_idl18/spatial/mapping/enums/edge_type/__init__.py +11 -0
- spatialdds_idl18/spatial/mapping/enums/edge_type/_mapping.py +34 -0
- spatialdds_idl18/spatial/mapping/enums/map_event_kind/__init__.py +11 -0
- spatialdds_idl18/spatial/mapping/enums/map_event_kind/_mapping.py +29 -0
- spatialdds_idl18/spatial/mapping/enums/map_kind/__init__.py +11 -0
- spatialdds_idl18/spatial/mapping/enums/map_kind/_mapping.py +32 -0
- spatialdds_idl18/spatial/mapping/enums/map_status/__init__.py +11 -0
- spatialdds_idl18/spatial/mapping/enums/map_status/_mapping.py +27 -0
- spatialdds_idl18/spatial/owm/__init__.py +22 -0
- spatialdds_idl18/spatial/owm/_owm.py +103 -0
- spatialdds_idl18/spatial/semantics/__init__.py +22 -0
- spatialdds_idl18/spatial/semantics/_semantics.py +174 -0
- spatialdds_idl18/spatial/sensing/__init__.py +21 -0
- spatialdds_idl18/spatial/sensing/common/__init__.py +34 -0
- spatialdds_idl18/spatial/sensing/common/_common.py +192 -0
- spatialdds_idl18/spatial/sensing/lidar/__init__.py +32 -0
- spatialdds_idl18/spatial/sensing/lidar/_lidar.py +135 -0
- spatialdds_idl18/spatial/sensing/rad/__init__.py +33 -0
- spatialdds_idl18/spatial/sensing/rad/_rad.py +191 -0
- spatialdds_idl18/spatial/sensing/radio/__init__.py +22 -0
- spatialdds_idl18/spatial/sensing/radio/_radio.py +141 -0
- spatialdds_idl18/spatial/sensing/rf_beam/__init__.py +25 -0
- spatialdds_idl18/spatial/sensing/rf_beam/_rf_beam.py +117 -0
- spatialdds_idl18/spatial/sensing/vision/__init__.py +36 -0
- spatialdds_idl18/spatial/sensing/vision/_vision.py +170 -0
- spatialdds_idl18/spatial/slam_frontend/__init__.py +22 -0
- spatialdds_idl18/spatial/slam_frontend/_slam_frontend.py +144 -0
- spatialdds_idl18/spatial/vio/__init__.py +20 -0
- spatialdds_idl18/spatial/vio/_vio.py +134 -0
- spatialdds_ros/__init__.py +6 -0
- spatialdds_ros/adapter.py +336 -0
- spatialdds_ros/announce.py +231 -0
- spatialdds_ros/config.py +293 -0
- spatialdds_ros/frames.py +219 -0
- spatialdds_ros/kinematic.py +140 -0
- spatialdds_ros/qos.py +101 -0
- spatialdds_ros/recording.py +167 -0
- spatialdds_ros/robot_node.py +287 -0
- spatialdds_ros/standalone.py +221 -0
- spatialdds_ros/tempo.py +114 -0
- spatialdds_ros/topics.py +64 -0
- spatialdds_ros/transport.py +170 -0
- spatialdds_ros-0.3.0.data/data/share/ament_index/resource_index/packages/spatialdds_ros +0 -0
- spatialdds_ros-0.3.0.data/data/share/spatialdds_ros/package.xml +29 -0
- spatialdds_ros-0.3.0.dist-info/METADATA +331 -0
- spatialdds_ros-0.3.0.dist-info/RECORD +87 -0
- spatialdds_ros-0.3.0.dist-info/WHEEL +5 -0
- spatialdds_ros-0.3.0.dist-info/entry_points.txt +3 -0
- spatialdds_ros-0.3.0.dist-info/licenses/LICENSE +21 -0
- spatialdds_ros-0.3.0.dist-info/top_level.txt +2 -0
- spatialdds_ros-0.3.0.dist-info/zip-safe +1 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Where these types came from
|
|
2
|
+
|
|
3
|
+
Generated SpatialDDS **1.8** Python bindings, vendored. Do not edit by hand —
|
|
4
|
+
every file here is idlc output plus two mechanical patches, and an edit would
|
|
5
|
+
be lost the next time they are regenerated.
|
|
6
|
+
|
|
7
|
+
| | |
|
|
8
|
+
|---|---|
|
|
9
|
+
| IDL source | `idl/v1.8/` in `OpenArCloud/SpatialDDS-spec`, at `9c3e1f2` (2026-10-15) |
|
|
10
|
+
| generator | `scripts/generate_types.py` in `OpenArCloud/SpatialDDS-demo` |
|
|
11
|
+
| vendored from | that repo's `spatialdds_idl18/` at `cf4ec23` |
|
|
12
|
+
| files | 64 |
|
|
13
|
+
|
|
14
|
+
The spec's `idl/v1.8` and the demo's copy were verified byte-identical at the
|
|
15
|
+
time of vendoring, so these bindings correspond to the specification's IDL and
|
|
16
|
+
not to a demo-local variant.
|
|
17
|
+
|
|
18
|
+
## Why vendored rather than depended on
|
|
19
|
+
|
|
20
|
+
The `spatialdds` distribution on PyPI (0.5.4, this library's toolchain) ships
|
|
21
|
+
the gateway, canonical JSON and the record helpers — it does **not** ship IDL
|
|
22
|
+
bindings. There is no published package to depend on, and generating at
|
|
23
|
+
install time would need `idlc` and a CycloneDDS build on every machine that
|
|
24
|
+
installs this library, including CI runners and a robot. So they are vendored,
|
|
25
|
+
with the provenance above standing in for a version constraint.
|
|
26
|
+
|
|
27
|
+
## The two patches, and why they are the generator's job
|
|
28
|
+
|
|
29
|
+
Both are applied by `generate_types.py` after idlc runs, and both are
|
|
30
|
+
mechanical consequences of idlc's output rather than choices:
|
|
31
|
+
|
|
32
|
+
**1. The root package is bound.** idlc annotates a nested member with a
|
|
33
|
+
fully-qualified *string* — `cov_pos: 'spatialdds_idl18.spatial.common.Mat3x3'`
|
|
34
|
+
— while importing only `from spatialdds_idl18 import spatial`. The root name in
|
|
35
|
+
those annotations is therefore unbound and `typing.get_type_hints()` raises
|
|
36
|
+
`NameError` on every generated dataclass with a nested member. So each such
|
|
37
|
+
module also does `import spatialdds_idl18`.
|
|
38
|
+
|
|
39
|
+
CycloneDDS resolves annotations with its own machinery and never calls
|
|
40
|
+
`get_type_hints`, which is why this defect sat unnoticed for a year while
|
|
41
|
+
everything on the wire worked. It still mattered: `get_type_hints` is how
|
|
42
|
+
dataclass-based tooling reads a type, so schema generators and validators
|
|
43
|
+
could not introspect these bindings at all. Fixed upstream in SpatialDDS-demo
|
|
44
|
+
`b856788`, and in openvps `26c7182`.
|
|
45
|
+
|
|
46
|
+
**2. Union discriminators are imported.** idlc emits some discriminators as
|
|
47
|
+
bare names it never imports; the generator resolves each against the module
|
|
48
|
+
that defines it and writes the import.
|
|
49
|
+
|
|
50
|
+
## The gate
|
|
51
|
+
|
|
52
|
+
`test/test_generated_types.py` imports every module in this tree and calls
|
|
53
|
+
`typing.get_type_hints()` on every generated dataclass. It walks the tree from
|
|
54
|
+
disk rather than from a written-down list, because a hand-kept list checks only
|
|
55
|
+
the modules somebody remembered.
|
|
56
|
+
|
|
57
|
+
That gate is the reason this directory can be trusted by anything that
|
|
58
|
+
introspects types — which, in this library, is the MCAP schema validation in
|
|
59
|
+
the acceptance run.
|
|
60
|
+
|
|
61
|
+
## Regenerating
|
|
62
|
+
|
|
63
|
+
Not from this repository. The generator and the IDL both live elsewhere; to
|
|
64
|
+
move to a newer 1.8 revision, regenerate in SpatialDDS-demo and re-vendor,
|
|
65
|
+
updating the table above. The gate will tell you immediately if a regeneration
|
|
66
|
+
dropped either patch.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Generated by scripts/generate_types.py — do not edit.
|
|
2
|
+
# Regenerate with: docker run --rm -v "$PWD:/repo" -w /repo cyclonedds-python \
|
|
3
|
+
# python3 scripts/generate_types.py
|
|
4
|
+
"""Generated SpatialDDS 1.7 types. See scripts/generate_types.py."""
|
|
5
|
+
|
|
6
|
+
from . import builtin
|
|
7
|
+
from . import spatial
|
|
8
|
+
|
|
9
|
+
__all__ = ["builtin", "spatial"]
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Generated by scripts/generate_types.py — do not edit.
|
|
2
|
+
# Regenerate with: docker run --rm -v "$PWD:/repo" -w /repo cyclonedds-python \
|
|
3
|
+
# python3 scripts/generate_types.py
|
|
4
|
+
|
|
5
|
+
"""Python attribute -> IDL field name, for fields renamed to dodge
|
|
6
|
+
Python keywords. See fix_python_keyword_fields in the generator."""
|
|
7
|
+
|
|
8
|
+
FIELD_ALIASES = {
|
|
9
|
+
"spatial.disco.CoverageElement": {
|
|
10
|
+
"_global": "global",
|
|
11
|
+
},
|
|
12
|
+
"spatial.disco.Transform": {
|
|
13
|
+
"_from": "from",
|
|
14
|
+
},
|
|
15
|
+
"spatial.disco.ValidityWindow": {
|
|
16
|
+
"_from": "from",
|
|
17
|
+
},
|
|
18
|
+
"spatial.sensing.common.ROI": {
|
|
19
|
+
"_global": "global",
|
|
20
|
+
},
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def wire_name(typename: str, attr: str) -> str:
|
|
25
|
+
"""The IDL field name for a generated attribute."""
|
|
26
|
+
return FIELD_ALIASES.get(typename, {}).get(attr, attr)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Generated by Eclipse Cyclone DDS idlc Python Backend
|
|
3
|
+
Cyclone DDS IDL version: v11.0.1
|
|
4
|
+
Module: builtin
|
|
5
|
+
IDL file: types.idl
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from dataclasses import dataclass
|
|
10
|
+
from enum import auto
|
|
11
|
+
from typing import TYPE_CHECKING, Optional
|
|
12
|
+
|
|
13
|
+
import cyclonedds.idl as idl
|
|
14
|
+
import cyclonedds.idl.annotations as annotate
|
|
15
|
+
import cyclonedds.idl.types as types
|
|
16
|
+
|
|
17
|
+
# root module import for resolving types
|
|
18
|
+
from spatialdds_idl18 import builtin
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@dataclass
|
|
22
|
+
@annotate.appendable
|
|
23
|
+
@annotate.autoid("sequential")
|
|
24
|
+
class Time(idl.IdlStruct, typename="builtin.Time"):
|
|
25
|
+
sec: types.int64
|
|
26
|
+
nanosec: types.uint32
|
|
27
|
+
|
|
28
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Generated by Eclipse Cyclone DDS idlc Python Backend
|
|
3
|
+
Cyclone DDS IDL version: v11.0.1
|
|
4
|
+
Module: spatial
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from . import anchors
|
|
9
|
+
from . import argeo
|
|
10
|
+
from . import common
|
|
11
|
+
from . import core
|
|
12
|
+
from . import disco
|
|
13
|
+
from . import events
|
|
14
|
+
from . import mapping
|
|
15
|
+
from . import owm
|
|
16
|
+
from . import semantics
|
|
17
|
+
from . import sensing
|
|
18
|
+
from . import slam_frontend
|
|
19
|
+
from . import vio
|
|
20
|
+
__all__ = [
|
|
21
|
+
"anchors",
|
|
22
|
+
"argeo",
|
|
23
|
+
"common",
|
|
24
|
+
"core",
|
|
25
|
+
"disco",
|
|
26
|
+
"events",
|
|
27
|
+
"mapping",
|
|
28
|
+
"owm",
|
|
29
|
+
"semantics",
|
|
30
|
+
"sensing",
|
|
31
|
+
"slam_frontend",
|
|
32
|
+
"vio",
|
|
33
|
+
]
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Generated by Eclipse Cyclone DDS idlc Python Backend
|
|
3
|
+
Cyclone DDS IDL version: v11.0.1
|
|
4
|
+
Module: spatial.anchors
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from ._anchors import AnchorDelta, AnchorEntry, AnchorOp, AnchorSet, AnchorSetRequest, AnchorSetResponse, FrameRef, GeoPose, MODULE_ID, Time
|
|
9
|
+
__all__ = [
|
|
10
|
+
"AnchorDelta",
|
|
11
|
+
"AnchorEntry",
|
|
12
|
+
"AnchorOp",
|
|
13
|
+
"AnchorSet",
|
|
14
|
+
"AnchorSetRequest",
|
|
15
|
+
"AnchorSetResponse",
|
|
16
|
+
"FrameRef",
|
|
17
|
+
"GeoPose",
|
|
18
|
+
"MODULE_ID",
|
|
19
|
+
"Time",
|
|
20
|
+
]
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Generated by Eclipse Cyclone DDS idlc Python Backend
|
|
3
|
+
Cyclone DDS IDL version: v11.0.1
|
|
4
|
+
Module: spatial.anchors
|
|
5
|
+
IDL file: anchors.idl
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from dataclasses import dataclass
|
|
10
|
+
from enum import auto
|
|
11
|
+
from typing import TYPE_CHECKING, Optional
|
|
12
|
+
|
|
13
|
+
import cyclonedds.idl as idl
|
|
14
|
+
import cyclonedds.idl.annotations as annotate
|
|
15
|
+
import cyclonedds.idl.types as types
|
|
16
|
+
|
|
17
|
+
# root module import for resolving types
|
|
18
|
+
# generate_types.py: bind the root name the dotted
|
|
19
|
+
# annotations below already use, so get_type_hints works
|
|
20
|
+
import spatialdds_idl18
|
|
21
|
+
from spatialdds_idl18 import spatial
|
|
22
|
+
|
|
23
|
+
if TYPE_CHECKING:
|
|
24
|
+
import builtin
|
|
25
|
+
import spatial.core
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
MODULE_ID = "spatial.anchors/1.8"
|
|
29
|
+
Time = types.typedef['spatialdds_idl18.spatial.anchors.Time', 'spatialdds_idl18.builtin.Time']
|
|
30
|
+
GeoPose = types.typedef['spatialdds_idl18.spatial.anchors.GeoPose', 'spatialdds_idl18.spatial.core.GeoPose']
|
|
31
|
+
FrameRef = types.typedef['spatialdds_idl18.spatial.anchors.FrameRef', 'spatialdds_idl18.spatial.core.FrameRef']
|
|
32
|
+
|
|
33
|
+
@dataclass
|
|
34
|
+
@annotate.appendable
|
|
35
|
+
@annotate.autoid("sequential")
|
|
36
|
+
class AnchorEntry(idl.IdlStruct, typename="spatial.anchors.AnchorEntry"):
|
|
37
|
+
anchor_id: str
|
|
38
|
+
annotate.key("anchor_id")
|
|
39
|
+
name: str
|
|
40
|
+
geopose: 'spatialdds_idl18.spatial.anchors.GeoPose'
|
|
41
|
+
confidence: types.float64
|
|
42
|
+
tags: types.sequence[str, 8]
|
|
43
|
+
stamp: 'spatialdds_idl18.spatial.anchors.Time'
|
|
44
|
+
checksum: str
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
@dataclass
|
|
48
|
+
@annotate.appendable
|
|
49
|
+
@annotate.autoid("sequential")
|
|
50
|
+
class AnchorSet(idl.IdlStruct, typename="spatial.anchors.AnchorSet"):
|
|
51
|
+
set_id: str
|
|
52
|
+
annotate.key("set_id")
|
|
53
|
+
title: str
|
|
54
|
+
provider_id: str
|
|
55
|
+
map_frame: 'spatialdds_idl18.spatial.anchors.FrameRef'
|
|
56
|
+
version: str
|
|
57
|
+
tags: types.sequence[str, 16]
|
|
58
|
+
center_lat: types.float64
|
|
59
|
+
center_lon: types.float64
|
|
60
|
+
radius_m: types.float64
|
|
61
|
+
anchors: types.sequence['spatialdds_idl18.spatial.anchors.AnchorEntry', 256]
|
|
62
|
+
stamp: 'spatialdds_idl18.spatial.anchors.Time'
|
|
63
|
+
checksum: str
|
|
64
|
+
|
|
65
|
+
@annotate.final
|
|
66
|
+
class AnchorOp(idl.IdlEnum, typename="spatial.anchors.AnchorOp", default="ADD"):
|
|
67
|
+
ADD = 0
|
|
68
|
+
UPDATE = 1
|
|
69
|
+
REMOVE = 2
|
|
70
|
+
|
|
71
|
+
@dataclass
|
|
72
|
+
@annotate.appendable
|
|
73
|
+
@annotate.autoid("sequential")
|
|
74
|
+
class AnchorDelta(idl.IdlStruct, typename="spatial.anchors.AnchorDelta"):
|
|
75
|
+
set_id: str
|
|
76
|
+
annotate.key("set_id")
|
|
77
|
+
op: 'spatialdds_idl18.spatial.anchors.AnchorOp'
|
|
78
|
+
entry: 'spatialdds_idl18.spatial.anchors.AnchorEntry'
|
|
79
|
+
revision: types.uint64
|
|
80
|
+
stamp: 'spatialdds_idl18.spatial.anchors.Time'
|
|
81
|
+
post_checksum: str
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
@dataclass
|
|
85
|
+
@annotate.appendable
|
|
86
|
+
@annotate.autoid("sequential")
|
|
87
|
+
class AnchorSetRequest(idl.IdlStruct, typename="spatial.anchors.AnchorSetRequest"):
|
|
88
|
+
set_id: str
|
|
89
|
+
annotate.key("set_id")
|
|
90
|
+
up_to_revision: types.uint64
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
@dataclass
|
|
94
|
+
@annotate.appendable
|
|
95
|
+
@annotate.autoid("sequential")
|
|
96
|
+
class AnchorSetResponse(idl.IdlStruct, typename="spatial.anchors.AnchorSetResponse"):
|
|
97
|
+
set_id: str
|
|
98
|
+
annotate.key("set_id")
|
|
99
|
+
revision: types.uint64
|
|
100
|
+
set: 'spatialdds_idl18.spatial.anchors.AnchorSet'
|
|
101
|
+
|
|
102
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Generated by Eclipse Cyclone DDS idlc Python Backend
|
|
3
|
+
Cyclone DDS IDL version: v11.0.1
|
|
4
|
+
Module: spatial.argeo
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from ._argeo import CovMatrix, FrameRef, FramedPose, GeoPose, MODULE_ID, NodeGeo, PoseSE3, QualityRequirements, Time, VpsRequest, VpsResponse, VpsStatus
|
|
9
|
+
__all__ = [
|
|
10
|
+
"CovMatrix",
|
|
11
|
+
"FrameRef",
|
|
12
|
+
"FramedPose",
|
|
13
|
+
"GeoPose",
|
|
14
|
+
"MODULE_ID",
|
|
15
|
+
"NodeGeo",
|
|
16
|
+
"PoseSE3",
|
|
17
|
+
"QualityRequirements",
|
|
18
|
+
"Time",
|
|
19
|
+
"VpsRequest",
|
|
20
|
+
"VpsResponse",
|
|
21
|
+
"VpsStatus",
|
|
22
|
+
]
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Generated by Eclipse Cyclone DDS idlc Python Backend
|
|
3
|
+
Cyclone DDS IDL version: v11.0.1
|
|
4
|
+
Module: spatial.argeo
|
|
5
|
+
IDL file: argeo.idl
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from dataclasses import dataclass
|
|
10
|
+
from enum import auto
|
|
11
|
+
from typing import TYPE_CHECKING, Optional
|
|
12
|
+
|
|
13
|
+
import cyclonedds.idl as idl
|
|
14
|
+
import cyclonedds.idl.annotations as annotate
|
|
15
|
+
import cyclonedds.idl.types as types
|
|
16
|
+
|
|
17
|
+
# root module import for resolving types
|
|
18
|
+
# generate_types.py: bind the root name the dotted
|
|
19
|
+
# annotations below already use, so get_type_hints works
|
|
20
|
+
import spatialdds_idl18
|
|
21
|
+
from spatialdds_idl18 import spatial
|
|
22
|
+
|
|
23
|
+
if TYPE_CHECKING:
|
|
24
|
+
import builtin
|
|
25
|
+
import spatial.common
|
|
26
|
+
import spatial.core
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
MODULE_ID = "spatial.argeo/1.8"
|
|
30
|
+
Time = types.typedef['spatialdds_idl18.spatial.argeo.Time', 'spatialdds_idl18.builtin.Time']
|
|
31
|
+
PoseSE3 = types.typedef['spatialdds_idl18.spatial.argeo.PoseSE3', 'spatialdds_idl18.spatial.core.PoseSE3']
|
|
32
|
+
FramedPose = types.typedef['spatialdds_idl18.spatial.argeo.FramedPose', 'spatialdds_idl18.spatial.core.FramedPose']
|
|
33
|
+
GeoPose = types.typedef['spatialdds_idl18.spatial.argeo.GeoPose', 'spatialdds_idl18.spatial.core.GeoPose']
|
|
34
|
+
CovMatrix = types.typedef['spatialdds_idl18.spatial.argeo.CovMatrix', 'spatialdds_idl18.spatial.core.CovMatrix']
|
|
35
|
+
FrameRef = types.typedef['spatialdds_idl18.spatial.argeo.FrameRef', 'spatialdds_idl18.spatial.common.FrameRef']
|
|
36
|
+
|
|
37
|
+
@dataclass
|
|
38
|
+
@annotate.appendable
|
|
39
|
+
@annotate.autoid("sequential")
|
|
40
|
+
class NodeGeo(idl.IdlStruct, typename="spatial.argeo.NodeGeo"):
|
|
41
|
+
map_id: str
|
|
42
|
+
node_id: str
|
|
43
|
+
annotate.key("node_id")
|
|
44
|
+
poses: types.sequence['spatialdds_idl18.spatial.argeo.FramedPose', 8]
|
|
45
|
+
has_geopose: bool
|
|
46
|
+
geopose: 'spatialdds_idl18.spatial.argeo.GeoPose'
|
|
47
|
+
source_id: str
|
|
48
|
+
seq: types.uint64
|
|
49
|
+
graph_epoch: types.uint64
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
@dataclass
|
|
53
|
+
@annotate.appendable
|
|
54
|
+
@annotate.autoid("sequential")
|
|
55
|
+
class QualityRequirements(idl.IdlStruct, typename="spatial.argeo.QualityRequirements"):
|
|
56
|
+
max_rmse_m: types.float64
|
|
57
|
+
min_confidence: types.float64
|
|
58
|
+
|
|
59
|
+
@annotate.final
|
|
60
|
+
class VpsStatus(idl.IdlEnum, typename="spatial.argeo.VpsStatus", default="VPS_SUCCESS"):
|
|
61
|
+
VPS_SUCCESS = 0
|
|
62
|
+
VPS_DEGRADED = 1
|
|
63
|
+
VPS_FAILED = 2
|
|
64
|
+
|
|
65
|
+
@dataclass
|
|
66
|
+
@annotate.appendable
|
|
67
|
+
@annotate.autoid("sequential")
|
|
68
|
+
class VpsRequest(idl.IdlStruct, typename="spatial.argeo.VpsRequest"):
|
|
69
|
+
query_id: str
|
|
70
|
+
annotate.key("query_id")
|
|
71
|
+
service_id: str
|
|
72
|
+
client_frame_ref: 'spatialdds_idl18.spatial.argeo.FrameRef'
|
|
73
|
+
has_prior_geopose: bool
|
|
74
|
+
prior_geopose: 'spatialdds_idl18.spatial.argeo.GeoPose'
|
|
75
|
+
query_blobs: types.sequence['spatialdds_idl18.spatial.core.BlobRef', 8]
|
|
76
|
+
query_stream_id: str
|
|
77
|
+
has_quality_requirements: bool
|
|
78
|
+
quality_requirements: 'spatialdds_idl18.spatial.argeo.QualityRequirements'
|
|
79
|
+
stamp: 'spatialdds_idl18.spatial.argeo.Time'
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
@dataclass
|
|
83
|
+
@annotate.appendable
|
|
84
|
+
@annotate.autoid("sequential")
|
|
85
|
+
class VpsResponse(idl.IdlStruct, typename="spatial.argeo.VpsResponse"):
|
|
86
|
+
query_id: str
|
|
87
|
+
annotate.key("query_id")
|
|
88
|
+
service_id: str
|
|
89
|
+
status: 'spatialdds_idl18.spatial.argeo.VpsStatus'
|
|
90
|
+
has_node_geo: bool
|
|
91
|
+
node_geo: 'spatialdds_idl18.spatial.argeo.NodeGeo'
|
|
92
|
+
confidence: types.float64
|
|
93
|
+
has_rmse_m: bool
|
|
94
|
+
rmse_m: types.float64
|
|
95
|
+
stamp: 'spatialdds_idl18.spatial.argeo.Time'
|
|
96
|
+
|
|
97
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Generated by Eclipse Cyclone DDS idlc Python Backend
|
|
3
|
+
Cyclone DDS IDL version: v11.0.1
|
|
4
|
+
Module: spatial.common
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from ._types import Aabb3D, AssetRef, BBox2D, CoordConvention, CovScope, CovarianceType, FrameRef, KV, Mat12x12, Mat3x3, Mat6x6, MetaKV, QuaternionXYZW, ScaleStatus, SpatialUri, Vec2, Vec3
|
|
9
|
+
__all__ = [
|
|
10
|
+
"Aabb3D",
|
|
11
|
+
"AssetRef",
|
|
12
|
+
"BBox2D",
|
|
13
|
+
"CoordConvention",
|
|
14
|
+
"CovScope",
|
|
15
|
+
"CovarianceType",
|
|
16
|
+
"FrameRef",
|
|
17
|
+
"KV",
|
|
18
|
+
"Mat12x12",
|
|
19
|
+
"Mat3x3",
|
|
20
|
+
"Mat6x6",
|
|
21
|
+
"MetaKV",
|
|
22
|
+
"QuaternionXYZW",
|
|
23
|
+
"ScaleStatus",
|
|
24
|
+
"SpatialUri",
|
|
25
|
+
"Vec2",
|
|
26
|
+
"Vec3",
|
|
27
|
+
]
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Generated by Eclipse Cyclone DDS idlc Python Backend
|
|
3
|
+
Cyclone DDS IDL version: v11.0.1
|
|
4
|
+
Module: spatial.common
|
|
5
|
+
IDL file: types.idl
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from dataclasses import dataclass
|
|
10
|
+
from enum import auto
|
|
11
|
+
from typing import TYPE_CHECKING, Optional
|
|
12
|
+
|
|
13
|
+
import cyclonedds.idl as idl
|
|
14
|
+
import cyclonedds.idl.annotations as annotate
|
|
15
|
+
import cyclonedds.idl.types as types
|
|
16
|
+
|
|
17
|
+
# root module import for resolving types
|
|
18
|
+
# generate_types.py: bind the root name the dotted
|
|
19
|
+
# annotations below already use, so get_type_hints works
|
|
20
|
+
import spatialdds_idl18
|
|
21
|
+
from spatialdds_idl18 import spatial
|
|
22
|
+
|
|
23
|
+
BBox2D = types.typedef['spatialdds_idl18.spatial.common.BBox2D', types.array[types.float64, 4]]
|
|
24
|
+
Aabb3D = types.typedef['spatialdds_idl18.spatial.common.Aabb3D', types.array[types.float64, 6]]
|
|
25
|
+
Vec3 = types.typedef['spatialdds_idl18.spatial.common.Vec3', types.array[types.float64, 3]]
|
|
26
|
+
Mat3x3 = types.typedef['spatialdds_idl18.spatial.common.Mat3x3', types.array[types.float64, 9]]
|
|
27
|
+
Mat6x6 = types.typedef['spatialdds_idl18.spatial.common.Mat6x6', types.array[types.float64, 36]]
|
|
28
|
+
Mat12x12 = types.typedef['spatialdds_idl18.spatial.common.Mat12x12', types.array[types.float64, 144]]
|
|
29
|
+
QuaternionXYZW = types.typedef['spatialdds_idl18.spatial.common.QuaternionXYZW', types.array[types.float64, 4]]
|
|
30
|
+
SpatialUri = types.typedef['spatialdds_idl18.spatial.common.SpatialUri', str]
|
|
31
|
+
|
|
32
|
+
@dataclass
|
|
33
|
+
@annotate.appendable
|
|
34
|
+
@annotate.autoid("sequential")
|
|
35
|
+
class Vec2(idl.IdlStruct, typename="spatial.common.Vec2"):
|
|
36
|
+
x: types.float64
|
|
37
|
+
y: types.float64
|
|
38
|
+
|
|
39
|
+
@annotate.final
|
|
40
|
+
class CovarianceType(idl.IdlEnum, typename="spatial.common.CovarianceType", default="COV_NONE"):
|
|
41
|
+
COV_NONE = 0
|
|
42
|
+
COV_POS3 = 3
|
|
43
|
+
COV_POSE6 = 6
|
|
44
|
+
COV_ROT3 = 9
|
|
45
|
+
COV_POSE6_TWIST6 = 12
|
|
46
|
+
@annotate.final
|
|
47
|
+
class CoordConvention(idl.IdlEnum, typename="spatial.common.CoordConvention", default="ENU"):
|
|
48
|
+
ENU = 0
|
|
49
|
+
CV = 1
|
|
50
|
+
GRAPHICS = 2
|
|
51
|
+
UNITY_LH = 3
|
|
52
|
+
NED = 4
|
|
53
|
+
OTHER = 5
|
|
54
|
+
@annotate.final
|
|
55
|
+
class ScaleStatus(idl.IdlEnum, typename="spatial.common.ScaleStatus", default="SCALE_UNKNOWN"):
|
|
56
|
+
SCALE_UNKNOWN = 0
|
|
57
|
+
SCALE_DECLARED = 1
|
|
58
|
+
SCALE_DERIVED = 2
|
|
59
|
+
@annotate.final
|
|
60
|
+
class CovScope(idl.IdlEnum, typename="spatial.common.CovScope", default="COV_SCOPE_LOCAL"):
|
|
61
|
+
COV_SCOPE_LOCAL = 0
|
|
62
|
+
COV_SCOPE_COMPOSED = 1
|
|
63
|
+
|
|
64
|
+
@dataclass
|
|
65
|
+
@annotate.appendable
|
|
66
|
+
@annotate.autoid("sequential")
|
|
67
|
+
class FrameRef(idl.IdlStruct, typename="spatial.common.FrameRef"):
|
|
68
|
+
uuid: str
|
|
69
|
+
fqn: str
|
|
70
|
+
has_coord_convention: bool
|
|
71
|
+
coord_convention: 'spatialdds_idl18.spatial.common.CoordConvention'
|
|
72
|
+
has_scale: bool
|
|
73
|
+
scale_status: 'spatialdds_idl18.spatial.common.ScaleStatus'
|
|
74
|
+
meters_per_unit: types.float64
|
|
75
|
+
display_unit: str
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
@dataclass
|
|
79
|
+
@annotate.appendable
|
|
80
|
+
@annotate.autoid("sequential")
|
|
81
|
+
class KV(idl.IdlStruct, typename="spatial.common.KV"):
|
|
82
|
+
key: str
|
|
83
|
+
value: str
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
@dataclass
|
|
87
|
+
@annotate.appendable
|
|
88
|
+
@annotate.autoid("sequential")
|
|
89
|
+
class MetaKV(idl.IdlStruct, typename="spatial.common.MetaKV"):
|
|
90
|
+
namespace: str
|
|
91
|
+
json: str
|
|
92
|
+
entries: types.sequence['spatialdds_idl18.spatial.common.KV', 64]
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
@dataclass
|
|
96
|
+
@annotate.appendable
|
|
97
|
+
@annotate.autoid("sequential")
|
|
98
|
+
class AssetRef(idl.IdlStruct, typename="spatial.common.AssetRef"):
|
|
99
|
+
uri: str
|
|
100
|
+
media_type: str
|
|
101
|
+
hash: str
|
|
102
|
+
meta: types.sequence['spatialdds_idl18.spatial.common.MetaKV', 16]
|
|
103
|
+
|
|
104
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Generated by Eclipse Cyclone DDS idlc Python Backend
|
|
3
|
+
Cyclone DDS IDL version: v11.0.1
|
|
4
|
+
Module: spatial.core.GnssService
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from ._core import BEIDOU, GALILEO, GLONASS, GPS, IRNSS, QZSS, SBAS_SV
|
|
9
|
+
__all__ = [
|
|
10
|
+
"BEIDOU",
|
|
11
|
+
"GALILEO",
|
|
12
|
+
"GLONASS",
|
|
13
|
+
"GPS",
|
|
14
|
+
"IRNSS",
|
|
15
|
+
"QZSS",
|
|
16
|
+
"SBAS_SV",
|
|
17
|
+
]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Generated by Eclipse Cyclone DDS idlc Python Backend
|
|
3
|
+
Cyclone DDS IDL version: v11.0.1
|
|
4
|
+
Module: spatial.core.GnssService
|
|
5
|
+
IDL file: core.idl
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from dataclasses import dataclass
|
|
10
|
+
from enum import auto
|
|
11
|
+
from typing import TYPE_CHECKING, Optional
|
|
12
|
+
|
|
13
|
+
import cyclonedds.idl as idl
|
|
14
|
+
import cyclonedds.idl.annotations as annotate
|
|
15
|
+
import cyclonedds.idl.types as types
|
|
16
|
+
|
|
17
|
+
# root module import for resolving types
|
|
18
|
+
from spatialdds_idl18 import spatial
|
|
19
|
+
|
|
20
|
+
GPS = 1
|
|
21
|
+
GLONASS = 2
|
|
22
|
+
BEIDOU = 4
|
|
23
|
+
GALILEO = 8
|
|
24
|
+
QZSS = 16
|
|
25
|
+
IRNSS = 32
|
|
26
|
+
SBAS_SV = 64
|
|
27
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Generated by Eclipse Cyclone DDS idlc Python Backend
|
|
3
|
+
Cyclone DDS IDL version: v11.0.1
|
|
4
|
+
Module: spatial.core
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from . import GnssService
|
|
9
|
+
from ._core import Aabb3, BlobChunk, BlobRef, ComponentRef, CovMatrix, Edge, EdgeTypeCore, EntityBinding, FrameRef, FrameTransform, FramedPose, GeoAnchor, GeoPose, GnssFixType, MODULE_ID, NavSatStatus, Node, PatchOp, PlannedTrajectory, PlannedWaypoint, PoseSE3, SnapshotRequest, SnapshotResponse, SpatialUri, TileKey, TileMeta, TilePatch, Time
|
|
10
|
+
__all__ = [
|
|
11
|
+
"GnssService",
|
|
12
|
+
"Aabb3",
|
|
13
|
+
"BlobChunk",
|
|
14
|
+
"BlobRef",
|
|
15
|
+
"ComponentRef",
|
|
16
|
+
"CovMatrix",
|
|
17
|
+
"Edge",
|
|
18
|
+
"EdgeTypeCore",
|
|
19
|
+
"EntityBinding",
|
|
20
|
+
"FrameRef",
|
|
21
|
+
"FrameTransform",
|
|
22
|
+
"FramedPose",
|
|
23
|
+
"GeoAnchor",
|
|
24
|
+
"GeoPose",
|
|
25
|
+
"GnssFixType",
|
|
26
|
+
"MODULE_ID",
|
|
27
|
+
"NavSatStatus",
|
|
28
|
+
"Node",
|
|
29
|
+
"PatchOp",
|
|
30
|
+
"PlannedTrajectory",
|
|
31
|
+
"PlannedWaypoint",
|
|
32
|
+
"PoseSE3",
|
|
33
|
+
"SnapshotRequest",
|
|
34
|
+
"SnapshotResponse",
|
|
35
|
+
"SpatialUri",
|
|
36
|
+
"TileKey",
|
|
37
|
+
"TileMeta",
|
|
38
|
+
"TilePatch",
|
|
39
|
+
"Time",
|
|
40
|
+
]
|