foxglove-sdk 0.6.2__cp312-cp312-win32.whl → 0.16.6__cp312-cp312-win32.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.
@@ -1,666 +1,1037 @@
1
- # Generated by https://github.com/foxglove/foxglove-sdk
2
- from enum import Enum
3
- from typing import List, Optional, Union
4
-
5
- from .schemas_wkt import Duration as Duration
6
- from .schemas_wkt import Timestamp as Timestamp
7
-
8
- #
9
- # Enums
10
- #
11
-
12
- class LinePrimitiveLineType(Enum):
13
- """
14
- An enumeration indicating how input points should be interpreted to create lines
15
- """
16
-
17
- LineStrip = 0
18
- LineLoop = 1
19
- LineList = 2
20
-
21
- class LocationFixPositionCovarianceType(Enum):
22
- """
23
- Type of position covariance
24
- """
25
-
26
- Unknown = 0
27
- Approximated = 1
28
- DiagonalKnown = 2
29
- Known = 3
30
-
31
- class LogLevel(Enum):
32
- """
33
- Log level
34
- """
35
-
36
- Unknown = 0
37
- Debug = 1
38
- Info = 2
39
- Warning = 3
40
- Error = 4
41
- Fatal = 5
42
-
43
- class PackedElementFieldNumericType(Enum):
44
- """
45
- Numeric type
46
- """
47
-
48
- Unknown = 0
49
- Uint8 = 1
50
- Int8 = 2
51
- Uint16 = 3
52
- Int16 = 4
53
- Uint32 = 5
54
- Int32 = 6
55
- Float32 = 7
56
- Float64 = 8
57
-
58
- class PointsAnnotationType(Enum):
59
- """
60
- Type of points annotation
61
- """
62
-
63
- Unknown = 0
64
- Points = 1
65
- LineLoop = 2
66
- LineStrip = 3
67
- LineList = 4
68
-
69
- class SceneEntityDeletionType(Enum):
70
- """
71
- An enumeration indicating which entities should match a SceneEntityDeletion command
72
- """
73
-
74
- MatchingId = 0
75
- All = 1
76
-
77
- #
78
- # Classes
79
- #
80
-
81
- class ArrowPrimitive:
82
- """
83
- A primitive representing an arrow
84
- """
85
-
86
- def __new__(
87
- cls,
88
- *,
89
- pose: "Optional[Pose]" = None,
90
- shaft_length: "Optional[float]" = 0.0,
91
- shaft_diameter: "Optional[float]" = 0.0,
92
- head_length: "Optional[float]" = 0.0,
93
- head_diameter: "Optional[float]" = 0.0,
94
- color: "Optional[Color]" = None,
95
- ) -> "ArrowPrimitive": ...
96
-
97
- class CameraCalibration:
98
- """
99
- Camera calibration parameters
100
- """
101
-
102
- def __new__(
103
- cls,
104
- *,
105
- timestamp: "Optional[Timestamp]" = None,
106
- frame_id: "Optional[str]" = "",
107
- width: "Optional[int]" = 0,
108
- height: "Optional[int]" = 0,
109
- distortion_model: "Optional[str]" = "",
110
- D: "Optional[List[float]]" = [],
111
- K: "Optional[List[float]]" = [],
112
- R: "Optional[List[float]]" = [],
113
- P: "Optional[List[float]]" = [],
114
- ) -> "CameraCalibration": ...
115
-
116
- class CircleAnnotation:
117
- """
118
- A circle annotation on a 2D image
119
- """
120
-
121
- def __new__(
122
- cls,
123
- *,
124
- timestamp: "Optional[Timestamp]" = None,
125
- position: "Optional[Point2]" = None,
126
- diameter: "Optional[float]" = 0.0,
127
- thickness: "Optional[float]" = 0.0,
128
- fill_color: "Optional[Color]" = None,
129
- outline_color: "Optional[Color]" = None,
130
- ) -> "CircleAnnotation": ...
131
-
132
- class Color:
133
- """
134
- A color in RGBA format
135
- """
136
-
137
- def __new__(
138
- cls,
139
- *,
140
- r: "Optional[float]" = 0.0,
141
- g: "Optional[float]" = 0.0,
142
- b: "Optional[float]" = 0.0,
143
- a: "Optional[float]" = 0.0,
144
- ) -> "Color": ...
145
-
146
- class CompressedImage:
147
- """
148
- A compressed image
149
- """
150
-
151
- def __new__(
152
- cls,
153
- *,
154
- timestamp: "Optional[Timestamp]" = None,
155
- frame_id: "Optional[str]" = "",
156
- data: "Optional[bytes]" = b"",
157
- format: "Optional[str]" = "",
158
- ) -> "CompressedImage": ...
159
-
160
- class CompressedVideo:
161
- """
162
- A single frame of a compressed video bitstream
163
- """
164
-
165
- def __new__(
166
- cls,
167
- *,
168
- timestamp: "Optional[Timestamp]" = None,
169
- frame_id: "Optional[str]" = "",
170
- data: "Optional[bytes]" = b"",
171
- format: "Optional[str]" = "",
172
- ) -> "CompressedVideo": ...
173
-
174
- class CubePrimitive:
175
- """
176
- A primitive representing a cube or rectangular prism
177
- """
178
-
179
- def __new__(
180
- cls,
181
- *,
182
- pose: "Optional[Pose]" = None,
183
- size: "Optional[Vector3]" = None,
184
- color: "Optional[Color]" = None,
185
- ) -> "CubePrimitive": ...
186
-
187
- class CylinderPrimitive:
188
- """
189
- A primitive representing a cylinder, elliptic cylinder, or truncated cone
190
- """
191
-
192
- def __new__(
193
- cls,
194
- *,
195
- pose: "Optional[Pose]" = None,
196
- size: "Optional[Vector3]" = None,
197
- bottom_scale: "Optional[float]" = 0.0,
198
- top_scale: "Optional[float]" = 0.0,
199
- color: "Optional[Color]" = None,
200
- ) -> "CylinderPrimitive": ...
201
-
202
- class FrameTransform:
203
- """
204
- A transform between two reference frames in 3D space
205
- """
206
-
207
- def __new__(
208
- cls,
209
- *,
210
- timestamp: "Optional[Timestamp]" = None,
211
- parent_frame_id: "Optional[str]" = "",
212
- child_frame_id: "Optional[str]" = "",
213
- translation: "Optional[Vector3]" = None,
214
- rotation: "Optional[Quaternion]" = None,
215
- ) -> "FrameTransform": ...
216
-
217
- class FrameTransforms:
218
- """
219
- An array of FrameTransform messages
220
- """
221
-
222
- def __new__(
223
- cls, *, transforms: "Optional[List[FrameTransform]]" = []
224
- ) -> "FrameTransforms": ...
225
-
226
- class GeoJson:
227
- """
228
- GeoJSON data for annotating maps
229
- """
230
-
231
- def __new__(cls, *, geojson: "Optional[str]" = "") -> "GeoJson": ...
232
-
233
- class Grid:
234
- """
235
- A 2D grid of data
236
- """
237
-
238
- def __new__(
239
- cls,
240
- *,
241
- timestamp: "Optional[Timestamp]" = None,
242
- frame_id: "Optional[str]" = "",
243
- pose: "Optional[Pose]" = None,
244
- column_count: "Optional[int]" = 0,
245
- cell_size: "Optional[Vector2]" = None,
246
- row_stride: "Optional[int]" = 0,
247
- cell_stride: "Optional[int]" = 0,
248
- fields: "Optional[List[PackedElementField]]" = [],
249
- data: "Optional[bytes]" = b"",
250
- ) -> "Grid": ...
251
-
252
- class ImageAnnotations:
253
- """
254
- Array of annotations for a 2D image
255
- """
256
-
257
- def __new__(
258
- cls,
259
- *,
260
- circles: "Optional[List[CircleAnnotation]]" = [],
261
- points: "Optional[List[PointsAnnotation]]" = [],
262
- texts: "Optional[List[TextAnnotation]]" = [],
263
- ) -> "ImageAnnotations": ...
264
-
265
- class KeyValuePair:
266
- """
267
- A key with its associated value
268
- """
269
-
270
- def __new__(
271
- cls, *, key: "Optional[str]" = "", value: "Optional[str]" = ""
272
- ) -> "KeyValuePair": ...
273
-
274
- class LaserScan:
275
- """
276
- A single scan from a planar laser range-finder
277
- """
278
-
279
- def __new__(
280
- cls,
281
- *,
282
- timestamp: "Optional[Timestamp]" = None,
283
- frame_id: "Optional[str]" = "",
284
- pose: "Optional[Pose]" = None,
285
- start_angle: "Optional[float]" = 0.0,
286
- end_angle: "Optional[float]" = 0.0,
287
- ranges: "Optional[List[float]]" = [],
288
- intensities: "Optional[List[float]]" = [],
289
- ) -> "LaserScan": ...
290
-
291
- class LinePrimitive:
292
- """
293
- A primitive representing a series of points connected by lines
294
- """
295
-
296
- def __new__(
297
- cls,
298
- *,
299
- type: "Optional[LinePrimitiveLineType]" = LinePrimitiveLineType.LineStrip,
300
- pose: "Optional[Pose]" = None,
301
- thickness: "Optional[float]" = 0.0,
302
- scale_invariant: "Optional[bool]" = False,
303
- points: "Optional[List[Point3]]" = [],
304
- color: "Optional[Color]" = None,
305
- colors: "Optional[List[Color]]" = [],
306
- indices: "Optional[List[int]]" = [],
307
- ) -> "LinePrimitive": ...
308
-
309
- class LocationFix:
310
- """
311
- A navigation satellite fix for any Global Navigation Satellite System
312
- """
313
-
314
- def __new__(
315
- cls,
316
- *,
317
- timestamp: "Optional[Timestamp]" = None,
318
- frame_id: "Optional[str]" = "",
319
- latitude: "Optional[float]" = 0.0,
320
- longitude: "Optional[float]" = 0.0,
321
- altitude: "Optional[float]" = 0.0,
322
- position_covariance: "Optional[List[float]]" = [],
323
- position_covariance_type: "Optional[LocationFixPositionCovarianceType]" = LocationFixPositionCovarianceType.Unknown,
324
- ) -> "LocationFix": ...
325
-
326
- class Log:
327
- """
328
- A log message
329
- """
330
-
331
- def __new__(
332
- cls,
333
- *,
334
- timestamp: "Optional[Timestamp]" = None,
335
- level: "Optional[LogLevel]" = LogLevel.Unknown,
336
- message: "Optional[str]" = "",
337
- name: "Optional[str]" = "",
338
- file: "Optional[str]" = "",
339
- line: "Optional[int]" = 0,
340
- ) -> "Log": ...
341
-
342
- class ModelPrimitive:
343
- """
344
- A primitive representing a 3D model file loaded from an external URL or embedded data
345
- """
346
-
347
- def __new__(
348
- cls,
349
- *,
350
- pose: "Optional[Pose]" = None,
351
- scale: "Optional[Vector3]" = None,
352
- color: "Optional[Color]" = None,
353
- override_color: "Optional[bool]" = False,
354
- url: "Optional[str]" = "",
355
- media_type: "Optional[str]" = "",
356
- data: "Optional[bytes]" = b"",
357
- ) -> "ModelPrimitive": ...
358
-
359
- class PackedElementField:
360
- """
361
- A field present within each element in a byte array of packed elements.
362
- """
363
-
364
- def __new__(
365
- cls,
366
- *,
367
- name: "Optional[str]" = "",
368
- offset: "Optional[int]" = 0,
369
- type: "Optional[PackedElementFieldNumericType]" = PackedElementFieldNumericType.Unknown,
370
- ) -> "PackedElementField": ...
371
-
372
- class Point2:
373
- """
374
- A point representing a position in 2D space
375
- """
376
-
377
- def __new__(
378
- cls, *, x: "Optional[float]" = 0.0, y: "Optional[float]" = 0.0
379
- ) -> "Point2": ...
380
-
381
- class Point3:
382
- """
383
- A point representing a position in 3D space
384
- """
385
-
386
- def __new__(
387
- cls,
388
- *,
389
- x: "Optional[float]" = 0.0,
390
- y: "Optional[float]" = 0.0,
391
- z: "Optional[float]" = 0.0,
392
- ) -> "Point3": ...
393
-
394
- class PointCloud:
395
- """
396
- A collection of N-dimensional points, which may contain additional fields with information like normals, intensity, etc.
397
- """
398
-
399
- def __new__(
400
- cls,
401
- *,
402
- timestamp: "Optional[Timestamp]" = None,
403
- frame_id: "Optional[str]" = "",
404
- pose: "Optional[Pose]" = None,
405
- point_stride: "Optional[int]" = 0,
406
- fields: "Optional[List[PackedElementField]]" = [],
407
- data: "Optional[bytes]" = b"",
408
- ) -> "PointCloud": ...
409
-
410
- class PointsAnnotation:
411
- """
412
- An array of points on a 2D image
413
- """
414
-
415
- def __new__(
416
- cls,
417
- *,
418
- timestamp: "Optional[Timestamp]" = None,
419
- type: "Optional[PointsAnnotationType]" = PointsAnnotationType.Unknown,
420
- points: "Optional[List[Point2]]" = [],
421
- outline_color: "Optional[Color]" = None,
422
- outline_colors: "Optional[List[Color]]" = [],
423
- fill_color: "Optional[Color]" = None,
424
- thickness: "Optional[float]" = 0.0,
425
- ) -> "PointsAnnotation": ...
426
-
427
- class Pose:
428
- """
429
- A position and orientation for an object or reference frame in 3D space
430
- """
431
-
432
- def __new__(
433
- cls,
434
- *,
435
- position: "Optional[Vector3]" = None,
436
- orientation: "Optional[Quaternion]" = None,
437
- ) -> "Pose": ...
438
-
439
- class PoseInFrame:
440
- """
441
- A timestamped pose for an object or reference frame in 3D space
442
- """
443
-
444
- def __new__(
445
- cls,
446
- *,
447
- timestamp: "Optional[Timestamp]" = None,
448
- frame_id: "Optional[str]" = "",
449
- pose: "Optional[Pose]" = None,
450
- ) -> "PoseInFrame": ...
451
-
452
- class PosesInFrame:
453
- """
454
- An array of timestamped poses for an object or reference frame in 3D space
455
- """
456
-
457
- def __new__(
458
- cls,
459
- *,
460
- timestamp: "Optional[Timestamp]" = None,
461
- frame_id: "Optional[str]" = "",
462
- poses: "Optional[List[Pose]]" = [],
463
- ) -> "PosesInFrame": ...
464
-
465
- class Quaternion:
466
- """
467
- A [quaternion](https://eater.net/quaternions) representing a rotation in 3D space
468
- """
469
-
470
- def __new__(
471
- cls,
472
- *,
473
- x: "Optional[float]" = 0.0,
474
- y: "Optional[float]" = 0.0,
475
- z: "Optional[float]" = 0.0,
476
- w: "Optional[float]" = 0.0,
477
- ) -> "Quaternion": ...
478
-
479
- class RawImage:
480
- """
481
- A raw image
482
- """
483
-
484
- def __new__(
485
- cls,
486
- *,
487
- timestamp: "Optional[Timestamp]" = None,
488
- frame_id: "Optional[str]" = "",
489
- width: "Optional[int]" = 0,
490
- height: "Optional[int]" = 0,
491
- encoding: "Optional[str]" = "",
492
- step: "Optional[int]" = 0,
493
- data: "Optional[bytes]" = b"",
494
- ) -> "RawImage": ...
495
-
496
- class SceneEntity:
497
- """
498
- A visual element in a 3D scene. An entity may be composed of multiple primitives which all share the same frame of reference.
499
- """
500
-
501
- def __new__(
502
- cls,
503
- *,
504
- timestamp: "Optional[Timestamp]" = None,
505
- frame_id: "Optional[str]" = "",
506
- id: "Optional[str]" = "",
507
- lifetime: "Optional[Duration]" = None,
508
- frame_locked: "Optional[bool]" = False,
509
- metadata: "Optional[List[KeyValuePair]]" = [],
510
- arrows: "Optional[List[ArrowPrimitive]]" = [],
511
- cubes: "Optional[List[CubePrimitive]]" = [],
512
- spheres: "Optional[List[SpherePrimitive]]" = [],
513
- cylinders: "Optional[List[CylinderPrimitive]]" = [],
514
- lines: "Optional[List[LinePrimitive]]" = [],
515
- triangles: "Optional[List[TriangleListPrimitive]]" = [],
516
- texts: "Optional[List[TextPrimitive]]" = [],
517
- models: "Optional[List[ModelPrimitive]]" = [],
518
- ) -> "SceneEntity": ...
519
-
520
- class SceneEntityDeletion:
521
- """
522
- Command to remove previously published entities
523
- """
524
-
525
- def __new__(
526
- cls,
527
- *,
528
- timestamp: "Optional[Timestamp]" = None,
529
- type: "Optional[SceneEntityDeletionType]" = SceneEntityDeletionType.MatchingId,
530
- id: "Optional[str]" = "",
531
- ) -> "SceneEntityDeletion": ...
532
-
533
- class SceneUpdate:
534
- """
535
- An update to the entities displayed in a 3D scene
536
- """
537
-
538
- def __new__(
539
- cls,
540
- *,
541
- deletions: "Optional[List[SceneEntityDeletion]]" = [],
542
- entities: "Optional[List[SceneEntity]]" = [],
543
- ) -> "SceneUpdate": ...
544
-
545
- class SpherePrimitive:
546
- """
547
- A primitive representing a sphere or ellipsoid
548
- """
549
-
550
- def __new__(
551
- cls,
552
- *,
553
- pose: "Optional[Pose]" = None,
554
- size: "Optional[Vector3]" = None,
555
- color: "Optional[Color]" = None,
556
- ) -> "SpherePrimitive": ...
557
-
558
- class TextAnnotation:
559
- """
560
- A text label on a 2D image
561
- """
562
-
563
- def __new__(
564
- cls,
565
- *,
566
- timestamp: "Optional[Timestamp]" = None,
567
- position: "Optional[Point2]" = None,
568
- text: "Optional[str]" = "",
569
- font_size: "Optional[float]" = 0.0,
570
- text_color: "Optional[Color]" = None,
571
- background_color: "Optional[Color]" = None,
572
- ) -> "TextAnnotation": ...
573
-
574
- class TextPrimitive:
575
- """
576
- A primitive representing a text label
577
- """
578
-
579
- def __new__(
580
- cls,
581
- *,
582
- pose: "Optional[Pose]" = None,
583
- billboard: "Optional[bool]" = False,
584
- font_size: "Optional[float]" = 0.0,
585
- scale_invariant: "Optional[bool]" = False,
586
- color: "Optional[Color]" = None,
587
- text: "Optional[str]" = "",
588
- ) -> "TextPrimitive": ...
589
-
590
- class TriangleListPrimitive:
591
- """
592
- A primitive representing a set of triangles or a surface tiled by triangles
593
- """
594
-
595
- def __new__(
596
- cls,
597
- *,
598
- pose: "Optional[Pose]" = None,
599
- points: "Optional[List[Point3]]" = [],
600
- color: "Optional[Color]" = None,
601
- colors: "Optional[List[Color]]" = [],
602
- indices: "Optional[List[int]]" = [],
603
- ) -> "TriangleListPrimitive": ...
604
-
605
- class Vector2:
606
- """
607
- A vector in 2D space that represents a direction only
608
- """
609
-
610
- def __new__(
611
- cls, *, x: "Optional[float]" = 0.0, y: "Optional[float]" = 0.0
612
- ) -> "Vector2": ...
613
-
614
- class Vector3:
615
- """
616
- A vector in 3D space that represents a direction only
617
- """
618
-
619
- def __new__(
620
- cls,
621
- *,
622
- x: "Optional[float]" = 0.0,
623
- y: "Optional[float]" = 0.0,
624
- z: "Optional[float]" = 0.0,
625
- ) -> "Vector3": ...
626
-
627
- FoxgloveSchema = Union[
628
- ArrowPrimitive,
629
- CameraCalibration,
630
- CircleAnnotation,
631
- Color,
632
- CompressedImage,
633
- CompressedVideo,
634
- CylinderPrimitive,
635
- CubePrimitive,
636
- FrameTransform,
637
- FrameTransforms,
638
- GeoJson,
639
- Grid,
640
- ImageAnnotations,
641
- KeyValuePair,
642
- LaserScan,
643
- LinePrimitive,
644
- LocationFix,
645
- Log,
646
- SceneEntityDeletion,
647
- SceneEntity,
648
- SceneUpdate,
649
- ModelPrimitive,
650
- PackedElementField,
651
- Point2,
652
- Point3,
653
- PointCloud,
654
- PointsAnnotation,
655
- Pose,
656
- PoseInFrame,
657
- PosesInFrame,
658
- Quaternion,
659
- RawImage,
660
- SpherePrimitive,
661
- TextAnnotation,
662
- TextPrimitive,
663
- TriangleListPrimitive,
664
- Vector2,
665
- Vector3,
666
- ]
1
+ # Generated by https://github.com/foxglove/foxglove-sdk
2
+ from enum import Enum
3
+ from typing import Union
4
+
5
+ from . import Schema
6
+ from .schemas_wkt import Duration as Duration
7
+ from .schemas_wkt import Timestamp as Timestamp
8
+
9
+ #
10
+ # Enums
11
+ #
12
+
13
+ class LinePrimitiveLineType(Enum):
14
+ """
15
+ An enumeration indicating how input points should be interpreted to create lines
16
+ """
17
+
18
+ LineStrip = 0
19
+ LineLoop = 1
20
+ LineList = 2
21
+
22
+ class LocationFixPositionCovarianceType(Enum):
23
+ """
24
+ Type of position covariance
25
+ """
26
+
27
+ Unknown = 0
28
+ Approximated = 1
29
+ DiagonalKnown = 2
30
+ Known = 3
31
+
32
+ class LogLevel(Enum):
33
+ """
34
+ Log level
35
+ """
36
+
37
+ Unknown = 0
38
+ Debug = 1
39
+ Info = 2
40
+ Warning = 3
41
+ Error = 4
42
+ Fatal = 5
43
+
44
+ class PackedElementFieldNumericType(Enum):
45
+ """
46
+ Numeric type
47
+ """
48
+
49
+ Unknown = 0
50
+ Uint8 = 1
51
+ Int8 = 2
52
+ Uint16 = 3
53
+ Int16 = 4
54
+ Uint32 = 5
55
+ Int32 = 6
56
+ Float32 = 7
57
+ Float64 = 8
58
+
59
+ class PointsAnnotationType(Enum):
60
+ """
61
+ Type of points annotation
62
+ """
63
+
64
+ Unknown = 0
65
+ Points = 1
66
+ LineLoop = 2
67
+ LineStrip = 3
68
+ LineList = 4
69
+
70
+ class SceneEntityDeletionType(Enum):
71
+ """
72
+ An enumeration indicating which entities should match a SceneEntityDeletion command
73
+ """
74
+
75
+ MatchingId = 0
76
+ All = 1
77
+
78
+ #
79
+ # Classes
80
+ #
81
+
82
+ class ArrowPrimitive:
83
+ """
84
+ A primitive representing an arrow
85
+ """
86
+
87
+ def __init__(
88
+ self,
89
+ *,
90
+ pose: Pose | None = None,
91
+ shaft_length: float = 0.0,
92
+ shaft_diameter: float = 0.0,
93
+ head_length: float = 0.0,
94
+ head_diameter: float = 0.0,
95
+ color: Color | None = None,
96
+ ) -> None: ...
97
+ @staticmethod
98
+ def get_schema() -> Schema:
99
+ """Returns the ArrowPrimitive schema"""
100
+ ...
101
+
102
+ def encode(self) -> bytes:
103
+ """Encodes the ArrowPrimitive."""
104
+ ...
105
+
106
+ class CameraCalibration:
107
+ """
108
+ Camera calibration parameters
109
+ """
110
+
111
+ def __init__(
112
+ self,
113
+ *,
114
+ timestamp: Timestamp | None = None,
115
+ frame_id: str = "",
116
+ width: int = 0,
117
+ height: int = 0,
118
+ distortion_model: str = "",
119
+ D: list[float] | None = None,
120
+ K: list[float] | None = None,
121
+ R: list[float] | None = None,
122
+ P: list[float] | None = None,
123
+ ) -> None: ...
124
+ @staticmethod
125
+ def get_schema() -> Schema:
126
+ """Returns the CameraCalibration schema"""
127
+ ...
128
+
129
+ def encode(self) -> bytes:
130
+ """Encodes the CameraCalibration."""
131
+ ...
132
+
133
+ class CircleAnnotation:
134
+ """
135
+ A circle annotation on a 2D image
136
+ """
137
+
138
+ def __init__(
139
+ self,
140
+ *,
141
+ timestamp: Timestamp | None = None,
142
+ position: Point2 | None = None,
143
+ diameter: float = 0.0,
144
+ thickness: float = 0.0,
145
+ fill_color: Color | None = None,
146
+ outline_color: Color | None = None,
147
+ ) -> None: ...
148
+ @staticmethod
149
+ def get_schema() -> Schema:
150
+ """Returns the CircleAnnotation schema"""
151
+ ...
152
+
153
+ def encode(self) -> bytes:
154
+ """Encodes the CircleAnnotation."""
155
+ ...
156
+
157
+ class Color:
158
+ """
159
+ A color in RGBA format
160
+ """
161
+
162
+ def __init__(
163
+ self, *, r: float = 0.0, g: float = 0.0, b: float = 0.0, a: float = 0.0
164
+ ) -> None: ...
165
+ @staticmethod
166
+ def get_schema() -> Schema:
167
+ """Returns the Color schema"""
168
+ ...
169
+
170
+ def encode(self) -> bytes:
171
+ """Encodes the Color."""
172
+ ...
173
+
174
+ class CompressedImage:
175
+ """
176
+ A compressed image
177
+ """
178
+
179
+ def __init__(
180
+ self,
181
+ *,
182
+ timestamp: Timestamp | None = None,
183
+ frame_id: str = "",
184
+ data: bytes = b"",
185
+ format: str = "",
186
+ ) -> None: ...
187
+ @staticmethod
188
+ def get_schema() -> Schema:
189
+ """Returns the CompressedImage schema"""
190
+ ...
191
+
192
+ def encode(self) -> bytes:
193
+ """Encodes the CompressedImage."""
194
+ ...
195
+
196
+ class CompressedVideo:
197
+ """
198
+ A single frame of a compressed video bitstream
199
+ """
200
+
201
+ def __init__(
202
+ self,
203
+ *,
204
+ timestamp: Timestamp | None = None,
205
+ frame_id: str = "",
206
+ data: bytes = b"",
207
+ format: str = "",
208
+ ) -> None: ...
209
+ @staticmethod
210
+ def get_schema() -> Schema:
211
+ """Returns the CompressedVideo schema"""
212
+ ...
213
+
214
+ def encode(self) -> bytes:
215
+ """Encodes the CompressedVideo."""
216
+ ...
217
+
218
+ class CubePrimitive:
219
+ """
220
+ A primitive representing a cube or rectangular prism
221
+ """
222
+
223
+ def __init__(
224
+ self,
225
+ *,
226
+ pose: Pose | None = None,
227
+ size: Vector3 | None = None,
228
+ color: Color | None = None,
229
+ ) -> None: ...
230
+ @staticmethod
231
+ def get_schema() -> Schema:
232
+ """Returns the CubePrimitive schema"""
233
+ ...
234
+
235
+ def encode(self) -> bytes:
236
+ """Encodes the CubePrimitive."""
237
+ ...
238
+
239
+ class CylinderPrimitive:
240
+ """
241
+ A primitive representing a cylinder, elliptic cylinder, or truncated cone
242
+ """
243
+
244
+ def __init__(
245
+ self,
246
+ *,
247
+ pose: Pose | None = None,
248
+ size: Vector3 | None = None,
249
+ bottom_scale: float = 0.0,
250
+ top_scale: float = 0.0,
251
+ color: Color | None = None,
252
+ ) -> None: ...
253
+ @staticmethod
254
+ def get_schema() -> Schema:
255
+ """Returns the CylinderPrimitive schema"""
256
+ ...
257
+
258
+ def encode(self) -> bytes:
259
+ """Encodes the CylinderPrimitive."""
260
+ ...
261
+
262
+ class FrameTransform:
263
+ """
264
+ A transform between two reference frames in 3D space. The transform defines the position and orientation of a child frame within a parent frame. Translation moves the origin of the child frame relative to the parent origin. The rotation changes the orientiation of the child frame around its origin.
265
+
266
+ Examples:
267
+
268
+ - With translation (x=1, y=0, z=0) and identity rotation (x=0, y=0, z=0, w=1), a point at (x=0, y=0, z=0) in the child frame maps to (x=1, y=0, z=0) in the parent frame.
269
+
270
+ - With translation (x=1, y=2, z=0) and a 90-degree rotation around the z-axis (x=0, y=0, z=0.707, w=0.707), a point at (x=1, y=0, z=0) in the child frame maps to (x=-1, y=3, z=0) in the parent frame.
271
+ """
272
+
273
+ def __init__(
274
+ self,
275
+ *,
276
+ timestamp: Timestamp | None = None,
277
+ parent_frame_id: str = "",
278
+ child_frame_id: str = "",
279
+ translation: Vector3 | None = None,
280
+ rotation: Quaternion | None = None,
281
+ ) -> None: ...
282
+ @staticmethod
283
+ def get_schema() -> Schema:
284
+ """Returns the FrameTransform schema"""
285
+ ...
286
+
287
+ def encode(self) -> bytes:
288
+ """Encodes the FrameTransform."""
289
+ ...
290
+
291
+ class FrameTransforms:
292
+ """
293
+ An array of FrameTransform messages
294
+ """
295
+
296
+ def __init__(self, *, transforms: list[FrameTransform] | None = None) -> None: ...
297
+ @staticmethod
298
+ def get_schema() -> Schema:
299
+ """Returns the FrameTransforms schema"""
300
+ ...
301
+
302
+ def encode(self) -> bytes:
303
+ """Encodes the FrameTransforms."""
304
+ ...
305
+
306
+ class GeoJson:
307
+ """
308
+ GeoJSON data for annotating maps
309
+ """
310
+
311
+ def __init__(self, *, geojson: str = "") -> None: ...
312
+ @staticmethod
313
+ def get_schema() -> Schema:
314
+ """Returns the GeoJson schema"""
315
+ ...
316
+
317
+ def encode(self) -> bytes:
318
+ """Encodes the GeoJson."""
319
+ ...
320
+
321
+ class Grid:
322
+ """
323
+ A 2D grid of data
324
+ """
325
+
326
+ def __init__(
327
+ self,
328
+ *,
329
+ timestamp: Timestamp | None = None,
330
+ frame_id: str = "",
331
+ pose: Pose | None = None,
332
+ column_count: int = 0,
333
+ cell_size: Vector2 | None = None,
334
+ row_stride: int = 0,
335
+ cell_stride: int = 0,
336
+ fields: list[PackedElementField] | None = None,
337
+ data: bytes = b"",
338
+ ) -> None: ...
339
+ @staticmethod
340
+ def get_schema() -> Schema:
341
+ """Returns the Grid schema"""
342
+ ...
343
+
344
+ def encode(self) -> bytes:
345
+ """Encodes the Grid."""
346
+ ...
347
+
348
+ class ImageAnnotations:
349
+ """
350
+ Array of annotations for a 2D image
351
+ """
352
+
353
+ def __init__(
354
+ self,
355
+ *,
356
+ circles: list[CircleAnnotation] | None = None,
357
+ points: list[PointsAnnotation] | None = None,
358
+ texts: list[TextAnnotation] | None = None,
359
+ ) -> None: ...
360
+ @staticmethod
361
+ def get_schema() -> Schema:
362
+ """Returns the ImageAnnotations schema"""
363
+ ...
364
+
365
+ def encode(self) -> bytes:
366
+ """Encodes the ImageAnnotations."""
367
+ ...
368
+
369
+ class KeyValuePair:
370
+ """
371
+ A key with its associated value
372
+ """
373
+
374
+ def __init__(self, *, key: str = "", value: str = "") -> None: ...
375
+ @staticmethod
376
+ def get_schema() -> Schema:
377
+ """Returns the KeyValuePair schema"""
378
+ ...
379
+
380
+ def encode(self) -> bytes:
381
+ """Encodes the KeyValuePair."""
382
+ ...
383
+
384
+ class LaserScan:
385
+ """
386
+ A single scan from a planar laser range-finder
387
+ """
388
+
389
+ def __init__(
390
+ self,
391
+ *,
392
+ timestamp: Timestamp | None = None,
393
+ frame_id: str = "",
394
+ pose: Pose | None = None,
395
+ start_angle: float = 0.0,
396
+ end_angle: float = 0.0,
397
+ ranges: list[float] | None = None,
398
+ intensities: list[float] | None = None,
399
+ ) -> None: ...
400
+ @staticmethod
401
+ def get_schema() -> Schema:
402
+ """Returns the LaserScan schema"""
403
+ ...
404
+
405
+ def encode(self) -> bytes:
406
+ """Encodes the LaserScan."""
407
+ ...
408
+
409
+ class LinePrimitive:
410
+ """
411
+ A primitive representing a series of points connected by lines
412
+ """
413
+
414
+ def __init__(
415
+ self,
416
+ *,
417
+ type: LinePrimitiveLineType = LinePrimitiveLineType.LineStrip,
418
+ pose: Pose | None = None,
419
+ thickness: float = 0.0,
420
+ scale_invariant: bool = False,
421
+ points: list[Point3] | None = None,
422
+ color: Color | None = None,
423
+ colors: list[Color] | None = None,
424
+ indices: list[int] | None = None,
425
+ ) -> None: ...
426
+ @staticmethod
427
+ def get_schema() -> Schema:
428
+ """Returns the LinePrimitive schema"""
429
+ ...
430
+
431
+ def encode(self) -> bytes:
432
+ """Encodes the LinePrimitive."""
433
+ ...
434
+
435
+ class LocationFix:
436
+ """
437
+ A navigation satellite fix for any Global Navigation Satellite System
438
+ """
439
+
440
+ def __init__(
441
+ self,
442
+ *,
443
+ timestamp: Timestamp | None = None,
444
+ frame_id: str = "",
445
+ latitude: float = 0.0,
446
+ longitude: float = 0.0,
447
+ altitude: float = 0.0,
448
+ position_covariance: list[float] | None = None,
449
+ position_covariance_type: LocationFixPositionCovarianceType = LocationFixPositionCovarianceType.Unknown,
450
+ color: Color | None = None,
451
+ ) -> None: ...
452
+ @staticmethod
453
+ def get_schema() -> Schema:
454
+ """Returns the LocationFix schema"""
455
+ ...
456
+
457
+ def encode(self) -> bytes:
458
+ """Encodes the LocationFix."""
459
+ ...
460
+
461
+ class LocationFixes:
462
+ """
463
+ A group of LocationFix messages
464
+ """
465
+
466
+ def __init__(self, *, fixes: list[LocationFix] | None = None) -> None: ...
467
+ @staticmethod
468
+ def get_schema() -> Schema:
469
+ """Returns the LocationFixes schema"""
470
+ ...
471
+
472
+ def encode(self) -> bytes:
473
+ """Encodes the LocationFixes."""
474
+ ...
475
+
476
+ class Log:
477
+ """
478
+ A log message
479
+ """
480
+
481
+ def __init__(
482
+ self,
483
+ *,
484
+ timestamp: Timestamp | None = None,
485
+ level: LogLevel = LogLevel.Unknown,
486
+ message: str = "",
487
+ name: str = "",
488
+ file: str = "",
489
+ line: int = 0,
490
+ ) -> None: ...
491
+ @staticmethod
492
+ def get_schema() -> Schema:
493
+ """Returns the Log schema"""
494
+ ...
495
+
496
+ def encode(self) -> bytes:
497
+ """Encodes the Log."""
498
+ ...
499
+
500
+ class ModelPrimitive:
501
+ """
502
+ A primitive representing a 3D model file loaded from an external URL or embedded data
503
+ """
504
+
505
+ def __init__(
506
+ self,
507
+ *,
508
+ pose: Pose | None = None,
509
+ scale: Vector3 | None = None,
510
+ color: Color | None = None,
511
+ override_color: bool = False,
512
+ url: str = "",
513
+ media_type: str = "",
514
+ data: bytes = b"",
515
+ ) -> None: ...
516
+ @staticmethod
517
+ def get_schema() -> Schema:
518
+ """Returns the ModelPrimitive schema"""
519
+ ...
520
+
521
+ def encode(self) -> bytes:
522
+ """Encodes the ModelPrimitive."""
523
+ ...
524
+
525
+ class PackedElementField:
526
+ """
527
+ A field present within each element in a byte array of packed elements.
528
+ """
529
+
530
+ def __init__(
531
+ self,
532
+ *,
533
+ name: str = "",
534
+ offset: int = 0,
535
+ type: PackedElementFieldNumericType = PackedElementFieldNumericType.Unknown,
536
+ ) -> None: ...
537
+ @staticmethod
538
+ def get_schema() -> Schema:
539
+ """Returns the PackedElementField schema"""
540
+ ...
541
+
542
+ def encode(self) -> bytes:
543
+ """Encodes the PackedElementField."""
544
+ ...
545
+
546
+ class Point2:
547
+ """
548
+ A point representing a position in 2D space
549
+ """
550
+
551
+ def __init__(self, *, x: float = 0.0, y: float = 0.0) -> None: ...
552
+ @staticmethod
553
+ def get_schema() -> Schema:
554
+ """Returns the Point2 schema"""
555
+ ...
556
+
557
+ def encode(self) -> bytes:
558
+ """Encodes the Point2."""
559
+ ...
560
+
561
+ class Point3:
562
+ """
563
+ A point representing a position in 3D space
564
+ """
565
+
566
+ def __init__(self, *, x: float = 0.0, y: float = 0.0, z: float = 0.0) -> None: ...
567
+ @staticmethod
568
+ def get_schema() -> Schema:
569
+ """Returns the Point3 schema"""
570
+ ...
571
+
572
+ def encode(self) -> bytes:
573
+ """Encodes the Point3."""
574
+ ...
575
+
576
+ class Point3InFrame:
577
+ """
578
+ A timestamped point for a position in 3D space
579
+ """
580
+
581
+ def __init__(
582
+ self,
583
+ *,
584
+ timestamp: Timestamp | None = None,
585
+ frame_id: str = "",
586
+ point: Point3 | None = None,
587
+ ) -> None: ...
588
+ @staticmethod
589
+ def get_schema() -> Schema:
590
+ """Returns the Point3InFrame schema"""
591
+ ...
592
+
593
+ def encode(self) -> bytes:
594
+ """Encodes the Point3InFrame."""
595
+ ...
596
+
597
+ class PointCloud:
598
+ """
599
+ A collection of N-dimensional points, which may contain additional fields with information like normals, intensity, etc.
600
+ """
601
+
602
+ def __init__(
603
+ self,
604
+ *,
605
+ timestamp: Timestamp | None = None,
606
+ frame_id: str = "",
607
+ pose: Pose | None = None,
608
+ point_stride: int = 0,
609
+ fields: list[PackedElementField] | None = None,
610
+ data: bytes = b"",
611
+ ) -> None: ...
612
+ @staticmethod
613
+ def get_schema() -> Schema:
614
+ """Returns the PointCloud schema"""
615
+ ...
616
+
617
+ def encode(self) -> bytes:
618
+ """Encodes the PointCloud."""
619
+ ...
620
+
621
+ class PointsAnnotation:
622
+ """
623
+ An array of points on a 2D image
624
+ """
625
+
626
+ def __init__(
627
+ self,
628
+ *,
629
+ timestamp: Timestamp | None = None,
630
+ type: PointsAnnotationType = PointsAnnotationType.Unknown,
631
+ points: list[Point2] | None = None,
632
+ outline_color: Color | None = None,
633
+ outline_colors: list[Color] | None = None,
634
+ fill_color: Color | None = None,
635
+ thickness: float = 0.0,
636
+ ) -> None: ...
637
+ @staticmethod
638
+ def get_schema() -> Schema:
639
+ """Returns the PointsAnnotation schema"""
640
+ ...
641
+
642
+ def encode(self) -> bytes:
643
+ """Encodes the PointsAnnotation."""
644
+ ...
645
+
646
+ class Pose:
647
+ """
648
+ A position and orientation for an object or reference frame in 3D space
649
+ """
650
+
651
+ def __init__(
652
+ self, *, position: Vector3 | None = None, orientation: Quaternion | None = None
653
+ ) -> None: ...
654
+ @staticmethod
655
+ def get_schema() -> Schema:
656
+ """Returns the Pose schema"""
657
+ ...
658
+
659
+ def encode(self) -> bytes:
660
+ """Encodes the Pose."""
661
+ ...
662
+
663
+ class PoseInFrame:
664
+ """
665
+ A timestamped pose for an object or reference frame in 3D space
666
+ """
667
+
668
+ def __init__(
669
+ self,
670
+ *,
671
+ timestamp: Timestamp | None = None,
672
+ frame_id: str = "",
673
+ pose: Pose | None = None,
674
+ ) -> None: ...
675
+ @staticmethod
676
+ def get_schema() -> Schema:
677
+ """Returns the PoseInFrame schema"""
678
+ ...
679
+
680
+ def encode(self) -> bytes:
681
+ """Encodes the PoseInFrame."""
682
+ ...
683
+
684
+ class PosesInFrame:
685
+ """
686
+ An array of timestamped poses for an object or reference frame in 3D space
687
+ """
688
+
689
+ def __init__(
690
+ self,
691
+ *,
692
+ timestamp: Timestamp | None = None,
693
+ frame_id: str = "",
694
+ poses: list[Pose] | None = None,
695
+ ) -> None: ...
696
+ @staticmethod
697
+ def get_schema() -> Schema:
698
+ """Returns the PosesInFrame schema"""
699
+ ...
700
+
701
+ def encode(self) -> bytes:
702
+ """Encodes the PosesInFrame."""
703
+ ...
704
+
705
+ class Quaternion:
706
+ """
707
+ A [quaternion](https://eater.net/quaternions) representing a rotation in 3D space
708
+ """
709
+
710
+ def __init__(
711
+ self, *, x: float = 0.0, y: float = 0.0, z: float = 0.0, w: float = 0.0
712
+ ) -> None: ...
713
+ @staticmethod
714
+ def get_schema() -> Schema:
715
+ """Returns the Quaternion schema"""
716
+ ...
717
+
718
+ def encode(self) -> bytes:
719
+ """Encodes the Quaternion."""
720
+ ...
721
+
722
+ class RawAudio:
723
+ """
724
+ A single block of an audio bitstream
725
+ """
726
+
727
+ def __init__(
728
+ self,
729
+ *,
730
+ timestamp: Timestamp | None = None,
731
+ data: bytes = b"",
732
+ format: str = "",
733
+ sample_rate: int = 0,
734
+ number_of_channels: int = 0,
735
+ ) -> None: ...
736
+ @staticmethod
737
+ def get_schema() -> Schema:
738
+ """Returns the RawAudio schema"""
739
+ ...
740
+
741
+ def encode(self) -> bytes:
742
+ """Encodes the RawAudio."""
743
+ ...
744
+
745
+ class RawImage:
746
+ """
747
+ A raw image
748
+ """
749
+
750
+ def __init__(
751
+ self,
752
+ *,
753
+ timestamp: Timestamp | None = None,
754
+ frame_id: str = "",
755
+ width: int = 0,
756
+ height: int = 0,
757
+ encoding: str = "",
758
+ step: int = 0,
759
+ data: bytes = b"",
760
+ ) -> None: ...
761
+ @staticmethod
762
+ def get_schema() -> Schema:
763
+ """Returns the RawImage schema"""
764
+ ...
765
+
766
+ def encode(self) -> bytes:
767
+ """Encodes the RawImage."""
768
+ ...
769
+
770
+ class SceneEntity:
771
+ """
772
+ A visual element in a 3D scene. An entity may be composed of multiple primitives which all share the same frame of reference.
773
+ """
774
+
775
+ def __init__(
776
+ self,
777
+ *,
778
+ timestamp: Timestamp | None = None,
779
+ frame_id: str = "",
780
+ id: str = "",
781
+ lifetime: Duration | None = None,
782
+ frame_locked: bool = False,
783
+ metadata: list[KeyValuePair] | None = None,
784
+ arrows: list[ArrowPrimitive] | None = None,
785
+ cubes: list[CubePrimitive] | None = None,
786
+ spheres: list[SpherePrimitive] | None = None,
787
+ cylinders: list[CylinderPrimitive] | None = None,
788
+ lines: list[LinePrimitive] | None = None,
789
+ triangles: list[TriangleListPrimitive] | None = None,
790
+ texts: list[TextPrimitive] | None = None,
791
+ models: list[ModelPrimitive] | None = None,
792
+ ) -> None: ...
793
+ @staticmethod
794
+ def get_schema() -> Schema:
795
+ """Returns the SceneEntity schema"""
796
+ ...
797
+
798
+ def encode(self) -> bytes:
799
+ """Encodes the SceneEntity."""
800
+ ...
801
+
802
+ class SceneEntityDeletion:
803
+ """
804
+ Command to remove previously published entities
805
+ """
806
+
807
+ def __init__(
808
+ self,
809
+ *,
810
+ timestamp: Timestamp | None = None,
811
+ type: SceneEntityDeletionType = SceneEntityDeletionType.MatchingId,
812
+ id: str = "",
813
+ ) -> None: ...
814
+ @staticmethod
815
+ def get_schema() -> Schema:
816
+ """Returns the SceneEntityDeletion schema"""
817
+ ...
818
+
819
+ def encode(self) -> bytes:
820
+ """Encodes the SceneEntityDeletion."""
821
+ ...
822
+
823
+ class SceneUpdate:
824
+ """
825
+ An update to the entities displayed in a 3D scene
826
+ """
827
+
828
+ def __init__(
829
+ self,
830
+ *,
831
+ deletions: list[SceneEntityDeletion] | None = None,
832
+ entities: list[SceneEntity] | None = None,
833
+ ) -> None: ...
834
+ @staticmethod
835
+ def get_schema() -> Schema:
836
+ """Returns the SceneUpdate schema"""
837
+ ...
838
+
839
+ def encode(self) -> bytes:
840
+ """Encodes the SceneUpdate."""
841
+ ...
842
+
843
+ class SpherePrimitive:
844
+ """
845
+ A primitive representing a sphere or ellipsoid
846
+ """
847
+
848
+ def __init__(
849
+ self,
850
+ *,
851
+ pose: Pose | None = None,
852
+ size: Vector3 | None = None,
853
+ color: Color | None = None,
854
+ ) -> None: ...
855
+ @staticmethod
856
+ def get_schema() -> Schema:
857
+ """Returns the SpherePrimitive schema"""
858
+ ...
859
+
860
+ def encode(self) -> bytes:
861
+ """Encodes the SpherePrimitive."""
862
+ ...
863
+
864
+ class TextAnnotation:
865
+ """
866
+ A text label on a 2D image
867
+ """
868
+
869
+ def __init__(
870
+ self,
871
+ *,
872
+ timestamp: Timestamp | None = None,
873
+ position: Point2 | None = None,
874
+ text: str = "",
875
+ font_size: float = 0.0,
876
+ text_color: Color | None = None,
877
+ background_color: Color | None = None,
878
+ ) -> None: ...
879
+ @staticmethod
880
+ def get_schema() -> Schema:
881
+ """Returns the TextAnnotation schema"""
882
+ ...
883
+
884
+ def encode(self) -> bytes:
885
+ """Encodes the TextAnnotation."""
886
+ ...
887
+
888
+ class TextPrimitive:
889
+ """
890
+ A primitive representing a text label
891
+ """
892
+
893
+ def __init__(
894
+ self,
895
+ *,
896
+ pose: Pose | None = None,
897
+ billboard: bool = False,
898
+ font_size: float = 0.0,
899
+ scale_invariant: bool = False,
900
+ color: Color | None = None,
901
+ text: str = "",
902
+ ) -> None: ...
903
+ @staticmethod
904
+ def get_schema() -> Schema:
905
+ """Returns the TextPrimitive schema"""
906
+ ...
907
+
908
+ def encode(self) -> bytes:
909
+ """Encodes the TextPrimitive."""
910
+ ...
911
+
912
+ class TriangleListPrimitive:
913
+ """
914
+ A primitive representing a set of triangles or a surface tiled by triangles
915
+ """
916
+
917
+ def __init__(
918
+ self,
919
+ *,
920
+ pose: Pose | None = None,
921
+ points: list[Point3] | None = None,
922
+ color: Color | None = None,
923
+ colors: list[Color] | None = None,
924
+ indices: list[int] | None = None,
925
+ ) -> None: ...
926
+ @staticmethod
927
+ def get_schema() -> Schema:
928
+ """Returns the TriangleListPrimitive schema"""
929
+ ...
930
+
931
+ def encode(self) -> bytes:
932
+ """Encodes the TriangleListPrimitive."""
933
+ ...
934
+
935
+ class Vector2:
936
+ """
937
+ A vector in 2D space that represents a direction only
938
+ """
939
+
940
+ def __init__(self, *, x: float = 0.0, y: float = 0.0) -> None: ...
941
+ @staticmethod
942
+ def get_schema() -> Schema:
943
+ """Returns the Vector2 schema"""
944
+ ...
945
+
946
+ def encode(self) -> bytes:
947
+ """Encodes the Vector2."""
948
+ ...
949
+
950
+ class Vector3:
951
+ """
952
+ A vector in 3D space that represents a direction only
953
+ """
954
+
955
+ def __init__(self, *, x: float = 0.0, y: float = 0.0, z: float = 0.0) -> None: ...
956
+ @staticmethod
957
+ def get_schema() -> Schema:
958
+ """Returns the Vector3 schema"""
959
+ ...
960
+
961
+ def encode(self) -> bytes:
962
+ """Encodes the Vector3."""
963
+ ...
964
+
965
+ class VoxelGrid:
966
+ """
967
+ A 3D grid of data
968
+ """
969
+
970
+ def __init__(
971
+ self,
972
+ *,
973
+ timestamp: Timestamp | None = None,
974
+ frame_id: str = "",
975
+ pose: Pose | None = None,
976
+ row_count: int = 0,
977
+ column_count: int = 0,
978
+ cell_size: Vector3 | None = None,
979
+ slice_stride: int = 0,
980
+ row_stride: int = 0,
981
+ cell_stride: int = 0,
982
+ fields: list[PackedElementField] | None = None,
983
+ data: bytes = b"",
984
+ ) -> None: ...
985
+ @staticmethod
986
+ def get_schema() -> Schema:
987
+ """Returns the VoxelGrid schema"""
988
+ ...
989
+
990
+ def encode(self) -> bytes:
991
+ """Encodes the VoxelGrid."""
992
+ ...
993
+
994
+ FoxgloveSchema = Union[
995
+ ArrowPrimitive,
996
+ CameraCalibration,
997
+ CircleAnnotation,
998
+ Color,
999
+ CompressedImage,
1000
+ CompressedVideo,
1001
+ CylinderPrimitive,
1002
+ CubePrimitive,
1003
+ FrameTransform,
1004
+ FrameTransforms,
1005
+ GeoJson,
1006
+ Grid,
1007
+ VoxelGrid,
1008
+ ImageAnnotations,
1009
+ KeyValuePair,
1010
+ LaserScan,
1011
+ LinePrimitive,
1012
+ LocationFix,
1013
+ LocationFixes,
1014
+ Log,
1015
+ SceneEntityDeletion,
1016
+ SceneEntity,
1017
+ SceneUpdate,
1018
+ ModelPrimitive,
1019
+ PackedElementField,
1020
+ Point2,
1021
+ Point3,
1022
+ Point3InFrame,
1023
+ PointCloud,
1024
+ PointsAnnotation,
1025
+ Pose,
1026
+ PoseInFrame,
1027
+ PosesInFrame,
1028
+ Quaternion,
1029
+ RawAudio,
1030
+ RawImage,
1031
+ SpherePrimitive,
1032
+ TextAnnotation,
1033
+ TextPrimitive,
1034
+ TriangleListPrimitive,
1035
+ Vector2,
1036
+ Vector3,
1037
+ ]