foxglove-sdk 0.16.2__pp311-pypy311_pp73-musllinux_1_2_x86_64.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.
- foxglove/__init__.py +245 -0
- foxglove/_foxglove_py/__init__.pyi +211 -0
- foxglove/_foxglove_py/channels.pyi +2792 -0
- foxglove/_foxglove_py/cloud.pyi +9 -0
- foxglove/_foxglove_py/mcap.pyi +120 -0
- foxglove/_foxglove_py/schemas.pyi +1009 -0
- foxglove/_foxglove_py/schemas_wkt.pyi +85 -0
- foxglove/_foxglove_py/websocket.pyi +394 -0
- foxglove/_foxglove_py.pypy311-pp73-x86_64-linux-gnu.so +0 -0
- foxglove/benchmarks/test_mcap_serialization.py +160 -0
- foxglove/channel.py +241 -0
- foxglove/channels/__init__.py +94 -0
- foxglove/cloud.py +61 -0
- foxglove/mcap.py +12 -0
- foxglove/notebook/__init__.py +0 -0
- foxglove/notebook/foxglove_widget.py +100 -0
- foxglove/notebook/notebook_buffer.py +114 -0
- foxglove/notebook/static/widget.js +1 -0
- foxglove/py.typed +0 -0
- foxglove/schemas/__init__.py +163 -0
- foxglove/tests/__init__.py +0 -0
- foxglove/tests/test_channel.py +243 -0
- foxglove/tests/test_context.py +10 -0
- foxglove/tests/test_logging.py +62 -0
- foxglove/tests/test_mcap.py +368 -0
- foxglove/tests/test_parameters.py +178 -0
- foxglove/tests/test_schemas.py +17 -0
- foxglove/tests/test_server.py +141 -0
- foxglove/tests/test_time.py +137 -0
- foxglove/websocket.py +220 -0
- foxglove.libs/libgcc_s-6d2d9dc8.so.1 +0 -0
- foxglove_sdk-0.16.2.dist-info/METADATA +53 -0
- foxglove_sdk-0.16.2.dist-info/RECORD +34 -0
- foxglove_sdk-0.16.2.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,2792 @@
|
|
|
1
|
+
# Generated by https://github.com/foxglove/foxglove-sdk
|
|
2
|
+
from . import Context, Schema
|
|
3
|
+
from .schemas import (
|
|
4
|
+
ArrowPrimitive,
|
|
5
|
+
CameraCalibration,
|
|
6
|
+
CircleAnnotation,
|
|
7
|
+
Color,
|
|
8
|
+
CompressedImage,
|
|
9
|
+
CompressedVideo,
|
|
10
|
+
CubePrimitive,
|
|
11
|
+
CylinderPrimitive,
|
|
12
|
+
FrameTransform,
|
|
13
|
+
FrameTransforms,
|
|
14
|
+
GeoJson,
|
|
15
|
+
Grid,
|
|
16
|
+
ImageAnnotations,
|
|
17
|
+
KeyValuePair,
|
|
18
|
+
LaserScan,
|
|
19
|
+
LinePrimitive,
|
|
20
|
+
LocationFix,
|
|
21
|
+
LocationFixes,
|
|
22
|
+
Log,
|
|
23
|
+
ModelPrimitive,
|
|
24
|
+
PackedElementField,
|
|
25
|
+
Point2,
|
|
26
|
+
Point3,
|
|
27
|
+
PointCloud,
|
|
28
|
+
PointsAnnotation,
|
|
29
|
+
Pose,
|
|
30
|
+
PoseInFrame,
|
|
31
|
+
PosesInFrame,
|
|
32
|
+
Quaternion,
|
|
33
|
+
RawAudio,
|
|
34
|
+
RawImage,
|
|
35
|
+
SceneEntity,
|
|
36
|
+
SceneEntityDeletion,
|
|
37
|
+
SceneUpdate,
|
|
38
|
+
SpherePrimitive,
|
|
39
|
+
TextAnnotation,
|
|
40
|
+
TextPrimitive,
|
|
41
|
+
TriangleListPrimitive,
|
|
42
|
+
Vector2,
|
|
43
|
+
Vector3,
|
|
44
|
+
VoxelGrid,
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
class ArrowPrimitiveChannel:
|
|
48
|
+
"""
|
|
49
|
+
A channel for logging ArrowPrimitive messages
|
|
50
|
+
|
|
51
|
+
You should choose a unique topic name per channel.
|
|
52
|
+
"""
|
|
53
|
+
|
|
54
|
+
def __init__(
|
|
55
|
+
self,
|
|
56
|
+
topic: str,
|
|
57
|
+
*,
|
|
58
|
+
metadata: dict[str, str] | None = None,
|
|
59
|
+
context: Context | None = None,
|
|
60
|
+
) -> None: ...
|
|
61
|
+
def id(self) -> int:
|
|
62
|
+
"""The unique ID of the channel."""
|
|
63
|
+
...
|
|
64
|
+
|
|
65
|
+
def topic(self) -> str:
|
|
66
|
+
"""The topic name of the channel."""
|
|
67
|
+
...
|
|
68
|
+
|
|
69
|
+
@property
|
|
70
|
+
def message_encoding(self) -> str:
|
|
71
|
+
"""The message encoding for the channel"""
|
|
72
|
+
...
|
|
73
|
+
|
|
74
|
+
def metadata(self) -> dict[str, str]:
|
|
75
|
+
"""
|
|
76
|
+
Returns a copy of the channel's metadata.
|
|
77
|
+
|
|
78
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
79
|
+
the channel's metadata.
|
|
80
|
+
"""
|
|
81
|
+
...
|
|
82
|
+
|
|
83
|
+
def schema(self) -> Schema | None:
|
|
84
|
+
"""
|
|
85
|
+
Returns a copy of the channel's schema.
|
|
86
|
+
|
|
87
|
+
Note that changes made to the returned object will not be applied to
|
|
88
|
+
the channel's schema.
|
|
89
|
+
"""
|
|
90
|
+
...
|
|
91
|
+
|
|
92
|
+
def schema_name(self) -> str | None:
|
|
93
|
+
"""The name of the schema for the channel."""
|
|
94
|
+
...
|
|
95
|
+
|
|
96
|
+
def has_sinks(self) -> bool:
|
|
97
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
98
|
+
...
|
|
99
|
+
|
|
100
|
+
def close(self) -> None:
|
|
101
|
+
"""Close the channel."""
|
|
102
|
+
...
|
|
103
|
+
|
|
104
|
+
def log(
|
|
105
|
+
self,
|
|
106
|
+
message: "ArrowPrimitive",
|
|
107
|
+
*,
|
|
108
|
+
log_time: int | None = None,
|
|
109
|
+
sink_id: int | None = None,
|
|
110
|
+
) -> None:
|
|
111
|
+
"""Log a Foxglove ArrowPrimitive message on the channel."""
|
|
112
|
+
...
|
|
113
|
+
|
|
114
|
+
class CameraCalibrationChannel:
|
|
115
|
+
"""
|
|
116
|
+
A channel for logging CameraCalibration messages
|
|
117
|
+
|
|
118
|
+
You should choose a unique topic name per channel.
|
|
119
|
+
"""
|
|
120
|
+
|
|
121
|
+
def __init__(
|
|
122
|
+
self,
|
|
123
|
+
topic: str,
|
|
124
|
+
*,
|
|
125
|
+
metadata: dict[str, str] | None = None,
|
|
126
|
+
context: Context | None = None,
|
|
127
|
+
) -> None: ...
|
|
128
|
+
def id(self) -> int:
|
|
129
|
+
"""The unique ID of the channel."""
|
|
130
|
+
...
|
|
131
|
+
|
|
132
|
+
def topic(self) -> str:
|
|
133
|
+
"""The topic name of the channel."""
|
|
134
|
+
...
|
|
135
|
+
|
|
136
|
+
@property
|
|
137
|
+
def message_encoding(self) -> str:
|
|
138
|
+
"""The message encoding for the channel"""
|
|
139
|
+
...
|
|
140
|
+
|
|
141
|
+
def metadata(self) -> dict[str, str]:
|
|
142
|
+
"""
|
|
143
|
+
Returns a copy of the channel's metadata.
|
|
144
|
+
|
|
145
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
146
|
+
the channel's metadata.
|
|
147
|
+
"""
|
|
148
|
+
...
|
|
149
|
+
|
|
150
|
+
def schema(self) -> Schema | None:
|
|
151
|
+
"""
|
|
152
|
+
Returns a copy of the channel's schema.
|
|
153
|
+
|
|
154
|
+
Note that changes made to the returned object will not be applied to
|
|
155
|
+
the channel's schema.
|
|
156
|
+
"""
|
|
157
|
+
...
|
|
158
|
+
|
|
159
|
+
def schema_name(self) -> str | None:
|
|
160
|
+
"""The name of the schema for the channel."""
|
|
161
|
+
...
|
|
162
|
+
|
|
163
|
+
def has_sinks(self) -> bool:
|
|
164
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
165
|
+
...
|
|
166
|
+
|
|
167
|
+
def close(self) -> None:
|
|
168
|
+
"""Close the channel."""
|
|
169
|
+
...
|
|
170
|
+
|
|
171
|
+
def log(
|
|
172
|
+
self,
|
|
173
|
+
message: "CameraCalibration",
|
|
174
|
+
*,
|
|
175
|
+
log_time: int | None = None,
|
|
176
|
+
sink_id: int | None = None,
|
|
177
|
+
) -> None:
|
|
178
|
+
"""Log a Foxglove CameraCalibration message on the channel."""
|
|
179
|
+
...
|
|
180
|
+
|
|
181
|
+
class CircleAnnotationChannel:
|
|
182
|
+
"""
|
|
183
|
+
A channel for logging CircleAnnotation messages
|
|
184
|
+
|
|
185
|
+
You should choose a unique topic name per channel.
|
|
186
|
+
"""
|
|
187
|
+
|
|
188
|
+
def __init__(
|
|
189
|
+
self,
|
|
190
|
+
topic: str,
|
|
191
|
+
*,
|
|
192
|
+
metadata: dict[str, str] | None = None,
|
|
193
|
+
context: Context | None = None,
|
|
194
|
+
) -> None: ...
|
|
195
|
+
def id(self) -> int:
|
|
196
|
+
"""The unique ID of the channel."""
|
|
197
|
+
...
|
|
198
|
+
|
|
199
|
+
def topic(self) -> str:
|
|
200
|
+
"""The topic name of the channel."""
|
|
201
|
+
...
|
|
202
|
+
|
|
203
|
+
@property
|
|
204
|
+
def message_encoding(self) -> str:
|
|
205
|
+
"""The message encoding for the channel"""
|
|
206
|
+
...
|
|
207
|
+
|
|
208
|
+
def metadata(self) -> dict[str, str]:
|
|
209
|
+
"""
|
|
210
|
+
Returns a copy of the channel's metadata.
|
|
211
|
+
|
|
212
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
213
|
+
the channel's metadata.
|
|
214
|
+
"""
|
|
215
|
+
...
|
|
216
|
+
|
|
217
|
+
def schema(self) -> Schema | None:
|
|
218
|
+
"""
|
|
219
|
+
Returns a copy of the channel's schema.
|
|
220
|
+
|
|
221
|
+
Note that changes made to the returned object will not be applied to
|
|
222
|
+
the channel's schema.
|
|
223
|
+
"""
|
|
224
|
+
...
|
|
225
|
+
|
|
226
|
+
def schema_name(self) -> str | None:
|
|
227
|
+
"""The name of the schema for the channel."""
|
|
228
|
+
...
|
|
229
|
+
|
|
230
|
+
def has_sinks(self) -> bool:
|
|
231
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
232
|
+
...
|
|
233
|
+
|
|
234
|
+
def close(self) -> None:
|
|
235
|
+
"""Close the channel."""
|
|
236
|
+
...
|
|
237
|
+
|
|
238
|
+
def log(
|
|
239
|
+
self,
|
|
240
|
+
message: "CircleAnnotation",
|
|
241
|
+
*,
|
|
242
|
+
log_time: int | None = None,
|
|
243
|
+
sink_id: int | None = None,
|
|
244
|
+
) -> None:
|
|
245
|
+
"""Log a Foxglove CircleAnnotation message on the channel."""
|
|
246
|
+
...
|
|
247
|
+
|
|
248
|
+
class ColorChannel:
|
|
249
|
+
"""
|
|
250
|
+
A channel for logging Color messages
|
|
251
|
+
|
|
252
|
+
You should choose a unique topic name per channel.
|
|
253
|
+
"""
|
|
254
|
+
|
|
255
|
+
def __init__(
|
|
256
|
+
self,
|
|
257
|
+
topic: str,
|
|
258
|
+
*,
|
|
259
|
+
metadata: dict[str, str] | None = None,
|
|
260
|
+
context: Context | None = None,
|
|
261
|
+
) -> None: ...
|
|
262
|
+
def id(self) -> int:
|
|
263
|
+
"""The unique ID of the channel."""
|
|
264
|
+
...
|
|
265
|
+
|
|
266
|
+
def topic(self) -> str:
|
|
267
|
+
"""The topic name of the channel."""
|
|
268
|
+
...
|
|
269
|
+
|
|
270
|
+
@property
|
|
271
|
+
def message_encoding(self) -> str:
|
|
272
|
+
"""The message encoding for the channel"""
|
|
273
|
+
...
|
|
274
|
+
|
|
275
|
+
def metadata(self) -> dict[str, str]:
|
|
276
|
+
"""
|
|
277
|
+
Returns a copy of the channel's metadata.
|
|
278
|
+
|
|
279
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
280
|
+
the channel's metadata.
|
|
281
|
+
"""
|
|
282
|
+
...
|
|
283
|
+
|
|
284
|
+
def schema(self) -> Schema | None:
|
|
285
|
+
"""
|
|
286
|
+
Returns a copy of the channel's schema.
|
|
287
|
+
|
|
288
|
+
Note that changes made to the returned object will not be applied to
|
|
289
|
+
the channel's schema.
|
|
290
|
+
"""
|
|
291
|
+
...
|
|
292
|
+
|
|
293
|
+
def schema_name(self) -> str | None:
|
|
294
|
+
"""The name of the schema for the channel."""
|
|
295
|
+
...
|
|
296
|
+
|
|
297
|
+
def has_sinks(self) -> bool:
|
|
298
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
299
|
+
...
|
|
300
|
+
|
|
301
|
+
def close(self) -> None:
|
|
302
|
+
"""Close the channel."""
|
|
303
|
+
...
|
|
304
|
+
|
|
305
|
+
def log(
|
|
306
|
+
self,
|
|
307
|
+
message: "Color",
|
|
308
|
+
*,
|
|
309
|
+
log_time: int | None = None,
|
|
310
|
+
sink_id: int | None = None,
|
|
311
|
+
) -> None:
|
|
312
|
+
"""Log a Foxglove Color message on the channel."""
|
|
313
|
+
...
|
|
314
|
+
|
|
315
|
+
class CompressedImageChannel:
|
|
316
|
+
"""
|
|
317
|
+
A channel for logging CompressedImage messages
|
|
318
|
+
|
|
319
|
+
You should choose a unique topic name per channel.
|
|
320
|
+
"""
|
|
321
|
+
|
|
322
|
+
def __init__(
|
|
323
|
+
self,
|
|
324
|
+
topic: str,
|
|
325
|
+
*,
|
|
326
|
+
metadata: dict[str, str] | None = None,
|
|
327
|
+
context: Context | None = None,
|
|
328
|
+
) -> None: ...
|
|
329
|
+
def id(self) -> int:
|
|
330
|
+
"""The unique ID of the channel."""
|
|
331
|
+
...
|
|
332
|
+
|
|
333
|
+
def topic(self) -> str:
|
|
334
|
+
"""The topic name of the channel."""
|
|
335
|
+
...
|
|
336
|
+
|
|
337
|
+
@property
|
|
338
|
+
def message_encoding(self) -> str:
|
|
339
|
+
"""The message encoding for the channel"""
|
|
340
|
+
...
|
|
341
|
+
|
|
342
|
+
def metadata(self) -> dict[str, str]:
|
|
343
|
+
"""
|
|
344
|
+
Returns a copy of the channel's metadata.
|
|
345
|
+
|
|
346
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
347
|
+
the channel's metadata.
|
|
348
|
+
"""
|
|
349
|
+
...
|
|
350
|
+
|
|
351
|
+
def schema(self) -> Schema | None:
|
|
352
|
+
"""
|
|
353
|
+
Returns a copy of the channel's schema.
|
|
354
|
+
|
|
355
|
+
Note that changes made to the returned object will not be applied to
|
|
356
|
+
the channel's schema.
|
|
357
|
+
"""
|
|
358
|
+
...
|
|
359
|
+
|
|
360
|
+
def schema_name(self) -> str | None:
|
|
361
|
+
"""The name of the schema for the channel."""
|
|
362
|
+
...
|
|
363
|
+
|
|
364
|
+
def has_sinks(self) -> bool:
|
|
365
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
366
|
+
...
|
|
367
|
+
|
|
368
|
+
def close(self) -> None:
|
|
369
|
+
"""Close the channel."""
|
|
370
|
+
...
|
|
371
|
+
|
|
372
|
+
def log(
|
|
373
|
+
self,
|
|
374
|
+
message: "CompressedImage",
|
|
375
|
+
*,
|
|
376
|
+
log_time: int | None = None,
|
|
377
|
+
sink_id: int | None = None,
|
|
378
|
+
) -> None:
|
|
379
|
+
"""Log a Foxglove CompressedImage message on the channel."""
|
|
380
|
+
...
|
|
381
|
+
|
|
382
|
+
class CompressedVideoChannel:
|
|
383
|
+
"""
|
|
384
|
+
A channel for logging CompressedVideo messages
|
|
385
|
+
|
|
386
|
+
You should choose a unique topic name per channel.
|
|
387
|
+
"""
|
|
388
|
+
|
|
389
|
+
def __init__(
|
|
390
|
+
self,
|
|
391
|
+
topic: str,
|
|
392
|
+
*,
|
|
393
|
+
metadata: dict[str, str] | None = None,
|
|
394
|
+
context: Context | None = None,
|
|
395
|
+
) -> None: ...
|
|
396
|
+
def id(self) -> int:
|
|
397
|
+
"""The unique ID of the channel."""
|
|
398
|
+
...
|
|
399
|
+
|
|
400
|
+
def topic(self) -> str:
|
|
401
|
+
"""The topic name of the channel."""
|
|
402
|
+
...
|
|
403
|
+
|
|
404
|
+
@property
|
|
405
|
+
def message_encoding(self) -> str:
|
|
406
|
+
"""The message encoding for the channel"""
|
|
407
|
+
...
|
|
408
|
+
|
|
409
|
+
def metadata(self) -> dict[str, str]:
|
|
410
|
+
"""
|
|
411
|
+
Returns a copy of the channel's metadata.
|
|
412
|
+
|
|
413
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
414
|
+
the channel's metadata.
|
|
415
|
+
"""
|
|
416
|
+
...
|
|
417
|
+
|
|
418
|
+
def schema(self) -> Schema | None:
|
|
419
|
+
"""
|
|
420
|
+
Returns a copy of the channel's schema.
|
|
421
|
+
|
|
422
|
+
Note that changes made to the returned object will not be applied to
|
|
423
|
+
the channel's schema.
|
|
424
|
+
"""
|
|
425
|
+
...
|
|
426
|
+
|
|
427
|
+
def schema_name(self) -> str | None:
|
|
428
|
+
"""The name of the schema for the channel."""
|
|
429
|
+
...
|
|
430
|
+
|
|
431
|
+
def has_sinks(self) -> bool:
|
|
432
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
433
|
+
...
|
|
434
|
+
|
|
435
|
+
def close(self) -> None:
|
|
436
|
+
"""Close the channel."""
|
|
437
|
+
...
|
|
438
|
+
|
|
439
|
+
def log(
|
|
440
|
+
self,
|
|
441
|
+
message: "CompressedVideo",
|
|
442
|
+
*,
|
|
443
|
+
log_time: int | None = None,
|
|
444
|
+
sink_id: int | None = None,
|
|
445
|
+
) -> None:
|
|
446
|
+
"""Log a Foxglove CompressedVideo message on the channel."""
|
|
447
|
+
...
|
|
448
|
+
|
|
449
|
+
class CubePrimitiveChannel:
|
|
450
|
+
"""
|
|
451
|
+
A channel for logging CubePrimitive messages
|
|
452
|
+
|
|
453
|
+
You should choose a unique topic name per channel.
|
|
454
|
+
"""
|
|
455
|
+
|
|
456
|
+
def __init__(
|
|
457
|
+
self,
|
|
458
|
+
topic: str,
|
|
459
|
+
*,
|
|
460
|
+
metadata: dict[str, str] | None = None,
|
|
461
|
+
context: Context | None = None,
|
|
462
|
+
) -> None: ...
|
|
463
|
+
def id(self) -> int:
|
|
464
|
+
"""The unique ID of the channel."""
|
|
465
|
+
...
|
|
466
|
+
|
|
467
|
+
def topic(self) -> str:
|
|
468
|
+
"""The topic name of the channel."""
|
|
469
|
+
...
|
|
470
|
+
|
|
471
|
+
@property
|
|
472
|
+
def message_encoding(self) -> str:
|
|
473
|
+
"""The message encoding for the channel"""
|
|
474
|
+
...
|
|
475
|
+
|
|
476
|
+
def metadata(self) -> dict[str, str]:
|
|
477
|
+
"""
|
|
478
|
+
Returns a copy of the channel's metadata.
|
|
479
|
+
|
|
480
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
481
|
+
the channel's metadata.
|
|
482
|
+
"""
|
|
483
|
+
...
|
|
484
|
+
|
|
485
|
+
def schema(self) -> Schema | None:
|
|
486
|
+
"""
|
|
487
|
+
Returns a copy of the channel's schema.
|
|
488
|
+
|
|
489
|
+
Note that changes made to the returned object will not be applied to
|
|
490
|
+
the channel's schema.
|
|
491
|
+
"""
|
|
492
|
+
...
|
|
493
|
+
|
|
494
|
+
def schema_name(self) -> str | None:
|
|
495
|
+
"""The name of the schema for the channel."""
|
|
496
|
+
...
|
|
497
|
+
|
|
498
|
+
def has_sinks(self) -> bool:
|
|
499
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
500
|
+
...
|
|
501
|
+
|
|
502
|
+
def close(self) -> None:
|
|
503
|
+
"""Close the channel."""
|
|
504
|
+
...
|
|
505
|
+
|
|
506
|
+
def log(
|
|
507
|
+
self,
|
|
508
|
+
message: "CubePrimitive",
|
|
509
|
+
*,
|
|
510
|
+
log_time: int | None = None,
|
|
511
|
+
sink_id: int | None = None,
|
|
512
|
+
) -> None:
|
|
513
|
+
"""Log a Foxglove CubePrimitive message on the channel."""
|
|
514
|
+
...
|
|
515
|
+
|
|
516
|
+
class CylinderPrimitiveChannel:
|
|
517
|
+
"""
|
|
518
|
+
A channel for logging CylinderPrimitive messages
|
|
519
|
+
|
|
520
|
+
You should choose a unique topic name per channel.
|
|
521
|
+
"""
|
|
522
|
+
|
|
523
|
+
def __init__(
|
|
524
|
+
self,
|
|
525
|
+
topic: str,
|
|
526
|
+
*,
|
|
527
|
+
metadata: dict[str, str] | None = None,
|
|
528
|
+
context: Context | None = None,
|
|
529
|
+
) -> None: ...
|
|
530
|
+
def id(self) -> int:
|
|
531
|
+
"""The unique ID of the channel."""
|
|
532
|
+
...
|
|
533
|
+
|
|
534
|
+
def topic(self) -> str:
|
|
535
|
+
"""The topic name of the channel."""
|
|
536
|
+
...
|
|
537
|
+
|
|
538
|
+
@property
|
|
539
|
+
def message_encoding(self) -> str:
|
|
540
|
+
"""The message encoding for the channel"""
|
|
541
|
+
...
|
|
542
|
+
|
|
543
|
+
def metadata(self) -> dict[str, str]:
|
|
544
|
+
"""
|
|
545
|
+
Returns a copy of the channel's metadata.
|
|
546
|
+
|
|
547
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
548
|
+
the channel's metadata.
|
|
549
|
+
"""
|
|
550
|
+
...
|
|
551
|
+
|
|
552
|
+
def schema(self) -> Schema | None:
|
|
553
|
+
"""
|
|
554
|
+
Returns a copy of the channel's schema.
|
|
555
|
+
|
|
556
|
+
Note that changes made to the returned object will not be applied to
|
|
557
|
+
the channel's schema.
|
|
558
|
+
"""
|
|
559
|
+
...
|
|
560
|
+
|
|
561
|
+
def schema_name(self) -> str | None:
|
|
562
|
+
"""The name of the schema for the channel."""
|
|
563
|
+
...
|
|
564
|
+
|
|
565
|
+
def has_sinks(self) -> bool:
|
|
566
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
567
|
+
...
|
|
568
|
+
|
|
569
|
+
def close(self) -> None:
|
|
570
|
+
"""Close the channel."""
|
|
571
|
+
...
|
|
572
|
+
|
|
573
|
+
def log(
|
|
574
|
+
self,
|
|
575
|
+
message: "CylinderPrimitive",
|
|
576
|
+
*,
|
|
577
|
+
log_time: int | None = None,
|
|
578
|
+
sink_id: int | None = None,
|
|
579
|
+
) -> None:
|
|
580
|
+
"""Log a Foxglove CylinderPrimitive message on the channel."""
|
|
581
|
+
...
|
|
582
|
+
|
|
583
|
+
class FrameTransformChannel:
|
|
584
|
+
"""
|
|
585
|
+
A channel for logging FrameTransform messages
|
|
586
|
+
|
|
587
|
+
You should choose a unique topic name per channel.
|
|
588
|
+
"""
|
|
589
|
+
|
|
590
|
+
def __init__(
|
|
591
|
+
self,
|
|
592
|
+
topic: str,
|
|
593
|
+
*,
|
|
594
|
+
metadata: dict[str, str] | None = None,
|
|
595
|
+
context: Context | None = None,
|
|
596
|
+
) -> None: ...
|
|
597
|
+
def id(self) -> int:
|
|
598
|
+
"""The unique ID of the channel."""
|
|
599
|
+
...
|
|
600
|
+
|
|
601
|
+
def topic(self) -> str:
|
|
602
|
+
"""The topic name of the channel."""
|
|
603
|
+
...
|
|
604
|
+
|
|
605
|
+
@property
|
|
606
|
+
def message_encoding(self) -> str:
|
|
607
|
+
"""The message encoding for the channel"""
|
|
608
|
+
...
|
|
609
|
+
|
|
610
|
+
def metadata(self) -> dict[str, str]:
|
|
611
|
+
"""
|
|
612
|
+
Returns a copy of the channel's metadata.
|
|
613
|
+
|
|
614
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
615
|
+
the channel's metadata.
|
|
616
|
+
"""
|
|
617
|
+
...
|
|
618
|
+
|
|
619
|
+
def schema(self) -> Schema | None:
|
|
620
|
+
"""
|
|
621
|
+
Returns a copy of the channel's schema.
|
|
622
|
+
|
|
623
|
+
Note that changes made to the returned object will not be applied to
|
|
624
|
+
the channel's schema.
|
|
625
|
+
"""
|
|
626
|
+
...
|
|
627
|
+
|
|
628
|
+
def schema_name(self) -> str | None:
|
|
629
|
+
"""The name of the schema for the channel."""
|
|
630
|
+
...
|
|
631
|
+
|
|
632
|
+
def has_sinks(self) -> bool:
|
|
633
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
634
|
+
...
|
|
635
|
+
|
|
636
|
+
def close(self) -> None:
|
|
637
|
+
"""Close the channel."""
|
|
638
|
+
...
|
|
639
|
+
|
|
640
|
+
def log(
|
|
641
|
+
self,
|
|
642
|
+
message: "FrameTransform",
|
|
643
|
+
*,
|
|
644
|
+
log_time: int | None = None,
|
|
645
|
+
sink_id: int | None = None,
|
|
646
|
+
) -> None:
|
|
647
|
+
"""Log a Foxglove FrameTransform message on the channel."""
|
|
648
|
+
...
|
|
649
|
+
|
|
650
|
+
class FrameTransformsChannel:
|
|
651
|
+
"""
|
|
652
|
+
A channel for logging FrameTransforms messages
|
|
653
|
+
|
|
654
|
+
You should choose a unique topic name per channel.
|
|
655
|
+
"""
|
|
656
|
+
|
|
657
|
+
def __init__(
|
|
658
|
+
self,
|
|
659
|
+
topic: str,
|
|
660
|
+
*,
|
|
661
|
+
metadata: dict[str, str] | None = None,
|
|
662
|
+
context: Context | None = None,
|
|
663
|
+
) -> None: ...
|
|
664
|
+
def id(self) -> int:
|
|
665
|
+
"""The unique ID of the channel."""
|
|
666
|
+
...
|
|
667
|
+
|
|
668
|
+
def topic(self) -> str:
|
|
669
|
+
"""The topic name of the channel."""
|
|
670
|
+
...
|
|
671
|
+
|
|
672
|
+
@property
|
|
673
|
+
def message_encoding(self) -> str:
|
|
674
|
+
"""The message encoding for the channel"""
|
|
675
|
+
...
|
|
676
|
+
|
|
677
|
+
def metadata(self) -> dict[str, str]:
|
|
678
|
+
"""
|
|
679
|
+
Returns a copy of the channel's metadata.
|
|
680
|
+
|
|
681
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
682
|
+
the channel's metadata.
|
|
683
|
+
"""
|
|
684
|
+
...
|
|
685
|
+
|
|
686
|
+
def schema(self) -> Schema | None:
|
|
687
|
+
"""
|
|
688
|
+
Returns a copy of the channel's schema.
|
|
689
|
+
|
|
690
|
+
Note that changes made to the returned object will not be applied to
|
|
691
|
+
the channel's schema.
|
|
692
|
+
"""
|
|
693
|
+
...
|
|
694
|
+
|
|
695
|
+
def schema_name(self) -> str | None:
|
|
696
|
+
"""The name of the schema for the channel."""
|
|
697
|
+
...
|
|
698
|
+
|
|
699
|
+
def has_sinks(self) -> bool:
|
|
700
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
701
|
+
...
|
|
702
|
+
|
|
703
|
+
def close(self) -> None:
|
|
704
|
+
"""Close the channel."""
|
|
705
|
+
...
|
|
706
|
+
|
|
707
|
+
def log(
|
|
708
|
+
self,
|
|
709
|
+
message: "FrameTransforms",
|
|
710
|
+
*,
|
|
711
|
+
log_time: int | None = None,
|
|
712
|
+
sink_id: int | None = None,
|
|
713
|
+
) -> None:
|
|
714
|
+
"""Log a Foxglove FrameTransforms message on the channel."""
|
|
715
|
+
...
|
|
716
|
+
|
|
717
|
+
class GeoJsonChannel:
|
|
718
|
+
"""
|
|
719
|
+
A channel for logging GeoJson messages
|
|
720
|
+
|
|
721
|
+
You should choose a unique topic name per channel.
|
|
722
|
+
"""
|
|
723
|
+
|
|
724
|
+
def __init__(
|
|
725
|
+
self,
|
|
726
|
+
topic: str,
|
|
727
|
+
*,
|
|
728
|
+
metadata: dict[str, str] | None = None,
|
|
729
|
+
context: Context | None = None,
|
|
730
|
+
) -> None: ...
|
|
731
|
+
def id(self) -> int:
|
|
732
|
+
"""The unique ID of the channel."""
|
|
733
|
+
...
|
|
734
|
+
|
|
735
|
+
def topic(self) -> str:
|
|
736
|
+
"""The topic name of the channel."""
|
|
737
|
+
...
|
|
738
|
+
|
|
739
|
+
@property
|
|
740
|
+
def message_encoding(self) -> str:
|
|
741
|
+
"""The message encoding for the channel"""
|
|
742
|
+
...
|
|
743
|
+
|
|
744
|
+
def metadata(self) -> dict[str, str]:
|
|
745
|
+
"""
|
|
746
|
+
Returns a copy of the channel's metadata.
|
|
747
|
+
|
|
748
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
749
|
+
the channel's metadata.
|
|
750
|
+
"""
|
|
751
|
+
...
|
|
752
|
+
|
|
753
|
+
def schema(self) -> Schema | None:
|
|
754
|
+
"""
|
|
755
|
+
Returns a copy of the channel's schema.
|
|
756
|
+
|
|
757
|
+
Note that changes made to the returned object will not be applied to
|
|
758
|
+
the channel's schema.
|
|
759
|
+
"""
|
|
760
|
+
...
|
|
761
|
+
|
|
762
|
+
def schema_name(self) -> str | None:
|
|
763
|
+
"""The name of the schema for the channel."""
|
|
764
|
+
...
|
|
765
|
+
|
|
766
|
+
def has_sinks(self) -> bool:
|
|
767
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
768
|
+
...
|
|
769
|
+
|
|
770
|
+
def close(self) -> None:
|
|
771
|
+
"""Close the channel."""
|
|
772
|
+
...
|
|
773
|
+
|
|
774
|
+
def log(
|
|
775
|
+
self,
|
|
776
|
+
message: "GeoJson",
|
|
777
|
+
*,
|
|
778
|
+
log_time: int | None = None,
|
|
779
|
+
sink_id: int | None = None,
|
|
780
|
+
) -> None:
|
|
781
|
+
"""Log a Foxglove GeoJson message on the channel."""
|
|
782
|
+
...
|
|
783
|
+
|
|
784
|
+
class GridChannel:
|
|
785
|
+
"""
|
|
786
|
+
A channel for logging Grid messages
|
|
787
|
+
|
|
788
|
+
You should choose a unique topic name per channel.
|
|
789
|
+
"""
|
|
790
|
+
|
|
791
|
+
def __init__(
|
|
792
|
+
self,
|
|
793
|
+
topic: str,
|
|
794
|
+
*,
|
|
795
|
+
metadata: dict[str, str] | None = None,
|
|
796
|
+
context: Context | None = None,
|
|
797
|
+
) -> None: ...
|
|
798
|
+
def id(self) -> int:
|
|
799
|
+
"""The unique ID of the channel."""
|
|
800
|
+
...
|
|
801
|
+
|
|
802
|
+
def topic(self) -> str:
|
|
803
|
+
"""The topic name of the channel."""
|
|
804
|
+
...
|
|
805
|
+
|
|
806
|
+
@property
|
|
807
|
+
def message_encoding(self) -> str:
|
|
808
|
+
"""The message encoding for the channel"""
|
|
809
|
+
...
|
|
810
|
+
|
|
811
|
+
def metadata(self) -> dict[str, str]:
|
|
812
|
+
"""
|
|
813
|
+
Returns a copy of the channel's metadata.
|
|
814
|
+
|
|
815
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
816
|
+
the channel's metadata.
|
|
817
|
+
"""
|
|
818
|
+
...
|
|
819
|
+
|
|
820
|
+
def schema(self) -> Schema | None:
|
|
821
|
+
"""
|
|
822
|
+
Returns a copy of the channel's schema.
|
|
823
|
+
|
|
824
|
+
Note that changes made to the returned object will not be applied to
|
|
825
|
+
the channel's schema.
|
|
826
|
+
"""
|
|
827
|
+
...
|
|
828
|
+
|
|
829
|
+
def schema_name(self) -> str | None:
|
|
830
|
+
"""The name of the schema for the channel."""
|
|
831
|
+
...
|
|
832
|
+
|
|
833
|
+
def has_sinks(self) -> bool:
|
|
834
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
835
|
+
...
|
|
836
|
+
|
|
837
|
+
def close(self) -> None:
|
|
838
|
+
"""Close the channel."""
|
|
839
|
+
...
|
|
840
|
+
|
|
841
|
+
def log(
|
|
842
|
+
self,
|
|
843
|
+
message: "Grid",
|
|
844
|
+
*,
|
|
845
|
+
log_time: int | None = None,
|
|
846
|
+
sink_id: int | None = None,
|
|
847
|
+
) -> None:
|
|
848
|
+
"""Log a Foxglove Grid message on the channel."""
|
|
849
|
+
...
|
|
850
|
+
|
|
851
|
+
class ImageAnnotationsChannel:
|
|
852
|
+
"""
|
|
853
|
+
A channel for logging ImageAnnotations messages
|
|
854
|
+
|
|
855
|
+
You should choose a unique topic name per channel.
|
|
856
|
+
"""
|
|
857
|
+
|
|
858
|
+
def __init__(
|
|
859
|
+
self,
|
|
860
|
+
topic: str,
|
|
861
|
+
*,
|
|
862
|
+
metadata: dict[str, str] | None = None,
|
|
863
|
+
context: Context | None = None,
|
|
864
|
+
) -> None: ...
|
|
865
|
+
def id(self) -> int:
|
|
866
|
+
"""The unique ID of the channel."""
|
|
867
|
+
...
|
|
868
|
+
|
|
869
|
+
def topic(self) -> str:
|
|
870
|
+
"""The topic name of the channel."""
|
|
871
|
+
...
|
|
872
|
+
|
|
873
|
+
@property
|
|
874
|
+
def message_encoding(self) -> str:
|
|
875
|
+
"""The message encoding for the channel"""
|
|
876
|
+
...
|
|
877
|
+
|
|
878
|
+
def metadata(self) -> dict[str, str]:
|
|
879
|
+
"""
|
|
880
|
+
Returns a copy of the channel's metadata.
|
|
881
|
+
|
|
882
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
883
|
+
the channel's metadata.
|
|
884
|
+
"""
|
|
885
|
+
...
|
|
886
|
+
|
|
887
|
+
def schema(self) -> Schema | None:
|
|
888
|
+
"""
|
|
889
|
+
Returns a copy of the channel's schema.
|
|
890
|
+
|
|
891
|
+
Note that changes made to the returned object will not be applied to
|
|
892
|
+
the channel's schema.
|
|
893
|
+
"""
|
|
894
|
+
...
|
|
895
|
+
|
|
896
|
+
def schema_name(self) -> str | None:
|
|
897
|
+
"""The name of the schema for the channel."""
|
|
898
|
+
...
|
|
899
|
+
|
|
900
|
+
def has_sinks(self) -> bool:
|
|
901
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
902
|
+
...
|
|
903
|
+
|
|
904
|
+
def close(self) -> None:
|
|
905
|
+
"""Close the channel."""
|
|
906
|
+
...
|
|
907
|
+
|
|
908
|
+
def log(
|
|
909
|
+
self,
|
|
910
|
+
message: "ImageAnnotations",
|
|
911
|
+
*,
|
|
912
|
+
log_time: int | None = None,
|
|
913
|
+
sink_id: int | None = None,
|
|
914
|
+
) -> None:
|
|
915
|
+
"""Log a Foxglove ImageAnnotations message on the channel."""
|
|
916
|
+
...
|
|
917
|
+
|
|
918
|
+
class KeyValuePairChannel:
|
|
919
|
+
"""
|
|
920
|
+
A channel for logging KeyValuePair messages
|
|
921
|
+
|
|
922
|
+
You should choose a unique topic name per channel.
|
|
923
|
+
"""
|
|
924
|
+
|
|
925
|
+
def __init__(
|
|
926
|
+
self,
|
|
927
|
+
topic: str,
|
|
928
|
+
*,
|
|
929
|
+
metadata: dict[str, str] | None = None,
|
|
930
|
+
context: Context | None = None,
|
|
931
|
+
) -> None: ...
|
|
932
|
+
def id(self) -> int:
|
|
933
|
+
"""The unique ID of the channel."""
|
|
934
|
+
...
|
|
935
|
+
|
|
936
|
+
def topic(self) -> str:
|
|
937
|
+
"""The topic name of the channel."""
|
|
938
|
+
...
|
|
939
|
+
|
|
940
|
+
@property
|
|
941
|
+
def message_encoding(self) -> str:
|
|
942
|
+
"""The message encoding for the channel"""
|
|
943
|
+
...
|
|
944
|
+
|
|
945
|
+
def metadata(self) -> dict[str, str]:
|
|
946
|
+
"""
|
|
947
|
+
Returns a copy of the channel's metadata.
|
|
948
|
+
|
|
949
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
950
|
+
the channel's metadata.
|
|
951
|
+
"""
|
|
952
|
+
...
|
|
953
|
+
|
|
954
|
+
def schema(self) -> Schema | None:
|
|
955
|
+
"""
|
|
956
|
+
Returns a copy of the channel's schema.
|
|
957
|
+
|
|
958
|
+
Note that changes made to the returned object will not be applied to
|
|
959
|
+
the channel's schema.
|
|
960
|
+
"""
|
|
961
|
+
...
|
|
962
|
+
|
|
963
|
+
def schema_name(self) -> str | None:
|
|
964
|
+
"""The name of the schema for the channel."""
|
|
965
|
+
...
|
|
966
|
+
|
|
967
|
+
def has_sinks(self) -> bool:
|
|
968
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
969
|
+
...
|
|
970
|
+
|
|
971
|
+
def close(self) -> None:
|
|
972
|
+
"""Close the channel."""
|
|
973
|
+
...
|
|
974
|
+
|
|
975
|
+
def log(
|
|
976
|
+
self,
|
|
977
|
+
message: "KeyValuePair",
|
|
978
|
+
*,
|
|
979
|
+
log_time: int | None = None,
|
|
980
|
+
sink_id: int | None = None,
|
|
981
|
+
) -> None:
|
|
982
|
+
"""Log a Foxglove KeyValuePair message on the channel."""
|
|
983
|
+
...
|
|
984
|
+
|
|
985
|
+
class LaserScanChannel:
|
|
986
|
+
"""
|
|
987
|
+
A channel for logging LaserScan messages
|
|
988
|
+
|
|
989
|
+
You should choose a unique topic name per channel.
|
|
990
|
+
"""
|
|
991
|
+
|
|
992
|
+
def __init__(
|
|
993
|
+
self,
|
|
994
|
+
topic: str,
|
|
995
|
+
*,
|
|
996
|
+
metadata: dict[str, str] | None = None,
|
|
997
|
+
context: Context | None = None,
|
|
998
|
+
) -> None: ...
|
|
999
|
+
def id(self) -> int:
|
|
1000
|
+
"""The unique ID of the channel."""
|
|
1001
|
+
...
|
|
1002
|
+
|
|
1003
|
+
def topic(self) -> str:
|
|
1004
|
+
"""The topic name of the channel."""
|
|
1005
|
+
...
|
|
1006
|
+
|
|
1007
|
+
@property
|
|
1008
|
+
def message_encoding(self) -> str:
|
|
1009
|
+
"""The message encoding for the channel"""
|
|
1010
|
+
...
|
|
1011
|
+
|
|
1012
|
+
def metadata(self) -> dict[str, str]:
|
|
1013
|
+
"""
|
|
1014
|
+
Returns a copy of the channel's metadata.
|
|
1015
|
+
|
|
1016
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1017
|
+
the channel's metadata.
|
|
1018
|
+
"""
|
|
1019
|
+
...
|
|
1020
|
+
|
|
1021
|
+
def schema(self) -> Schema | None:
|
|
1022
|
+
"""
|
|
1023
|
+
Returns a copy of the channel's schema.
|
|
1024
|
+
|
|
1025
|
+
Note that changes made to the returned object will not be applied to
|
|
1026
|
+
the channel's schema.
|
|
1027
|
+
"""
|
|
1028
|
+
...
|
|
1029
|
+
|
|
1030
|
+
def schema_name(self) -> str | None:
|
|
1031
|
+
"""The name of the schema for the channel."""
|
|
1032
|
+
...
|
|
1033
|
+
|
|
1034
|
+
def has_sinks(self) -> bool:
|
|
1035
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1036
|
+
...
|
|
1037
|
+
|
|
1038
|
+
def close(self) -> None:
|
|
1039
|
+
"""Close the channel."""
|
|
1040
|
+
...
|
|
1041
|
+
|
|
1042
|
+
def log(
|
|
1043
|
+
self,
|
|
1044
|
+
message: "LaserScan",
|
|
1045
|
+
*,
|
|
1046
|
+
log_time: int | None = None,
|
|
1047
|
+
sink_id: int | None = None,
|
|
1048
|
+
) -> None:
|
|
1049
|
+
"""Log a Foxglove LaserScan message on the channel."""
|
|
1050
|
+
...
|
|
1051
|
+
|
|
1052
|
+
class LinePrimitiveChannel:
|
|
1053
|
+
"""
|
|
1054
|
+
A channel for logging LinePrimitive messages
|
|
1055
|
+
|
|
1056
|
+
You should choose a unique topic name per channel.
|
|
1057
|
+
"""
|
|
1058
|
+
|
|
1059
|
+
def __init__(
|
|
1060
|
+
self,
|
|
1061
|
+
topic: str,
|
|
1062
|
+
*,
|
|
1063
|
+
metadata: dict[str, str] | None = None,
|
|
1064
|
+
context: Context | None = None,
|
|
1065
|
+
) -> None: ...
|
|
1066
|
+
def id(self) -> int:
|
|
1067
|
+
"""The unique ID of the channel."""
|
|
1068
|
+
...
|
|
1069
|
+
|
|
1070
|
+
def topic(self) -> str:
|
|
1071
|
+
"""The topic name of the channel."""
|
|
1072
|
+
...
|
|
1073
|
+
|
|
1074
|
+
@property
|
|
1075
|
+
def message_encoding(self) -> str:
|
|
1076
|
+
"""The message encoding for the channel"""
|
|
1077
|
+
...
|
|
1078
|
+
|
|
1079
|
+
def metadata(self) -> dict[str, str]:
|
|
1080
|
+
"""
|
|
1081
|
+
Returns a copy of the channel's metadata.
|
|
1082
|
+
|
|
1083
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1084
|
+
the channel's metadata.
|
|
1085
|
+
"""
|
|
1086
|
+
...
|
|
1087
|
+
|
|
1088
|
+
def schema(self) -> Schema | None:
|
|
1089
|
+
"""
|
|
1090
|
+
Returns a copy of the channel's schema.
|
|
1091
|
+
|
|
1092
|
+
Note that changes made to the returned object will not be applied to
|
|
1093
|
+
the channel's schema.
|
|
1094
|
+
"""
|
|
1095
|
+
...
|
|
1096
|
+
|
|
1097
|
+
def schema_name(self) -> str | None:
|
|
1098
|
+
"""The name of the schema for the channel."""
|
|
1099
|
+
...
|
|
1100
|
+
|
|
1101
|
+
def has_sinks(self) -> bool:
|
|
1102
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1103
|
+
...
|
|
1104
|
+
|
|
1105
|
+
def close(self) -> None:
|
|
1106
|
+
"""Close the channel."""
|
|
1107
|
+
...
|
|
1108
|
+
|
|
1109
|
+
def log(
|
|
1110
|
+
self,
|
|
1111
|
+
message: "LinePrimitive",
|
|
1112
|
+
*,
|
|
1113
|
+
log_time: int | None = None,
|
|
1114
|
+
sink_id: int | None = None,
|
|
1115
|
+
) -> None:
|
|
1116
|
+
"""Log a Foxglove LinePrimitive message on the channel."""
|
|
1117
|
+
...
|
|
1118
|
+
|
|
1119
|
+
class LocationFixChannel:
|
|
1120
|
+
"""
|
|
1121
|
+
A channel for logging LocationFix messages
|
|
1122
|
+
|
|
1123
|
+
You should choose a unique topic name per channel.
|
|
1124
|
+
"""
|
|
1125
|
+
|
|
1126
|
+
def __init__(
|
|
1127
|
+
self,
|
|
1128
|
+
topic: str,
|
|
1129
|
+
*,
|
|
1130
|
+
metadata: dict[str, str] | None = None,
|
|
1131
|
+
context: Context | None = None,
|
|
1132
|
+
) -> None: ...
|
|
1133
|
+
def id(self) -> int:
|
|
1134
|
+
"""The unique ID of the channel."""
|
|
1135
|
+
...
|
|
1136
|
+
|
|
1137
|
+
def topic(self) -> str:
|
|
1138
|
+
"""The topic name of the channel."""
|
|
1139
|
+
...
|
|
1140
|
+
|
|
1141
|
+
@property
|
|
1142
|
+
def message_encoding(self) -> str:
|
|
1143
|
+
"""The message encoding for the channel"""
|
|
1144
|
+
...
|
|
1145
|
+
|
|
1146
|
+
def metadata(self) -> dict[str, str]:
|
|
1147
|
+
"""
|
|
1148
|
+
Returns a copy of the channel's metadata.
|
|
1149
|
+
|
|
1150
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1151
|
+
the channel's metadata.
|
|
1152
|
+
"""
|
|
1153
|
+
...
|
|
1154
|
+
|
|
1155
|
+
def schema(self) -> Schema | None:
|
|
1156
|
+
"""
|
|
1157
|
+
Returns a copy of the channel's schema.
|
|
1158
|
+
|
|
1159
|
+
Note that changes made to the returned object will not be applied to
|
|
1160
|
+
the channel's schema.
|
|
1161
|
+
"""
|
|
1162
|
+
...
|
|
1163
|
+
|
|
1164
|
+
def schema_name(self) -> str | None:
|
|
1165
|
+
"""The name of the schema for the channel."""
|
|
1166
|
+
...
|
|
1167
|
+
|
|
1168
|
+
def has_sinks(self) -> bool:
|
|
1169
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1170
|
+
...
|
|
1171
|
+
|
|
1172
|
+
def close(self) -> None:
|
|
1173
|
+
"""Close the channel."""
|
|
1174
|
+
...
|
|
1175
|
+
|
|
1176
|
+
def log(
|
|
1177
|
+
self,
|
|
1178
|
+
message: "LocationFix",
|
|
1179
|
+
*,
|
|
1180
|
+
log_time: int | None = None,
|
|
1181
|
+
sink_id: int | None = None,
|
|
1182
|
+
) -> None:
|
|
1183
|
+
"""Log a Foxglove LocationFix message on the channel."""
|
|
1184
|
+
...
|
|
1185
|
+
|
|
1186
|
+
class LocationFixesChannel:
|
|
1187
|
+
"""
|
|
1188
|
+
A channel for logging LocationFixes messages
|
|
1189
|
+
|
|
1190
|
+
You should choose a unique topic name per channel.
|
|
1191
|
+
"""
|
|
1192
|
+
|
|
1193
|
+
def __init__(
|
|
1194
|
+
self,
|
|
1195
|
+
topic: str,
|
|
1196
|
+
*,
|
|
1197
|
+
metadata: dict[str, str] | None = None,
|
|
1198
|
+
context: Context | None = None,
|
|
1199
|
+
) -> None: ...
|
|
1200
|
+
def id(self) -> int:
|
|
1201
|
+
"""The unique ID of the channel."""
|
|
1202
|
+
...
|
|
1203
|
+
|
|
1204
|
+
def topic(self) -> str:
|
|
1205
|
+
"""The topic name of the channel."""
|
|
1206
|
+
...
|
|
1207
|
+
|
|
1208
|
+
@property
|
|
1209
|
+
def message_encoding(self) -> str:
|
|
1210
|
+
"""The message encoding for the channel"""
|
|
1211
|
+
...
|
|
1212
|
+
|
|
1213
|
+
def metadata(self) -> dict[str, str]:
|
|
1214
|
+
"""
|
|
1215
|
+
Returns a copy of the channel's metadata.
|
|
1216
|
+
|
|
1217
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1218
|
+
the channel's metadata.
|
|
1219
|
+
"""
|
|
1220
|
+
...
|
|
1221
|
+
|
|
1222
|
+
def schema(self) -> Schema | None:
|
|
1223
|
+
"""
|
|
1224
|
+
Returns a copy of the channel's schema.
|
|
1225
|
+
|
|
1226
|
+
Note that changes made to the returned object will not be applied to
|
|
1227
|
+
the channel's schema.
|
|
1228
|
+
"""
|
|
1229
|
+
...
|
|
1230
|
+
|
|
1231
|
+
def schema_name(self) -> str | None:
|
|
1232
|
+
"""The name of the schema for the channel."""
|
|
1233
|
+
...
|
|
1234
|
+
|
|
1235
|
+
def has_sinks(self) -> bool:
|
|
1236
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1237
|
+
...
|
|
1238
|
+
|
|
1239
|
+
def close(self) -> None:
|
|
1240
|
+
"""Close the channel."""
|
|
1241
|
+
...
|
|
1242
|
+
|
|
1243
|
+
def log(
|
|
1244
|
+
self,
|
|
1245
|
+
message: "LocationFixes",
|
|
1246
|
+
*,
|
|
1247
|
+
log_time: int | None = None,
|
|
1248
|
+
sink_id: int | None = None,
|
|
1249
|
+
) -> None:
|
|
1250
|
+
"""Log a Foxglove LocationFixes message on the channel."""
|
|
1251
|
+
...
|
|
1252
|
+
|
|
1253
|
+
class LogChannel:
|
|
1254
|
+
"""
|
|
1255
|
+
A channel for logging Log messages
|
|
1256
|
+
|
|
1257
|
+
You should choose a unique topic name per channel.
|
|
1258
|
+
"""
|
|
1259
|
+
|
|
1260
|
+
def __init__(
|
|
1261
|
+
self,
|
|
1262
|
+
topic: str,
|
|
1263
|
+
*,
|
|
1264
|
+
metadata: dict[str, str] | None = None,
|
|
1265
|
+
context: Context | None = None,
|
|
1266
|
+
) -> None: ...
|
|
1267
|
+
def id(self) -> int:
|
|
1268
|
+
"""The unique ID of the channel."""
|
|
1269
|
+
...
|
|
1270
|
+
|
|
1271
|
+
def topic(self) -> str:
|
|
1272
|
+
"""The topic name of the channel."""
|
|
1273
|
+
...
|
|
1274
|
+
|
|
1275
|
+
@property
|
|
1276
|
+
def message_encoding(self) -> str:
|
|
1277
|
+
"""The message encoding for the channel"""
|
|
1278
|
+
...
|
|
1279
|
+
|
|
1280
|
+
def metadata(self) -> dict[str, str]:
|
|
1281
|
+
"""
|
|
1282
|
+
Returns a copy of the channel's metadata.
|
|
1283
|
+
|
|
1284
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1285
|
+
the channel's metadata.
|
|
1286
|
+
"""
|
|
1287
|
+
...
|
|
1288
|
+
|
|
1289
|
+
def schema(self) -> Schema | None:
|
|
1290
|
+
"""
|
|
1291
|
+
Returns a copy of the channel's schema.
|
|
1292
|
+
|
|
1293
|
+
Note that changes made to the returned object will not be applied to
|
|
1294
|
+
the channel's schema.
|
|
1295
|
+
"""
|
|
1296
|
+
...
|
|
1297
|
+
|
|
1298
|
+
def schema_name(self) -> str | None:
|
|
1299
|
+
"""The name of the schema for the channel."""
|
|
1300
|
+
...
|
|
1301
|
+
|
|
1302
|
+
def has_sinks(self) -> bool:
|
|
1303
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1304
|
+
...
|
|
1305
|
+
|
|
1306
|
+
def close(self) -> None:
|
|
1307
|
+
"""Close the channel."""
|
|
1308
|
+
...
|
|
1309
|
+
|
|
1310
|
+
def log(
|
|
1311
|
+
self,
|
|
1312
|
+
message: "Log",
|
|
1313
|
+
*,
|
|
1314
|
+
log_time: int | None = None,
|
|
1315
|
+
sink_id: int | None = None,
|
|
1316
|
+
) -> None:
|
|
1317
|
+
"""Log a Foxglove Log message on the channel."""
|
|
1318
|
+
...
|
|
1319
|
+
|
|
1320
|
+
class ModelPrimitiveChannel:
|
|
1321
|
+
"""
|
|
1322
|
+
A channel for logging ModelPrimitive messages
|
|
1323
|
+
|
|
1324
|
+
You should choose a unique topic name per channel.
|
|
1325
|
+
"""
|
|
1326
|
+
|
|
1327
|
+
def __init__(
|
|
1328
|
+
self,
|
|
1329
|
+
topic: str,
|
|
1330
|
+
*,
|
|
1331
|
+
metadata: dict[str, str] | None = None,
|
|
1332
|
+
context: Context | None = None,
|
|
1333
|
+
) -> None: ...
|
|
1334
|
+
def id(self) -> int:
|
|
1335
|
+
"""The unique ID of the channel."""
|
|
1336
|
+
...
|
|
1337
|
+
|
|
1338
|
+
def topic(self) -> str:
|
|
1339
|
+
"""The topic name of the channel."""
|
|
1340
|
+
...
|
|
1341
|
+
|
|
1342
|
+
@property
|
|
1343
|
+
def message_encoding(self) -> str:
|
|
1344
|
+
"""The message encoding for the channel"""
|
|
1345
|
+
...
|
|
1346
|
+
|
|
1347
|
+
def metadata(self) -> dict[str, str]:
|
|
1348
|
+
"""
|
|
1349
|
+
Returns a copy of the channel's metadata.
|
|
1350
|
+
|
|
1351
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1352
|
+
the channel's metadata.
|
|
1353
|
+
"""
|
|
1354
|
+
...
|
|
1355
|
+
|
|
1356
|
+
def schema(self) -> Schema | None:
|
|
1357
|
+
"""
|
|
1358
|
+
Returns a copy of the channel's schema.
|
|
1359
|
+
|
|
1360
|
+
Note that changes made to the returned object will not be applied to
|
|
1361
|
+
the channel's schema.
|
|
1362
|
+
"""
|
|
1363
|
+
...
|
|
1364
|
+
|
|
1365
|
+
def schema_name(self) -> str | None:
|
|
1366
|
+
"""The name of the schema for the channel."""
|
|
1367
|
+
...
|
|
1368
|
+
|
|
1369
|
+
def has_sinks(self) -> bool:
|
|
1370
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1371
|
+
...
|
|
1372
|
+
|
|
1373
|
+
def close(self) -> None:
|
|
1374
|
+
"""Close the channel."""
|
|
1375
|
+
...
|
|
1376
|
+
|
|
1377
|
+
def log(
|
|
1378
|
+
self,
|
|
1379
|
+
message: "ModelPrimitive",
|
|
1380
|
+
*,
|
|
1381
|
+
log_time: int | None = None,
|
|
1382
|
+
sink_id: int | None = None,
|
|
1383
|
+
) -> None:
|
|
1384
|
+
"""Log a Foxglove ModelPrimitive message on the channel."""
|
|
1385
|
+
...
|
|
1386
|
+
|
|
1387
|
+
class PackedElementFieldChannel:
|
|
1388
|
+
"""
|
|
1389
|
+
A channel for logging PackedElementField messages
|
|
1390
|
+
|
|
1391
|
+
You should choose a unique topic name per channel.
|
|
1392
|
+
"""
|
|
1393
|
+
|
|
1394
|
+
def __init__(
|
|
1395
|
+
self,
|
|
1396
|
+
topic: str,
|
|
1397
|
+
*,
|
|
1398
|
+
metadata: dict[str, str] | None = None,
|
|
1399
|
+
context: Context | None = None,
|
|
1400
|
+
) -> None: ...
|
|
1401
|
+
def id(self) -> int:
|
|
1402
|
+
"""The unique ID of the channel."""
|
|
1403
|
+
...
|
|
1404
|
+
|
|
1405
|
+
def topic(self) -> str:
|
|
1406
|
+
"""The topic name of the channel."""
|
|
1407
|
+
...
|
|
1408
|
+
|
|
1409
|
+
@property
|
|
1410
|
+
def message_encoding(self) -> str:
|
|
1411
|
+
"""The message encoding for the channel"""
|
|
1412
|
+
...
|
|
1413
|
+
|
|
1414
|
+
def metadata(self) -> dict[str, str]:
|
|
1415
|
+
"""
|
|
1416
|
+
Returns a copy of the channel's metadata.
|
|
1417
|
+
|
|
1418
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1419
|
+
the channel's metadata.
|
|
1420
|
+
"""
|
|
1421
|
+
...
|
|
1422
|
+
|
|
1423
|
+
def schema(self) -> Schema | None:
|
|
1424
|
+
"""
|
|
1425
|
+
Returns a copy of the channel's schema.
|
|
1426
|
+
|
|
1427
|
+
Note that changes made to the returned object will not be applied to
|
|
1428
|
+
the channel's schema.
|
|
1429
|
+
"""
|
|
1430
|
+
...
|
|
1431
|
+
|
|
1432
|
+
def schema_name(self) -> str | None:
|
|
1433
|
+
"""The name of the schema for the channel."""
|
|
1434
|
+
...
|
|
1435
|
+
|
|
1436
|
+
def has_sinks(self) -> bool:
|
|
1437
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1438
|
+
...
|
|
1439
|
+
|
|
1440
|
+
def close(self) -> None:
|
|
1441
|
+
"""Close the channel."""
|
|
1442
|
+
...
|
|
1443
|
+
|
|
1444
|
+
def log(
|
|
1445
|
+
self,
|
|
1446
|
+
message: "PackedElementField",
|
|
1447
|
+
*,
|
|
1448
|
+
log_time: int | None = None,
|
|
1449
|
+
sink_id: int | None = None,
|
|
1450
|
+
) -> None:
|
|
1451
|
+
"""Log a Foxglove PackedElementField message on the channel."""
|
|
1452
|
+
...
|
|
1453
|
+
|
|
1454
|
+
class Point2Channel:
|
|
1455
|
+
"""
|
|
1456
|
+
A channel for logging Point2 messages
|
|
1457
|
+
|
|
1458
|
+
You should choose a unique topic name per channel.
|
|
1459
|
+
"""
|
|
1460
|
+
|
|
1461
|
+
def __init__(
|
|
1462
|
+
self,
|
|
1463
|
+
topic: str,
|
|
1464
|
+
*,
|
|
1465
|
+
metadata: dict[str, str] | None = None,
|
|
1466
|
+
context: Context | None = None,
|
|
1467
|
+
) -> None: ...
|
|
1468
|
+
def id(self) -> int:
|
|
1469
|
+
"""The unique ID of the channel."""
|
|
1470
|
+
...
|
|
1471
|
+
|
|
1472
|
+
def topic(self) -> str:
|
|
1473
|
+
"""The topic name of the channel."""
|
|
1474
|
+
...
|
|
1475
|
+
|
|
1476
|
+
@property
|
|
1477
|
+
def message_encoding(self) -> str:
|
|
1478
|
+
"""The message encoding for the channel"""
|
|
1479
|
+
...
|
|
1480
|
+
|
|
1481
|
+
def metadata(self) -> dict[str, str]:
|
|
1482
|
+
"""
|
|
1483
|
+
Returns a copy of the channel's metadata.
|
|
1484
|
+
|
|
1485
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1486
|
+
the channel's metadata.
|
|
1487
|
+
"""
|
|
1488
|
+
...
|
|
1489
|
+
|
|
1490
|
+
def schema(self) -> Schema | None:
|
|
1491
|
+
"""
|
|
1492
|
+
Returns a copy of the channel's schema.
|
|
1493
|
+
|
|
1494
|
+
Note that changes made to the returned object will not be applied to
|
|
1495
|
+
the channel's schema.
|
|
1496
|
+
"""
|
|
1497
|
+
...
|
|
1498
|
+
|
|
1499
|
+
def schema_name(self) -> str | None:
|
|
1500
|
+
"""The name of the schema for the channel."""
|
|
1501
|
+
...
|
|
1502
|
+
|
|
1503
|
+
def has_sinks(self) -> bool:
|
|
1504
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1505
|
+
...
|
|
1506
|
+
|
|
1507
|
+
def close(self) -> None:
|
|
1508
|
+
"""Close the channel."""
|
|
1509
|
+
...
|
|
1510
|
+
|
|
1511
|
+
def log(
|
|
1512
|
+
self,
|
|
1513
|
+
message: "Point2",
|
|
1514
|
+
*,
|
|
1515
|
+
log_time: int | None = None,
|
|
1516
|
+
sink_id: int | None = None,
|
|
1517
|
+
) -> None:
|
|
1518
|
+
"""Log a Foxglove Point2 message on the channel."""
|
|
1519
|
+
...
|
|
1520
|
+
|
|
1521
|
+
class Point3Channel:
|
|
1522
|
+
"""
|
|
1523
|
+
A channel for logging Point3 messages
|
|
1524
|
+
|
|
1525
|
+
You should choose a unique topic name per channel.
|
|
1526
|
+
"""
|
|
1527
|
+
|
|
1528
|
+
def __init__(
|
|
1529
|
+
self,
|
|
1530
|
+
topic: str,
|
|
1531
|
+
*,
|
|
1532
|
+
metadata: dict[str, str] | None = None,
|
|
1533
|
+
context: Context | None = None,
|
|
1534
|
+
) -> None: ...
|
|
1535
|
+
def id(self) -> int:
|
|
1536
|
+
"""The unique ID of the channel."""
|
|
1537
|
+
...
|
|
1538
|
+
|
|
1539
|
+
def topic(self) -> str:
|
|
1540
|
+
"""The topic name of the channel."""
|
|
1541
|
+
...
|
|
1542
|
+
|
|
1543
|
+
@property
|
|
1544
|
+
def message_encoding(self) -> str:
|
|
1545
|
+
"""The message encoding for the channel"""
|
|
1546
|
+
...
|
|
1547
|
+
|
|
1548
|
+
def metadata(self) -> dict[str, str]:
|
|
1549
|
+
"""
|
|
1550
|
+
Returns a copy of the channel's metadata.
|
|
1551
|
+
|
|
1552
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1553
|
+
the channel's metadata.
|
|
1554
|
+
"""
|
|
1555
|
+
...
|
|
1556
|
+
|
|
1557
|
+
def schema(self) -> Schema | None:
|
|
1558
|
+
"""
|
|
1559
|
+
Returns a copy of the channel's schema.
|
|
1560
|
+
|
|
1561
|
+
Note that changes made to the returned object will not be applied to
|
|
1562
|
+
the channel's schema.
|
|
1563
|
+
"""
|
|
1564
|
+
...
|
|
1565
|
+
|
|
1566
|
+
def schema_name(self) -> str | None:
|
|
1567
|
+
"""The name of the schema for the channel."""
|
|
1568
|
+
...
|
|
1569
|
+
|
|
1570
|
+
def has_sinks(self) -> bool:
|
|
1571
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1572
|
+
...
|
|
1573
|
+
|
|
1574
|
+
def close(self) -> None:
|
|
1575
|
+
"""Close the channel."""
|
|
1576
|
+
...
|
|
1577
|
+
|
|
1578
|
+
def log(
|
|
1579
|
+
self,
|
|
1580
|
+
message: "Point3",
|
|
1581
|
+
*,
|
|
1582
|
+
log_time: int | None = None,
|
|
1583
|
+
sink_id: int | None = None,
|
|
1584
|
+
) -> None:
|
|
1585
|
+
"""Log a Foxglove Point3 message on the channel."""
|
|
1586
|
+
...
|
|
1587
|
+
|
|
1588
|
+
class PointCloudChannel:
|
|
1589
|
+
"""
|
|
1590
|
+
A channel for logging PointCloud messages
|
|
1591
|
+
|
|
1592
|
+
You should choose a unique topic name per channel.
|
|
1593
|
+
"""
|
|
1594
|
+
|
|
1595
|
+
def __init__(
|
|
1596
|
+
self,
|
|
1597
|
+
topic: str,
|
|
1598
|
+
*,
|
|
1599
|
+
metadata: dict[str, str] | None = None,
|
|
1600
|
+
context: Context | None = None,
|
|
1601
|
+
) -> None: ...
|
|
1602
|
+
def id(self) -> int:
|
|
1603
|
+
"""The unique ID of the channel."""
|
|
1604
|
+
...
|
|
1605
|
+
|
|
1606
|
+
def topic(self) -> str:
|
|
1607
|
+
"""The topic name of the channel."""
|
|
1608
|
+
...
|
|
1609
|
+
|
|
1610
|
+
@property
|
|
1611
|
+
def message_encoding(self) -> str:
|
|
1612
|
+
"""The message encoding for the channel"""
|
|
1613
|
+
...
|
|
1614
|
+
|
|
1615
|
+
def metadata(self) -> dict[str, str]:
|
|
1616
|
+
"""
|
|
1617
|
+
Returns a copy of the channel's metadata.
|
|
1618
|
+
|
|
1619
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1620
|
+
the channel's metadata.
|
|
1621
|
+
"""
|
|
1622
|
+
...
|
|
1623
|
+
|
|
1624
|
+
def schema(self) -> Schema | None:
|
|
1625
|
+
"""
|
|
1626
|
+
Returns a copy of the channel's schema.
|
|
1627
|
+
|
|
1628
|
+
Note that changes made to the returned object will not be applied to
|
|
1629
|
+
the channel's schema.
|
|
1630
|
+
"""
|
|
1631
|
+
...
|
|
1632
|
+
|
|
1633
|
+
def schema_name(self) -> str | None:
|
|
1634
|
+
"""The name of the schema for the channel."""
|
|
1635
|
+
...
|
|
1636
|
+
|
|
1637
|
+
def has_sinks(self) -> bool:
|
|
1638
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1639
|
+
...
|
|
1640
|
+
|
|
1641
|
+
def close(self) -> None:
|
|
1642
|
+
"""Close the channel."""
|
|
1643
|
+
...
|
|
1644
|
+
|
|
1645
|
+
def log(
|
|
1646
|
+
self,
|
|
1647
|
+
message: "PointCloud",
|
|
1648
|
+
*,
|
|
1649
|
+
log_time: int | None = None,
|
|
1650
|
+
sink_id: int | None = None,
|
|
1651
|
+
) -> None:
|
|
1652
|
+
"""Log a Foxglove PointCloud message on the channel."""
|
|
1653
|
+
...
|
|
1654
|
+
|
|
1655
|
+
class PointsAnnotationChannel:
|
|
1656
|
+
"""
|
|
1657
|
+
A channel for logging PointsAnnotation messages
|
|
1658
|
+
|
|
1659
|
+
You should choose a unique topic name per channel.
|
|
1660
|
+
"""
|
|
1661
|
+
|
|
1662
|
+
def __init__(
|
|
1663
|
+
self,
|
|
1664
|
+
topic: str,
|
|
1665
|
+
*,
|
|
1666
|
+
metadata: dict[str, str] | None = None,
|
|
1667
|
+
context: Context | None = None,
|
|
1668
|
+
) -> None: ...
|
|
1669
|
+
def id(self) -> int:
|
|
1670
|
+
"""The unique ID of the channel."""
|
|
1671
|
+
...
|
|
1672
|
+
|
|
1673
|
+
def topic(self) -> str:
|
|
1674
|
+
"""The topic name of the channel."""
|
|
1675
|
+
...
|
|
1676
|
+
|
|
1677
|
+
@property
|
|
1678
|
+
def message_encoding(self) -> str:
|
|
1679
|
+
"""The message encoding for the channel"""
|
|
1680
|
+
...
|
|
1681
|
+
|
|
1682
|
+
def metadata(self) -> dict[str, str]:
|
|
1683
|
+
"""
|
|
1684
|
+
Returns a copy of the channel's metadata.
|
|
1685
|
+
|
|
1686
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1687
|
+
the channel's metadata.
|
|
1688
|
+
"""
|
|
1689
|
+
...
|
|
1690
|
+
|
|
1691
|
+
def schema(self) -> Schema | None:
|
|
1692
|
+
"""
|
|
1693
|
+
Returns a copy of the channel's schema.
|
|
1694
|
+
|
|
1695
|
+
Note that changes made to the returned object will not be applied to
|
|
1696
|
+
the channel's schema.
|
|
1697
|
+
"""
|
|
1698
|
+
...
|
|
1699
|
+
|
|
1700
|
+
def schema_name(self) -> str | None:
|
|
1701
|
+
"""The name of the schema for the channel."""
|
|
1702
|
+
...
|
|
1703
|
+
|
|
1704
|
+
def has_sinks(self) -> bool:
|
|
1705
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1706
|
+
...
|
|
1707
|
+
|
|
1708
|
+
def close(self) -> None:
|
|
1709
|
+
"""Close the channel."""
|
|
1710
|
+
...
|
|
1711
|
+
|
|
1712
|
+
def log(
|
|
1713
|
+
self,
|
|
1714
|
+
message: "PointsAnnotation",
|
|
1715
|
+
*,
|
|
1716
|
+
log_time: int | None = None,
|
|
1717
|
+
sink_id: int | None = None,
|
|
1718
|
+
) -> None:
|
|
1719
|
+
"""Log a Foxglove PointsAnnotation message on the channel."""
|
|
1720
|
+
...
|
|
1721
|
+
|
|
1722
|
+
class PoseChannel:
|
|
1723
|
+
"""
|
|
1724
|
+
A channel for logging Pose messages
|
|
1725
|
+
|
|
1726
|
+
You should choose a unique topic name per channel.
|
|
1727
|
+
"""
|
|
1728
|
+
|
|
1729
|
+
def __init__(
|
|
1730
|
+
self,
|
|
1731
|
+
topic: str,
|
|
1732
|
+
*,
|
|
1733
|
+
metadata: dict[str, str] | None = None,
|
|
1734
|
+
context: Context | None = None,
|
|
1735
|
+
) -> None: ...
|
|
1736
|
+
def id(self) -> int:
|
|
1737
|
+
"""The unique ID of the channel."""
|
|
1738
|
+
...
|
|
1739
|
+
|
|
1740
|
+
def topic(self) -> str:
|
|
1741
|
+
"""The topic name of the channel."""
|
|
1742
|
+
...
|
|
1743
|
+
|
|
1744
|
+
@property
|
|
1745
|
+
def message_encoding(self) -> str:
|
|
1746
|
+
"""The message encoding for the channel"""
|
|
1747
|
+
...
|
|
1748
|
+
|
|
1749
|
+
def metadata(self) -> dict[str, str]:
|
|
1750
|
+
"""
|
|
1751
|
+
Returns a copy of the channel's metadata.
|
|
1752
|
+
|
|
1753
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1754
|
+
the channel's metadata.
|
|
1755
|
+
"""
|
|
1756
|
+
...
|
|
1757
|
+
|
|
1758
|
+
def schema(self) -> Schema | None:
|
|
1759
|
+
"""
|
|
1760
|
+
Returns a copy of the channel's schema.
|
|
1761
|
+
|
|
1762
|
+
Note that changes made to the returned object will not be applied to
|
|
1763
|
+
the channel's schema.
|
|
1764
|
+
"""
|
|
1765
|
+
...
|
|
1766
|
+
|
|
1767
|
+
def schema_name(self) -> str | None:
|
|
1768
|
+
"""The name of the schema for the channel."""
|
|
1769
|
+
...
|
|
1770
|
+
|
|
1771
|
+
def has_sinks(self) -> bool:
|
|
1772
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1773
|
+
...
|
|
1774
|
+
|
|
1775
|
+
def close(self) -> None:
|
|
1776
|
+
"""Close the channel."""
|
|
1777
|
+
...
|
|
1778
|
+
|
|
1779
|
+
def log(
|
|
1780
|
+
self,
|
|
1781
|
+
message: "Pose",
|
|
1782
|
+
*,
|
|
1783
|
+
log_time: int | None = None,
|
|
1784
|
+
sink_id: int | None = None,
|
|
1785
|
+
) -> None:
|
|
1786
|
+
"""Log a Foxglove Pose message on the channel."""
|
|
1787
|
+
...
|
|
1788
|
+
|
|
1789
|
+
class PoseInFrameChannel:
|
|
1790
|
+
"""
|
|
1791
|
+
A channel for logging PoseInFrame messages
|
|
1792
|
+
|
|
1793
|
+
You should choose a unique topic name per channel.
|
|
1794
|
+
"""
|
|
1795
|
+
|
|
1796
|
+
def __init__(
|
|
1797
|
+
self,
|
|
1798
|
+
topic: str,
|
|
1799
|
+
*,
|
|
1800
|
+
metadata: dict[str, str] | None = None,
|
|
1801
|
+
context: Context | None = None,
|
|
1802
|
+
) -> None: ...
|
|
1803
|
+
def id(self) -> int:
|
|
1804
|
+
"""The unique ID of the channel."""
|
|
1805
|
+
...
|
|
1806
|
+
|
|
1807
|
+
def topic(self) -> str:
|
|
1808
|
+
"""The topic name of the channel."""
|
|
1809
|
+
...
|
|
1810
|
+
|
|
1811
|
+
@property
|
|
1812
|
+
def message_encoding(self) -> str:
|
|
1813
|
+
"""The message encoding for the channel"""
|
|
1814
|
+
...
|
|
1815
|
+
|
|
1816
|
+
def metadata(self) -> dict[str, str]:
|
|
1817
|
+
"""
|
|
1818
|
+
Returns a copy of the channel's metadata.
|
|
1819
|
+
|
|
1820
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1821
|
+
the channel's metadata.
|
|
1822
|
+
"""
|
|
1823
|
+
...
|
|
1824
|
+
|
|
1825
|
+
def schema(self) -> Schema | None:
|
|
1826
|
+
"""
|
|
1827
|
+
Returns a copy of the channel's schema.
|
|
1828
|
+
|
|
1829
|
+
Note that changes made to the returned object will not be applied to
|
|
1830
|
+
the channel's schema.
|
|
1831
|
+
"""
|
|
1832
|
+
...
|
|
1833
|
+
|
|
1834
|
+
def schema_name(self) -> str | None:
|
|
1835
|
+
"""The name of the schema for the channel."""
|
|
1836
|
+
...
|
|
1837
|
+
|
|
1838
|
+
def has_sinks(self) -> bool:
|
|
1839
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1840
|
+
...
|
|
1841
|
+
|
|
1842
|
+
def close(self) -> None:
|
|
1843
|
+
"""Close the channel."""
|
|
1844
|
+
...
|
|
1845
|
+
|
|
1846
|
+
def log(
|
|
1847
|
+
self,
|
|
1848
|
+
message: "PoseInFrame",
|
|
1849
|
+
*,
|
|
1850
|
+
log_time: int | None = None,
|
|
1851
|
+
sink_id: int | None = None,
|
|
1852
|
+
) -> None:
|
|
1853
|
+
"""Log a Foxglove PoseInFrame message on the channel."""
|
|
1854
|
+
...
|
|
1855
|
+
|
|
1856
|
+
class PosesInFrameChannel:
|
|
1857
|
+
"""
|
|
1858
|
+
A channel for logging PosesInFrame messages
|
|
1859
|
+
|
|
1860
|
+
You should choose a unique topic name per channel.
|
|
1861
|
+
"""
|
|
1862
|
+
|
|
1863
|
+
def __init__(
|
|
1864
|
+
self,
|
|
1865
|
+
topic: str,
|
|
1866
|
+
*,
|
|
1867
|
+
metadata: dict[str, str] | None = None,
|
|
1868
|
+
context: Context | None = None,
|
|
1869
|
+
) -> None: ...
|
|
1870
|
+
def id(self) -> int:
|
|
1871
|
+
"""The unique ID of the channel."""
|
|
1872
|
+
...
|
|
1873
|
+
|
|
1874
|
+
def topic(self) -> str:
|
|
1875
|
+
"""The topic name of the channel."""
|
|
1876
|
+
...
|
|
1877
|
+
|
|
1878
|
+
@property
|
|
1879
|
+
def message_encoding(self) -> str:
|
|
1880
|
+
"""The message encoding for the channel"""
|
|
1881
|
+
...
|
|
1882
|
+
|
|
1883
|
+
def metadata(self) -> dict[str, str]:
|
|
1884
|
+
"""
|
|
1885
|
+
Returns a copy of the channel's metadata.
|
|
1886
|
+
|
|
1887
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1888
|
+
the channel's metadata.
|
|
1889
|
+
"""
|
|
1890
|
+
...
|
|
1891
|
+
|
|
1892
|
+
def schema(self) -> Schema | None:
|
|
1893
|
+
"""
|
|
1894
|
+
Returns a copy of the channel's schema.
|
|
1895
|
+
|
|
1896
|
+
Note that changes made to the returned object will not be applied to
|
|
1897
|
+
the channel's schema.
|
|
1898
|
+
"""
|
|
1899
|
+
...
|
|
1900
|
+
|
|
1901
|
+
def schema_name(self) -> str | None:
|
|
1902
|
+
"""The name of the schema for the channel."""
|
|
1903
|
+
...
|
|
1904
|
+
|
|
1905
|
+
def has_sinks(self) -> bool:
|
|
1906
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1907
|
+
...
|
|
1908
|
+
|
|
1909
|
+
def close(self) -> None:
|
|
1910
|
+
"""Close the channel."""
|
|
1911
|
+
...
|
|
1912
|
+
|
|
1913
|
+
def log(
|
|
1914
|
+
self,
|
|
1915
|
+
message: "PosesInFrame",
|
|
1916
|
+
*,
|
|
1917
|
+
log_time: int | None = None,
|
|
1918
|
+
sink_id: int | None = None,
|
|
1919
|
+
) -> None:
|
|
1920
|
+
"""Log a Foxglove PosesInFrame message on the channel."""
|
|
1921
|
+
...
|
|
1922
|
+
|
|
1923
|
+
class QuaternionChannel:
|
|
1924
|
+
"""
|
|
1925
|
+
A channel for logging Quaternion messages
|
|
1926
|
+
|
|
1927
|
+
You should choose a unique topic name per channel.
|
|
1928
|
+
"""
|
|
1929
|
+
|
|
1930
|
+
def __init__(
|
|
1931
|
+
self,
|
|
1932
|
+
topic: str,
|
|
1933
|
+
*,
|
|
1934
|
+
metadata: dict[str, str] | None = None,
|
|
1935
|
+
context: Context | None = None,
|
|
1936
|
+
) -> None: ...
|
|
1937
|
+
def id(self) -> int:
|
|
1938
|
+
"""The unique ID of the channel."""
|
|
1939
|
+
...
|
|
1940
|
+
|
|
1941
|
+
def topic(self) -> str:
|
|
1942
|
+
"""The topic name of the channel."""
|
|
1943
|
+
...
|
|
1944
|
+
|
|
1945
|
+
@property
|
|
1946
|
+
def message_encoding(self) -> str:
|
|
1947
|
+
"""The message encoding for the channel"""
|
|
1948
|
+
...
|
|
1949
|
+
|
|
1950
|
+
def metadata(self) -> dict[str, str]:
|
|
1951
|
+
"""
|
|
1952
|
+
Returns a copy of the channel's metadata.
|
|
1953
|
+
|
|
1954
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
1955
|
+
the channel's metadata.
|
|
1956
|
+
"""
|
|
1957
|
+
...
|
|
1958
|
+
|
|
1959
|
+
def schema(self) -> Schema | None:
|
|
1960
|
+
"""
|
|
1961
|
+
Returns a copy of the channel's schema.
|
|
1962
|
+
|
|
1963
|
+
Note that changes made to the returned object will not be applied to
|
|
1964
|
+
the channel's schema.
|
|
1965
|
+
"""
|
|
1966
|
+
...
|
|
1967
|
+
|
|
1968
|
+
def schema_name(self) -> str | None:
|
|
1969
|
+
"""The name of the schema for the channel."""
|
|
1970
|
+
...
|
|
1971
|
+
|
|
1972
|
+
def has_sinks(self) -> bool:
|
|
1973
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
1974
|
+
...
|
|
1975
|
+
|
|
1976
|
+
def close(self) -> None:
|
|
1977
|
+
"""Close the channel."""
|
|
1978
|
+
...
|
|
1979
|
+
|
|
1980
|
+
def log(
|
|
1981
|
+
self,
|
|
1982
|
+
message: "Quaternion",
|
|
1983
|
+
*,
|
|
1984
|
+
log_time: int | None = None,
|
|
1985
|
+
sink_id: int | None = None,
|
|
1986
|
+
) -> None:
|
|
1987
|
+
"""Log a Foxglove Quaternion message on the channel."""
|
|
1988
|
+
...
|
|
1989
|
+
|
|
1990
|
+
class RawAudioChannel:
|
|
1991
|
+
"""
|
|
1992
|
+
A channel for logging RawAudio messages
|
|
1993
|
+
|
|
1994
|
+
You should choose a unique topic name per channel.
|
|
1995
|
+
"""
|
|
1996
|
+
|
|
1997
|
+
def __init__(
|
|
1998
|
+
self,
|
|
1999
|
+
topic: str,
|
|
2000
|
+
*,
|
|
2001
|
+
metadata: dict[str, str] | None = None,
|
|
2002
|
+
context: Context | None = None,
|
|
2003
|
+
) -> None: ...
|
|
2004
|
+
def id(self) -> int:
|
|
2005
|
+
"""The unique ID of the channel."""
|
|
2006
|
+
...
|
|
2007
|
+
|
|
2008
|
+
def topic(self) -> str:
|
|
2009
|
+
"""The topic name of the channel."""
|
|
2010
|
+
...
|
|
2011
|
+
|
|
2012
|
+
@property
|
|
2013
|
+
def message_encoding(self) -> str:
|
|
2014
|
+
"""The message encoding for the channel"""
|
|
2015
|
+
...
|
|
2016
|
+
|
|
2017
|
+
def metadata(self) -> dict[str, str]:
|
|
2018
|
+
"""
|
|
2019
|
+
Returns a copy of the channel's metadata.
|
|
2020
|
+
|
|
2021
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
2022
|
+
the channel's metadata.
|
|
2023
|
+
"""
|
|
2024
|
+
...
|
|
2025
|
+
|
|
2026
|
+
def schema(self) -> Schema | None:
|
|
2027
|
+
"""
|
|
2028
|
+
Returns a copy of the channel's schema.
|
|
2029
|
+
|
|
2030
|
+
Note that changes made to the returned object will not be applied to
|
|
2031
|
+
the channel's schema.
|
|
2032
|
+
"""
|
|
2033
|
+
...
|
|
2034
|
+
|
|
2035
|
+
def schema_name(self) -> str | None:
|
|
2036
|
+
"""The name of the schema for the channel."""
|
|
2037
|
+
...
|
|
2038
|
+
|
|
2039
|
+
def has_sinks(self) -> bool:
|
|
2040
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
2041
|
+
...
|
|
2042
|
+
|
|
2043
|
+
def close(self) -> None:
|
|
2044
|
+
"""Close the channel."""
|
|
2045
|
+
...
|
|
2046
|
+
|
|
2047
|
+
def log(
|
|
2048
|
+
self,
|
|
2049
|
+
message: "RawAudio",
|
|
2050
|
+
*,
|
|
2051
|
+
log_time: int | None = None,
|
|
2052
|
+
sink_id: int | None = None,
|
|
2053
|
+
) -> None:
|
|
2054
|
+
"""Log a Foxglove RawAudio message on the channel."""
|
|
2055
|
+
...
|
|
2056
|
+
|
|
2057
|
+
class RawImageChannel:
|
|
2058
|
+
"""
|
|
2059
|
+
A channel for logging RawImage messages
|
|
2060
|
+
|
|
2061
|
+
You should choose a unique topic name per channel.
|
|
2062
|
+
"""
|
|
2063
|
+
|
|
2064
|
+
def __init__(
|
|
2065
|
+
self,
|
|
2066
|
+
topic: str,
|
|
2067
|
+
*,
|
|
2068
|
+
metadata: dict[str, str] | None = None,
|
|
2069
|
+
context: Context | None = None,
|
|
2070
|
+
) -> None: ...
|
|
2071
|
+
def id(self) -> int:
|
|
2072
|
+
"""The unique ID of the channel."""
|
|
2073
|
+
...
|
|
2074
|
+
|
|
2075
|
+
def topic(self) -> str:
|
|
2076
|
+
"""The topic name of the channel."""
|
|
2077
|
+
...
|
|
2078
|
+
|
|
2079
|
+
@property
|
|
2080
|
+
def message_encoding(self) -> str:
|
|
2081
|
+
"""The message encoding for the channel"""
|
|
2082
|
+
...
|
|
2083
|
+
|
|
2084
|
+
def metadata(self) -> dict[str, str]:
|
|
2085
|
+
"""
|
|
2086
|
+
Returns a copy of the channel's metadata.
|
|
2087
|
+
|
|
2088
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
2089
|
+
the channel's metadata.
|
|
2090
|
+
"""
|
|
2091
|
+
...
|
|
2092
|
+
|
|
2093
|
+
def schema(self) -> Schema | None:
|
|
2094
|
+
"""
|
|
2095
|
+
Returns a copy of the channel's schema.
|
|
2096
|
+
|
|
2097
|
+
Note that changes made to the returned object will not be applied to
|
|
2098
|
+
the channel's schema.
|
|
2099
|
+
"""
|
|
2100
|
+
...
|
|
2101
|
+
|
|
2102
|
+
def schema_name(self) -> str | None:
|
|
2103
|
+
"""The name of the schema for the channel."""
|
|
2104
|
+
...
|
|
2105
|
+
|
|
2106
|
+
def has_sinks(self) -> bool:
|
|
2107
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
2108
|
+
...
|
|
2109
|
+
|
|
2110
|
+
def close(self) -> None:
|
|
2111
|
+
"""Close the channel."""
|
|
2112
|
+
...
|
|
2113
|
+
|
|
2114
|
+
def log(
|
|
2115
|
+
self,
|
|
2116
|
+
message: "RawImage",
|
|
2117
|
+
*,
|
|
2118
|
+
log_time: int | None = None,
|
|
2119
|
+
sink_id: int | None = None,
|
|
2120
|
+
) -> None:
|
|
2121
|
+
"""Log a Foxglove RawImage message on the channel."""
|
|
2122
|
+
...
|
|
2123
|
+
|
|
2124
|
+
class SceneEntityChannel:
|
|
2125
|
+
"""
|
|
2126
|
+
A channel for logging SceneEntity messages
|
|
2127
|
+
|
|
2128
|
+
You should choose a unique topic name per channel.
|
|
2129
|
+
"""
|
|
2130
|
+
|
|
2131
|
+
def __init__(
|
|
2132
|
+
self,
|
|
2133
|
+
topic: str,
|
|
2134
|
+
*,
|
|
2135
|
+
metadata: dict[str, str] | None = None,
|
|
2136
|
+
context: Context | None = None,
|
|
2137
|
+
) -> None: ...
|
|
2138
|
+
def id(self) -> int:
|
|
2139
|
+
"""The unique ID of the channel."""
|
|
2140
|
+
...
|
|
2141
|
+
|
|
2142
|
+
def topic(self) -> str:
|
|
2143
|
+
"""The topic name of the channel."""
|
|
2144
|
+
...
|
|
2145
|
+
|
|
2146
|
+
@property
|
|
2147
|
+
def message_encoding(self) -> str:
|
|
2148
|
+
"""The message encoding for the channel"""
|
|
2149
|
+
...
|
|
2150
|
+
|
|
2151
|
+
def metadata(self) -> dict[str, str]:
|
|
2152
|
+
"""
|
|
2153
|
+
Returns a copy of the channel's metadata.
|
|
2154
|
+
|
|
2155
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
2156
|
+
the channel's metadata.
|
|
2157
|
+
"""
|
|
2158
|
+
...
|
|
2159
|
+
|
|
2160
|
+
def schema(self) -> Schema | None:
|
|
2161
|
+
"""
|
|
2162
|
+
Returns a copy of the channel's schema.
|
|
2163
|
+
|
|
2164
|
+
Note that changes made to the returned object will not be applied to
|
|
2165
|
+
the channel's schema.
|
|
2166
|
+
"""
|
|
2167
|
+
...
|
|
2168
|
+
|
|
2169
|
+
def schema_name(self) -> str | None:
|
|
2170
|
+
"""The name of the schema for the channel."""
|
|
2171
|
+
...
|
|
2172
|
+
|
|
2173
|
+
def has_sinks(self) -> bool:
|
|
2174
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
2175
|
+
...
|
|
2176
|
+
|
|
2177
|
+
def close(self) -> None:
|
|
2178
|
+
"""Close the channel."""
|
|
2179
|
+
...
|
|
2180
|
+
|
|
2181
|
+
def log(
|
|
2182
|
+
self,
|
|
2183
|
+
message: "SceneEntity",
|
|
2184
|
+
*,
|
|
2185
|
+
log_time: int | None = None,
|
|
2186
|
+
sink_id: int | None = None,
|
|
2187
|
+
) -> None:
|
|
2188
|
+
"""Log a Foxglove SceneEntity message on the channel."""
|
|
2189
|
+
...
|
|
2190
|
+
|
|
2191
|
+
class SceneEntityDeletionChannel:
|
|
2192
|
+
"""
|
|
2193
|
+
A channel for logging SceneEntityDeletion messages
|
|
2194
|
+
|
|
2195
|
+
You should choose a unique topic name per channel.
|
|
2196
|
+
"""
|
|
2197
|
+
|
|
2198
|
+
def __init__(
|
|
2199
|
+
self,
|
|
2200
|
+
topic: str,
|
|
2201
|
+
*,
|
|
2202
|
+
metadata: dict[str, str] | None = None,
|
|
2203
|
+
context: Context | None = None,
|
|
2204
|
+
) -> None: ...
|
|
2205
|
+
def id(self) -> int:
|
|
2206
|
+
"""The unique ID of the channel."""
|
|
2207
|
+
...
|
|
2208
|
+
|
|
2209
|
+
def topic(self) -> str:
|
|
2210
|
+
"""The topic name of the channel."""
|
|
2211
|
+
...
|
|
2212
|
+
|
|
2213
|
+
@property
|
|
2214
|
+
def message_encoding(self) -> str:
|
|
2215
|
+
"""The message encoding for the channel"""
|
|
2216
|
+
...
|
|
2217
|
+
|
|
2218
|
+
def metadata(self) -> dict[str, str]:
|
|
2219
|
+
"""
|
|
2220
|
+
Returns a copy of the channel's metadata.
|
|
2221
|
+
|
|
2222
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
2223
|
+
the channel's metadata.
|
|
2224
|
+
"""
|
|
2225
|
+
...
|
|
2226
|
+
|
|
2227
|
+
def schema(self) -> Schema | None:
|
|
2228
|
+
"""
|
|
2229
|
+
Returns a copy of the channel's schema.
|
|
2230
|
+
|
|
2231
|
+
Note that changes made to the returned object will not be applied to
|
|
2232
|
+
the channel's schema.
|
|
2233
|
+
"""
|
|
2234
|
+
...
|
|
2235
|
+
|
|
2236
|
+
def schema_name(self) -> str | None:
|
|
2237
|
+
"""The name of the schema for the channel."""
|
|
2238
|
+
...
|
|
2239
|
+
|
|
2240
|
+
def has_sinks(self) -> bool:
|
|
2241
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
2242
|
+
...
|
|
2243
|
+
|
|
2244
|
+
def close(self) -> None:
|
|
2245
|
+
"""Close the channel."""
|
|
2246
|
+
...
|
|
2247
|
+
|
|
2248
|
+
def log(
|
|
2249
|
+
self,
|
|
2250
|
+
message: "SceneEntityDeletion",
|
|
2251
|
+
*,
|
|
2252
|
+
log_time: int | None = None,
|
|
2253
|
+
sink_id: int | None = None,
|
|
2254
|
+
) -> None:
|
|
2255
|
+
"""Log a Foxglove SceneEntityDeletion message on the channel."""
|
|
2256
|
+
...
|
|
2257
|
+
|
|
2258
|
+
class SceneUpdateChannel:
|
|
2259
|
+
"""
|
|
2260
|
+
A channel for logging SceneUpdate messages
|
|
2261
|
+
|
|
2262
|
+
You should choose a unique topic name per channel.
|
|
2263
|
+
"""
|
|
2264
|
+
|
|
2265
|
+
def __init__(
|
|
2266
|
+
self,
|
|
2267
|
+
topic: str,
|
|
2268
|
+
*,
|
|
2269
|
+
metadata: dict[str, str] | None = None,
|
|
2270
|
+
context: Context | None = None,
|
|
2271
|
+
) -> None: ...
|
|
2272
|
+
def id(self) -> int:
|
|
2273
|
+
"""The unique ID of the channel."""
|
|
2274
|
+
...
|
|
2275
|
+
|
|
2276
|
+
def topic(self) -> str:
|
|
2277
|
+
"""The topic name of the channel."""
|
|
2278
|
+
...
|
|
2279
|
+
|
|
2280
|
+
@property
|
|
2281
|
+
def message_encoding(self) -> str:
|
|
2282
|
+
"""The message encoding for the channel"""
|
|
2283
|
+
...
|
|
2284
|
+
|
|
2285
|
+
def metadata(self) -> dict[str, str]:
|
|
2286
|
+
"""
|
|
2287
|
+
Returns a copy of the channel's metadata.
|
|
2288
|
+
|
|
2289
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
2290
|
+
the channel's metadata.
|
|
2291
|
+
"""
|
|
2292
|
+
...
|
|
2293
|
+
|
|
2294
|
+
def schema(self) -> Schema | None:
|
|
2295
|
+
"""
|
|
2296
|
+
Returns a copy of the channel's schema.
|
|
2297
|
+
|
|
2298
|
+
Note that changes made to the returned object will not be applied to
|
|
2299
|
+
the channel's schema.
|
|
2300
|
+
"""
|
|
2301
|
+
...
|
|
2302
|
+
|
|
2303
|
+
def schema_name(self) -> str | None:
|
|
2304
|
+
"""The name of the schema for the channel."""
|
|
2305
|
+
...
|
|
2306
|
+
|
|
2307
|
+
def has_sinks(self) -> bool:
|
|
2308
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
2309
|
+
...
|
|
2310
|
+
|
|
2311
|
+
def close(self) -> None:
|
|
2312
|
+
"""Close the channel."""
|
|
2313
|
+
...
|
|
2314
|
+
|
|
2315
|
+
def log(
|
|
2316
|
+
self,
|
|
2317
|
+
message: "SceneUpdate",
|
|
2318
|
+
*,
|
|
2319
|
+
log_time: int | None = None,
|
|
2320
|
+
sink_id: int | None = None,
|
|
2321
|
+
) -> None:
|
|
2322
|
+
"""Log a Foxglove SceneUpdate message on the channel."""
|
|
2323
|
+
...
|
|
2324
|
+
|
|
2325
|
+
class SpherePrimitiveChannel:
|
|
2326
|
+
"""
|
|
2327
|
+
A channel for logging SpherePrimitive messages
|
|
2328
|
+
|
|
2329
|
+
You should choose a unique topic name per channel.
|
|
2330
|
+
"""
|
|
2331
|
+
|
|
2332
|
+
def __init__(
|
|
2333
|
+
self,
|
|
2334
|
+
topic: str,
|
|
2335
|
+
*,
|
|
2336
|
+
metadata: dict[str, str] | None = None,
|
|
2337
|
+
context: Context | None = None,
|
|
2338
|
+
) -> None: ...
|
|
2339
|
+
def id(self) -> int:
|
|
2340
|
+
"""The unique ID of the channel."""
|
|
2341
|
+
...
|
|
2342
|
+
|
|
2343
|
+
def topic(self) -> str:
|
|
2344
|
+
"""The topic name of the channel."""
|
|
2345
|
+
...
|
|
2346
|
+
|
|
2347
|
+
@property
|
|
2348
|
+
def message_encoding(self) -> str:
|
|
2349
|
+
"""The message encoding for the channel"""
|
|
2350
|
+
...
|
|
2351
|
+
|
|
2352
|
+
def metadata(self) -> dict[str, str]:
|
|
2353
|
+
"""
|
|
2354
|
+
Returns a copy of the channel's metadata.
|
|
2355
|
+
|
|
2356
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
2357
|
+
the channel's metadata.
|
|
2358
|
+
"""
|
|
2359
|
+
...
|
|
2360
|
+
|
|
2361
|
+
def schema(self) -> Schema | None:
|
|
2362
|
+
"""
|
|
2363
|
+
Returns a copy of the channel's schema.
|
|
2364
|
+
|
|
2365
|
+
Note that changes made to the returned object will not be applied to
|
|
2366
|
+
the channel's schema.
|
|
2367
|
+
"""
|
|
2368
|
+
...
|
|
2369
|
+
|
|
2370
|
+
def schema_name(self) -> str | None:
|
|
2371
|
+
"""The name of the schema for the channel."""
|
|
2372
|
+
...
|
|
2373
|
+
|
|
2374
|
+
def has_sinks(self) -> bool:
|
|
2375
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
2376
|
+
...
|
|
2377
|
+
|
|
2378
|
+
def close(self) -> None:
|
|
2379
|
+
"""Close the channel."""
|
|
2380
|
+
...
|
|
2381
|
+
|
|
2382
|
+
def log(
|
|
2383
|
+
self,
|
|
2384
|
+
message: "SpherePrimitive",
|
|
2385
|
+
*,
|
|
2386
|
+
log_time: int | None = None,
|
|
2387
|
+
sink_id: int | None = None,
|
|
2388
|
+
) -> None:
|
|
2389
|
+
"""Log a Foxglove SpherePrimitive message on the channel."""
|
|
2390
|
+
...
|
|
2391
|
+
|
|
2392
|
+
class TextAnnotationChannel:
|
|
2393
|
+
"""
|
|
2394
|
+
A channel for logging TextAnnotation messages
|
|
2395
|
+
|
|
2396
|
+
You should choose a unique topic name per channel.
|
|
2397
|
+
"""
|
|
2398
|
+
|
|
2399
|
+
def __init__(
|
|
2400
|
+
self,
|
|
2401
|
+
topic: str,
|
|
2402
|
+
*,
|
|
2403
|
+
metadata: dict[str, str] | None = None,
|
|
2404
|
+
context: Context | None = None,
|
|
2405
|
+
) -> None: ...
|
|
2406
|
+
def id(self) -> int:
|
|
2407
|
+
"""The unique ID of the channel."""
|
|
2408
|
+
...
|
|
2409
|
+
|
|
2410
|
+
def topic(self) -> str:
|
|
2411
|
+
"""The topic name of the channel."""
|
|
2412
|
+
...
|
|
2413
|
+
|
|
2414
|
+
@property
|
|
2415
|
+
def message_encoding(self) -> str:
|
|
2416
|
+
"""The message encoding for the channel"""
|
|
2417
|
+
...
|
|
2418
|
+
|
|
2419
|
+
def metadata(self) -> dict[str, str]:
|
|
2420
|
+
"""
|
|
2421
|
+
Returns a copy of the channel's metadata.
|
|
2422
|
+
|
|
2423
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
2424
|
+
the channel's metadata.
|
|
2425
|
+
"""
|
|
2426
|
+
...
|
|
2427
|
+
|
|
2428
|
+
def schema(self) -> Schema | None:
|
|
2429
|
+
"""
|
|
2430
|
+
Returns a copy of the channel's schema.
|
|
2431
|
+
|
|
2432
|
+
Note that changes made to the returned object will not be applied to
|
|
2433
|
+
the channel's schema.
|
|
2434
|
+
"""
|
|
2435
|
+
...
|
|
2436
|
+
|
|
2437
|
+
def schema_name(self) -> str | None:
|
|
2438
|
+
"""The name of the schema for the channel."""
|
|
2439
|
+
...
|
|
2440
|
+
|
|
2441
|
+
def has_sinks(self) -> bool:
|
|
2442
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
2443
|
+
...
|
|
2444
|
+
|
|
2445
|
+
def close(self) -> None:
|
|
2446
|
+
"""Close the channel."""
|
|
2447
|
+
...
|
|
2448
|
+
|
|
2449
|
+
def log(
|
|
2450
|
+
self,
|
|
2451
|
+
message: "TextAnnotation",
|
|
2452
|
+
*,
|
|
2453
|
+
log_time: int | None = None,
|
|
2454
|
+
sink_id: int | None = None,
|
|
2455
|
+
) -> None:
|
|
2456
|
+
"""Log a Foxglove TextAnnotation message on the channel."""
|
|
2457
|
+
...
|
|
2458
|
+
|
|
2459
|
+
class TextPrimitiveChannel:
|
|
2460
|
+
"""
|
|
2461
|
+
A channel for logging TextPrimitive messages
|
|
2462
|
+
|
|
2463
|
+
You should choose a unique topic name per channel.
|
|
2464
|
+
"""
|
|
2465
|
+
|
|
2466
|
+
def __init__(
|
|
2467
|
+
self,
|
|
2468
|
+
topic: str,
|
|
2469
|
+
*,
|
|
2470
|
+
metadata: dict[str, str] | None = None,
|
|
2471
|
+
context: Context | None = None,
|
|
2472
|
+
) -> None: ...
|
|
2473
|
+
def id(self) -> int:
|
|
2474
|
+
"""The unique ID of the channel."""
|
|
2475
|
+
...
|
|
2476
|
+
|
|
2477
|
+
def topic(self) -> str:
|
|
2478
|
+
"""The topic name of the channel."""
|
|
2479
|
+
...
|
|
2480
|
+
|
|
2481
|
+
@property
|
|
2482
|
+
def message_encoding(self) -> str:
|
|
2483
|
+
"""The message encoding for the channel"""
|
|
2484
|
+
...
|
|
2485
|
+
|
|
2486
|
+
def metadata(self) -> dict[str, str]:
|
|
2487
|
+
"""
|
|
2488
|
+
Returns a copy of the channel's metadata.
|
|
2489
|
+
|
|
2490
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
2491
|
+
the channel's metadata.
|
|
2492
|
+
"""
|
|
2493
|
+
...
|
|
2494
|
+
|
|
2495
|
+
def schema(self) -> Schema | None:
|
|
2496
|
+
"""
|
|
2497
|
+
Returns a copy of the channel's schema.
|
|
2498
|
+
|
|
2499
|
+
Note that changes made to the returned object will not be applied to
|
|
2500
|
+
the channel's schema.
|
|
2501
|
+
"""
|
|
2502
|
+
...
|
|
2503
|
+
|
|
2504
|
+
def schema_name(self) -> str | None:
|
|
2505
|
+
"""The name of the schema for the channel."""
|
|
2506
|
+
...
|
|
2507
|
+
|
|
2508
|
+
def has_sinks(self) -> bool:
|
|
2509
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
2510
|
+
...
|
|
2511
|
+
|
|
2512
|
+
def close(self) -> None:
|
|
2513
|
+
"""Close the channel."""
|
|
2514
|
+
...
|
|
2515
|
+
|
|
2516
|
+
def log(
|
|
2517
|
+
self,
|
|
2518
|
+
message: "TextPrimitive",
|
|
2519
|
+
*,
|
|
2520
|
+
log_time: int | None = None,
|
|
2521
|
+
sink_id: int | None = None,
|
|
2522
|
+
) -> None:
|
|
2523
|
+
"""Log a Foxglove TextPrimitive message on the channel."""
|
|
2524
|
+
...
|
|
2525
|
+
|
|
2526
|
+
class TriangleListPrimitiveChannel:
|
|
2527
|
+
"""
|
|
2528
|
+
A channel for logging TriangleListPrimitive messages
|
|
2529
|
+
|
|
2530
|
+
You should choose a unique topic name per channel.
|
|
2531
|
+
"""
|
|
2532
|
+
|
|
2533
|
+
def __init__(
|
|
2534
|
+
self,
|
|
2535
|
+
topic: str,
|
|
2536
|
+
*,
|
|
2537
|
+
metadata: dict[str, str] | None = None,
|
|
2538
|
+
context: Context | None = None,
|
|
2539
|
+
) -> None: ...
|
|
2540
|
+
def id(self) -> int:
|
|
2541
|
+
"""The unique ID of the channel."""
|
|
2542
|
+
...
|
|
2543
|
+
|
|
2544
|
+
def topic(self) -> str:
|
|
2545
|
+
"""The topic name of the channel."""
|
|
2546
|
+
...
|
|
2547
|
+
|
|
2548
|
+
@property
|
|
2549
|
+
def message_encoding(self) -> str:
|
|
2550
|
+
"""The message encoding for the channel"""
|
|
2551
|
+
...
|
|
2552
|
+
|
|
2553
|
+
def metadata(self) -> dict[str, str]:
|
|
2554
|
+
"""
|
|
2555
|
+
Returns a copy of the channel's metadata.
|
|
2556
|
+
|
|
2557
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
2558
|
+
the channel's metadata.
|
|
2559
|
+
"""
|
|
2560
|
+
...
|
|
2561
|
+
|
|
2562
|
+
def schema(self) -> Schema | None:
|
|
2563
|
+
"""
|
|
2564
|
+
Returns a copy of the channel's schema.
|
|
2565
|
+
|
|
2566
|
+
Note that changes made to the returned object will not be applied to
|
|
2567
|
+
the channel's schema.
|
|
2568
|
+
"""
|
|
2569
|
+
...
|
|
2570
|
+
|
|
2571
|
+
def schema_name(self) -> str | None:
|
|
2572
|
+
"""The name of the schema for the channel."""
|
|
2573
|
+
...
|
|
2574
|
+
|
|
2575
|
+
def has_sinks(self) -> bool:
|
|
2576
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
2577
|
+
...
|
|
2578
|
+
|
|
2579
|
+
def close(self) -> None:
|
|
2580
|
+
"""Close the channel."""
|
|
2581
|
+
...
|
|
2582
|
+
|
|
2583
|
+
def log(
|
|
2584
|
+
self,
|
|
2585
|
+
message: "TriangleListPrimitive",
|
|
2586
|
+
*,
|
|
2587
|
+
log_time: int | None = None,
|
|
2588
|
+
sink_id: int | None = None,
|
|
2589
|
+
) -> None:
|
|
2590
|
+
"""Log a Foxglove TriangleListPrimitive message on the channel."""
|
|
2591
|
+
...
|
|
2592
|
+
|
|
2593
|
+
class Vector2Channel:
|
|
2594
|
+
"""
|
|
2595
|
+
A channel for logging Vector2 messages
|
|
2596
|
+
|
|
2597
|
+
You should choose a unique topic name per channel.
|
|
2598
|
+
"""
|
|
2599
|
+
|
|
2600
|
+
def __init__(
|
|
2601
|
+
self,
|
|
2602
|
+
topic: str,
|
|
2603
|
+
*,
|
|
2604
|
+
metadata: dict[str, str] | None = None,
|
|
2605
|
+
context: Context | None = None,
|
|
2606
|
+
) -> None: ...
|
|
2607
|
+
def id(self) -> int:
|
|
2608
|
+
"""The unique ID of the channel."""
|
|
2609
|
+
...
|
|
2610
|
+
|
|
2611
|
+
def topic(self) -> str:
|
|
2612
|
+
"""The topic name of the channel."""
|
|
2613
|
+
...
|
|
2614
|
+
|
|
2615
|
+
@property
|
|
2616
|
+
def message_encoding(self) -> str:
|
|
2617
|
+
"""The message encoding for the channel"""
|
|
2618
|
+
...
|
|
2619
|
+
|
|
2620
|
+
def metadata(self) -> dict[str, str]:
|
|
2621
|
+
"""
|
|
2622
|
+
Returns a copy of the channel's metadata.
|
|
2623
|
+
|
|
2624
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
2625
|
+
the channel's metadata.
|
|
2626
|
+
"""
|
|
2627
|
+
...
|
|
2628
|
+
|
|
2629
|
+
def schema(self) -> Schema | None:
|
|
2630
|
+
"""
|
|
2631
|
+
Returns a copy of the channel's schema.
|
|
2632
|
+
|
|
2633
|
+
Note that changes made to the returned object will not be applied to
|
|
2634
|
+
the channel's schema.
|
|
2635
|
+
"""
|
|
2636
|
+
...
|
|
2637
|
+
|
|
2638
|
+
def schema_name(self) -> str | None:
|
|
2639
|
+
"""The name of the schema for the channel."""
|
|
2640
|
+
...
|
|
2641
|
+
|
|
2642
|
+
def has_sinks(self) -> bool:
|
|
2643
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
2644
|
+
...
|
|
2645
|
+
|
|
2646
|
+
def close(self) -> None:
|
|
2647
|
+
"""Close the channel."""
|
|
2648
|
+
...
|
|
2649
|
+
|
|
2650
|
+
def log(
|
|
2651
|
+
self,
|
|
2652
|
+
message: "Vector2",
|
|
2653
|
+
*,
|
|
2654
|
+
log_time: int | None = None,
|
|
2655
|
+
sink_id: int | None = None,
|
|
2656
|
+
) -> None:
|
|
2657
|
+
"""Log a Foxglove Vector2 message on the channel."""
|
|
2658
|
+
...
|
|
2659
|
+
|
|
2660
|
+
class Vector3Channel:
|
|
2661
|
+
"""
|
|
2662
|
+
A channel for logging Vector3 messages
|
|
2663
|
+
|
|
2664
|
+
You should choose a unique topic name per channel.
|
|
2665
|
+
"""
|
|
2666
|
+
|
|
2667
|
+
def __init__(
|
|
2668
|
+
self,
|
|
2669
|
+
topic: str,
|
|
2670
|
+
*,
|
|
2671
|
+
metadata: dict[str, str] | None = None,
|
|
2672
|
+
context: Context | None = None,
|
|
2673
|
+
) -> None: ...
|
|
2674
|
+
def id(self) -> int:
|
|
2675
|
+
"""The unique ID of the channel."""
|
|
2676
|
+
...
|
|
2677
|
+
|
|
2678
|
+
def topic(self) -> str:
|
|
2679
|
+
"""The topic name of the channel."""
|
|
2680
|
+
...
|
|
2681
|
+
|
|
2682
|
+
@property
|
|
2683
|
+
def message_encoding(self) -> str:
|
|
2684
|
+
"""The message encoding for the channel"""
|
|
2685
|
+
...
|
|
2686
|
+
|
|
2687
|
+
def metadata(self) -> dict[str, str]:
|
|
2688
|
+
"""
|
|
2689
|
+
Returns a copy of the channel's metadata.
|
|
2690
|
+
|
|
2691
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
2692
|
+
the channel's metadata.
|
|
2693
|
+
"""
|
|
2694
|
+
...
|
|
2695
|
+
|
|
2696
|
+
def schema(self) -> Schema | None:
|
|
2697
|
+
"""
|
|
2698
|
+
Returns a copy of the channel's schema.
|
|
2699
|
+
|
|
2700
|
+
Note that changes made to the returned object will not be applied to
|
|
2701
|
+
the channel's schema.
|
|
2702
|
+
"""
|
|
2703
|
+
...
|
|
2704
|
+
|
|
2705
|
+
def schema_name(self) -> str | None:
|
|
2706
|
+
"""The name of the schema for the channel."""
|
|
2707
|
+
...
|
|
2708
|
+
|
|
2709
|
+
def has_sinks(self) -> bool:
|
|
2710
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
2711
|
+
...
|
|
2712
|
+
|
|
2713
|
+
def close(self) -> None:
|
|
2714
|
+
"""Close the channel."""
|
|
2715
|
+
...
|
|
2716
|
+
|
|
2717
|
+
def log(
|
|
2718
|
+
self,
|
|
2719
|
+
message: "Vector3",
|
|
2720
|
+
*,
|
|
2721
|
+
log_time: int | None = None,
|
|
2722
|
+
sink_id: int | None = None,
|
|
2723
|
+
) -> None:
|
|
2724
|
+
"""Log a Foxglove Vector3 message on the channel."""
|
|
2725
|
+
...
|
|
2726
|
+
|
|
2727
|
+
class VoxelGridChannel:
|
|
2728
|
+
"""
|
|
2729
|
+
A channel for logging VoxelGrid messages
|
|
2730
|
+
|
|
2731
|
+
You should choose a unique topic name per channel.
|
|
2732
|
+
"""
|
|
2733
|
+
|
|
2734
|
+
def __init__(
|
|
2735
|
+
self,
|
|
2736
|
+
topic: str,
|
|
2737
|
+
*,
|
|
2738
|
+
metadata: dict[str, str] | None = None,
|
|
2739
|
+
context: Context | None = None,
|
|
2740
|
+
) -> None: ...
|
|
2741
|
+
def id(self) -> int:
|
|
2742
|
+
"""The unique ID of the channel."""
|
|
2743
|
+
...
|
|
2744
|
+
|
|
2745
|
+
def topic(self) -> str:
|
|
2746
|
+
"""The topic name of the channel."""
|
|
2747
|
+
...
|
|
2748
|
+
|
|
2749
|
+
@property
|
|
2750
|
+
def message_encoding(self) -> str:
|
|
2751
|
+
"""The message encoding for the channel"""
|
|
2752
|
+
...
|
|
2753
|
+
|
|
2754
|
+
def metadata(self) -> dict[str, str]:
|
|
2755
|
+
"""
|
|
2756
|
+
Returns a copy of the channel's metadata.
|
|
2757
|
+
|
|
2758
|
+
Note that changes made to the returned dictionary will not be applied to
|
|
2759
|
+
the channel's metadata.
|
|
2760
|
+
"""
|
|
2761
|
+
...
|
|
2762
|
+
|
|
2763
|
+
def schema(self) -> Schema | None:
|
|
2764
|
+
"""
|
|
2765
|
+
Returns a copy of the channel's schema.
|
|
2766
|
+
|
|
2767
|
+
Note that changes made to the returned object will not be applied to
|
|
2768
|
+
the channel's schema.
|
|
2769
|
+
"""
|
|
2770
|
+
...
|
|
2771
|
+
|
|
2772
|
+
def schema_name(self) -> str | None:
|
|
2773
|
+
"""The name of the schema for the channel."""
|
|
2774
|
+
...
|
|
2775
|
+
|
|
2776
|
+
def has_sinks(self) -> bool:
|
|
2777
|
+
"""Returns true if at least one sink is subscribed to this channel"""
|
|
2778
|
+
...
|
|
2779
|
+
|
|
2780
|
+
def close(self) -> None:
|
|
2781
|
+
"""Close the channel."""
|
|
2782
|
+
...
|
|
2783
|
+
|
|
2784
|
+
def log(
|
|
2785
|
+
self,
|
|
2786
|
+
message: "VoxelGrid",
|
|
2787
|
+
*,
|
|
2788
|
+
log_time: int | None = None,
|
|
2789
|
+
sink_id: int | None = None,
|
|
2790
|
+
) -> None:
|
|
2791
|
+
"""Log a Foxglove VoxelGrid message on the channel."""
|
|
2792
|
+
...
|