foxglove-sdk 0.8.1__cp312-cp312-win32.whl → 0.16.3__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.

Potentially problematic release.


This version of foxglove-sdk might be problematic. Click here for more details.

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