@foxglove/schemas 1.3.1 → 1.4.0
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.
- package/internal/__snapshots__/exportTypescriptSchemata.test.ts.snap +1042 -0
- package/internal/exportTypescriptSchemata.d.ts +7 -0
- package/internal/exportTypescriptSchemata.d.ts.map +1 -0
- package/internal/exportTypescriptSchemata.js +33 -0
- package/internal/exportTypescriptSchemata.js.map +1 -0
- package/internal/exportTypescriptSchemata.test.d.ts +2 -0
- package/internal/exportTypescriptSchemata.test.d.ts.map +1 -0
- package/internal/exportTypescriptSchemata.test.js +10 -0
- package/internal/exportTypescriptSchemata.test.js.map +1 -0
- package/internal/exportTypescriptSchemata.test.ts +8 -0
- package/internal/exportTypescriptSchemata.ts +34 -0
- package/internal/index.d.ts +4 -3
- package/internal/index.d.ts.map +1 -1
- package/internal/index.js +4 -3
- package/internal/index.js.map +1 -1
- package/internal/index.ts +4 -3
- package/package.json +1 -1
- package/python/foxglove-schemas-protobuf/setup.cfg +2 -2
- package/scripts/updateGeneratedFiles.js +4 -17
- package/scripts/updateGeneratedFiles.js.map +1 -1
- package/scripts/updateGeneratedFiles.ts +5 -24
|
@@ -0,0 +1,1042 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`exportTypescriptSchemata exports schemata 1`] = `
|
|
4
|
+
{
|
|
5
|
+
"ArrowPrimitive": "// Generated by https://github.com/foxglove/schemas
|
|
6
|
+
|
|
7
|
+
import { Color } from "./Color";
|
|
8
|
+
import { Pose } from "./Pose";
|
|
9
|
+
|
|
10
|
+
/** A primitive representing an arrow */
|
|
11
|
+
export type ArrowPrimitive = {
|
|
12
|
+
/** Position of the arrow's tail and orientation of the arrow. Identity orientation means the arrow points in the +x direction. */
|
|
13
|
+
pose: Pose;
|
|
14
|
+
|
|
15
|
+
/** Length of the arrow shaft */
|
|
16
|
+
shaft_length: number;
|
|
17
|
+
|
|
18
|
+
/** Diameter of the arrow shaft */
|
|
19
|
+
shaft_diameter: number;
|
|
20
|
+
|
|
21
|
+
/** Length of the arrow head */
|
|
22
|
+
head_length: number;
|
|
23
|
+
|
|
24
|
+
/** Diameter of the arrow head */
|
|
25
|
+
head_diameter: number;
|
|
26
|
+
|
|
27
|
+
/** Color of the arrow */
|
|
28
|
+
color: Color;
|
|
29
|
+
};
|
|
30
|
+
",
|
|
31
|
+
"CameraCalibration": "// Generated by https://github.com/foxglove/schemas
|
|
32
|
+
|
|
33
|
+
import { Time } from "./Time";
|
|
34
|
+
|
|
35
|
+
/** Camera calibration parameters */
|
|
36
|
+
export type CameraCalibration = {
|
|
37
|
+
/** Timestamp of calibration data */
|
|
38
|
+
timestamp: Time;
|
|
39
|
+
|
|
40
|
+
/** Frame of reference for the camera. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. */
|
|
41
|
+
frame_id: string;
|
|
42
|
+
|
|
43
|
+
/** Image width */
|
|
44
|
+
width: number;
|
|
45
|
+
|
|
46
|
+
/** Image height */
|
|
47
|
+
height: number;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Name of distortion model
|
|
51
|
+
*
|
|
52
|
+
* Supported values: \`plumb_bob\` and \`rational_polynomial\`
|
|
53
|
+
*/
|
|
54
|
+
distortion_model: string;
|
|
55
|
+
|
|
56
|
+
/** Distortion parameters */
|
|
57
|
+
D: number[];
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Intrinsic camera matrix (3x3 row-major matrix)
|
|
61
|
+
*
|
|
62
|
+
* A 3x3 row-major matrix for the raw (distorted) image.
|
|
63
|
+
*
|
|
64
|
+
* Projects 3D points in the camera coordinate frame to 2D pixel coordinates using the focal lengths (fx, fy) and principal point (cx, cy).
|
|
65
|
+
*
|
|
66
|
+
* \`\`\`
|
|
67
|
+
* [fx 0 cx]
|
|
68
|
+
* K = [ 0 fy cy]
|
|
69
|
+
* [ 0 0 1]
|
|
70
|
+
* \`\`\`
|
|
71
|
+
*/
|
|
72
|
+
K: [number, number, number, number, number, number, number, number, number];
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Rectification matrix (stereo cameras only, 3x3 row-major matrix)
|
|
76
|
+
*
|
|
77
|
+
* A rotation matrix aligning the camera coordinate system to the ideal stereo image plane so that epipolar lines in both stereo images are parallel.
|
|
78
|
+
*/
|
|
79
|
+
R: [number, number, number, number, number, number, number, number, number];
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Projection/camera matrix (3x4 row-major matrix)
|
|
83
|
+
*
|
|
84
|
+
* \`\`\`
|
|
85
|
+
* [fx' 0 cx' Tx]
|
|
86
|
+
* P = [ 0 fy' cy' Ty]
|
|
87
|
+
* [ 0 0 1 0]
|
|
88
|
+
* \`\`\`
|
|
89
|
+
*
|
|
90
|
+
* By convention, this matrix specifies the intrinsic (camera) matrix of the processed (rectified) image. That is, the left 3x3 portion is the normal camera intrinsic matrix for the rectified image.
|
|
91
|
+
*
|
|
92
|
+
* It projects 3D points in the camera coordinate frame to 2D pixel coordinates using the focal lengths (fx', fy') and principal point (cx', cy') - these may differ from the values in K.
|
|
93
|
+
*
|
|
94
|
+
* For monocular cameras, Tx = Ty = 0. Normally, monocular cameras will also have R = the identity and P[1:3,1:3] = K.
|
|
95
|
+
*
|
|
96
|
+
* For a stereo pair, the fourth column [Tx Ty 0]' is related to the position of the optical center of the second camera in the first camera's frame. We assume Tz = 0 so both cameras are in the same stereo image plane. The first camera always has Tx = Ty = 0. For the right (second) camera of a horizontal stereo pair, Ty = 0 and Tx = -fx' * B, where B is the baseline between the cameras.
|
|
97
|
+
*
|
|
98
|
+
* Given a 3D point [X Y Z]', the projection (x, y) of the point onto the rectified image is given by:
|
|
99
|
+
*
|
|
100
|
+
* \`\`\`
|
|
101
|
+
* [u v w]' = P * [X Y Z 1]'
|
|
102
|
+
* x = u / w
|
|
103
|
+
* y = v / w
|
|
104
|
+
* \`\`\`
|
|
105
|
+
*
|
|
106
|
+
* This holds for both images of a stereo pair.
|
|
107
|
+
*/
|
|
108
|
+
P: [number, number, number, number, number, number, number, number, number, number, number, number];
|
|
109
|
+
};
|
|
110
|
+
",
|
|
111
|
+
"CircleAnnotation": "// Generated by https://github.com/foxglove/schemas
|
|
112
|
+
|
|
113
|
+
import { Color } from "./Color";
|
|
114
|
+
import { Point2 } from "./Point2";
|
|
115
|
+
import { Time } from "./Time";
|
|
116
|
+
|
|
117
|
+
/** A circle annotation on a 2D image */
|
|
118
|
+
export type CircleAnnotation = {
|
|
119
|
+
/** Timestamp of circle */
|
|
120
|
+
timestamp: Time;
|
|
121
|
+
|
|
122
|
+
/** Center of the circle in 2D image coordinates (pixels) */
|
|
123
|
+
position: Point2;
|
|
124
|
+
|
|
125
|
+
/** Circle diameter in pixels */
|
|
126
|
+
diameter: number;
|
|
127
|
+
|
|
128
|
+
/** Line thickness in pixels */
|
|
129
|
+
thickness: number;
|
|
130
|
+
|
|
131
|
+
/** Fill color */
|
|
132
|
+
fill_color: Color;
|
|
133
|
+
|
|
134
|
+
/** Outline color */
|
|
135
|
+
outline_color: Color;
|
|
136
|
+
};
|
|
137
|
+
",
|
|
138
|
+
"Color": "// Generated by https://github.com/foxglove/schemas
|
|
139
|
+
|
|
140
|
+
/** A color in RGBA format */
|
|
141
|
+
export type Color = {
|
|
142
|
+
/** Red value between 0 and 1 */
|
|
143
|
+
r: number;
|
|
144
|
+
|
|
145
|
+
/** Green value between 0 and 1 */
|
|
146
|
+
g: number;
|
|
147
|
+
|
|
148
|
+
/** Blue value between 0 and 1 */
|
|
149
|
+
b: number;
|
|
150
|
+
|
|
151
|
+
/** Alpha value between 0 and 1 */
|
|
152
|
+
a: number;
|
|
153
|
+
};
|
|
154
|
+
",
|
|
155
|
+
"CompressedImage": "// Generated by https://github.com/foxglove/schemas
|
|
156
|
+
|
|
157
|
+
import { Time } from "./Time";
|
|
158
|
+
|
|
159
|
+
/** A compressed image */
|
|
160
|
+
export type CompressedImage = {
|
|
161
|
+
/** Timestamp of image */
|
|
162
|
+
timestamp: Time;
|
|
163
|
+
|
|
164
|
+
/** Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. */
|
|
165
|
+
frame_id: string;
|
|
166
|
+
|
|
167
|
+
/** Compressed image data */
|
|
168
|
+
data: Uint8Array;
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Image format
|
|
172
|
+
*
|
|
173
|
+
* Supported values: \`webp\`, \`jpeg\`, \`png\`
|
|
174
|
+
*/
|
|
175
|
+
format: string;
|
|
176
|
+
};
|
|
177
|
+
",
|
|
178
|
+
"CubePrimitive": "// Generated by https://github.com/foxglove/schemas
|
|
179
|
+
|
|
180
|
+
import { Color } from "./Color";
|
|
181
|
+
import { Pose } from "./Pose";
|
|
182
|
+
import { Vector3 } from "./Vector3";
|
|
183
|
+
|
|
184
|
+
/** A primitive representing a cube or rectangular prism */
|
|
185
|
+
export type CubePrimitive = {
|
|
186
|
+
/** Position of the center of the cube and orientation of the cube */
|
|
187
|
+
pose: Pose;
|
|
188
|
+
|
|
189
|
+
/** Size of the cube along each axis */
|
|
190
|
+
size: Vector3;
|
|
191
|
+
|
|
192
|
+
/** Color of the cube */
|
|
193
|
+
color: Color;
|
|
194
|
+
};
|
|
195
|
+
",
|
|
196
|
+
"CylinderPrimitive": "// Generated by https://github.com/foxglove/schemas
|
|
197
|
+
|
|
198
|
+
import { Color } from "./Color";
|
|
199
|
+
import { Pose } from "./Pose";
|
|
200
|
+
import { Vector3 } from "./Vector3";
|
|
201
|
+
|
|
202
|
+
/** A primitive representing a cylinder, elliptic cylinder, or truncated cone */
|
|
203
|
+
export type CylinderPrimitive = {
|
|
204
|
+
/** Position of the center of the cylinder and orientation of the cylinder. The flat face(s) are perpendicular to the z-axis. */
|
|
205
|
+
pose: Pose;
|
|
206
|
+
|
|
207
|
+
/** Size of the cylinder's bounding box */
|
|
208
|
+
size: Vector3;
|
|
209
|
+
|
|
210
|
+
/** 0-1, ratio of the diameter of the cylinder's bottom face (min z) to the bottom of the bounding box */
|
|
211
|
+
bottom_scale: number;
|
|
212
|
+
|
|
213
|
+
/** 0-1, ratio of the diameter of the cylinder's top face (max z) to the top of the bounding box */
|
|
214
|
+
top_scale: number;
|
|
215
|
+
|
|
216
|
+
/** Color of the cylinder */
|
|
217
|
+
color: Color;
|
|
218
|
+
};
|
|
219
|
+
",
|
|
220
|
+
"Duration": "export type Duration = {
|
|
221
|
+
sec: number;
|
|
222
|
+
nsec: number;
|
|
223
|
+
};
|
|
224
|
+
",
|
|
225
|
+
"FrameTransform": "// Generated by https://github.com/foxglove/schemas
|
|
226
|
+
|
|
227
|
+
import { Quaternion } from "./Quaternion";
|
|
228
|
+
import { Time } from "./Time";
|
|
229
|
+
import { Vector3 } from "./Vector3";
|
|
230
|
+
|
|
231
|
+
/** A transform between two reference frames in 3D space */
|
|
232
|
+
export type FrameTransform = {
|
|
233
|
+
/** Timestamp of transform */
|
|
234
|
+
timestamp: Time;
|
|
235
|
+
|
|
236
|
+
/** Name of the parent frame */
|
|
237
|
+
parent_frame_id: string;
|
|
238
|
+
|
|
239
|
+
/** Name of the child frame */
|
|
240
|
+
child_frame_id: string;
|
|
241
|
+
|
|
242
|
+
/** Translation component of the transform */
|
|
243
|
+
translation: Vector3;
|
|
244
|
+
|
|
245
|
+
/** Rotation component of the transform */
|
|
246
|
+
rotation: Quaternion;
|
|
247
|
+
};
|
|
248
|
+
",
|
|
249
|
+
"FrameTransforms": "// Generated by https://github.com/foxglove/schemas
|
|
250
|
+
|
|
251
|
+
import { FrameTransform } from "./FrameTransform";
|
|
252
|
+
|
|
253
|
+
/** An array of FrameTransform messages */
|
|
254
|
+
export type FrameTransforms = {
|
|
255
|
+
/** Array of transforms */
|
|
256
|
+
transforms: FrameTransform[];
|
|
257
|
+
};
|
|
258
|
+
",
|
|
259
|
+
"GeoJSON": "// Generated by https://github.com/foxglove/schemas
|
|
260
|
+
|
|
261
|
+
/** GeoJSON data for annotating maps */
|
|
262
|
+
export type GeoJSON = {
|
|
263
|
+
/** GeoJSON data encoded as a UTF-8 string */
|
|
264
|
+
geojson: string;
|
|
265
|
+
};
|
|
266
|
+
",
|
|
267
|
+
"Grid": "// Generated by https://github.com/foxglove/schemas
|
|
268
|
+
|
|
269
|
+
import { PackedElementField } from "./PackedElementField";
|
|
270
|
+
import { Pose } from "./Pose";
|
|
271
|
+
import { Time } from "./Time";
|
|
272
|
+
import { Vector2 } from "./Vector2";
|
|
273
|
+
|
|
274
|
+
/** A 2D grid of data */
|
|
275
|
+
export type Grid = {
|
|
276
|
+
/** Timestamp of grid */
|
|
277
|
+
timestamp: Time;
|
|
278
|
+
|
|
279
|
+
/** Frame of reference */
|
|
280
|
+
frame_id: string;
|
|
281
|
+
|
|
282
|
+
/** Origin of grid's corner relative to frame of reference; grid is positioned in the x-y plane relative to this origin */
|
|
283
|
+
pose: Pose;
|
|
284
|
+
|
|
285
|
+
/** Number of grid columns */
|
|
286
|
+
column_count: number;
|
|
287
|
+
|
|
288
|
+
/** Size of single grid cell along x and y axes, relative to \`pose\` */
|
|
289
|
+
cell_size: Vector2;
|
|
290
|
+
|
|
291
|
+
/** Number of bytes between rows in \`data\` */
|
|
292
|
+
row_stride: number;
|
|
293
|
+
|
|
294
|
+
/** Number of bytes between cells within a row in \`data\` */
|
|
295
|
+
cell_stride: number;
|
|
296
|
+
|
|
297
|
+
/** Fields in \`data\`. \`red\`, \`green\`, \`blue\`, and \`alpha\` are optional for customizing the grid's color. */
|
|
298
|
+
fields: PackedElementField[];
|
|
299
|
+
|
|
300
|
+
/** Grid cell data, interpreted using \`fields\`, in row-major (y-major) order */
|
|
301
|
+
data: Uint8Array;
|
|
302
|
+
};
|
|
303
|
+
",
|
|
304
|
+
"ImageAnnotations": "// Generated by https://github.com/foxglove/schemas
|
|
305
|
+
|
|
306
|
+
import { CircleAnnotation } from "./CircleAnnotation";
|
|
307
|
+
import { PointsAnnotation } from "./PointsAnnotation";
|
|
308
|
+
import { TextAnnotation } from "./TextAnnotation";
|
|
309
|
+
|
|
310
|
+
/** Array of annotations for a 2D image */
|
|
311
|
+
export type ImageAnnotations = {
|
|
312
|
+
/** Circle annotations */
|
|
313
|
+
circles: CircleAnnotation[];
|
|
314
|
+
|
|
315
|
+
/** Points annotations */
|
|
316
|
+
points: PointsAnnotation[];
|
|
317
|
+
|
|
318
|
+
/** Text annotations */
|
|
319
|
+
texts: TextAnnotation[];
|
|
320
|
+
};
|
|
321
|
+
",
|
|
322
|
+
"KeyValuePair": "// Generated by https://github.com/foxglove/schemas
|
|
323
|
+
|
|
324
|
+
/** A key with its associated value */
|
|
325
|
+
export type KeyValuePair = {
|
|
326
|
+
/** Key */
|
|
327
|
+
key: string;
|
|
328
|
+
|
|
329
|
+
/** Value */
|
|
330
|
+
value: string;
|
|
331
|
+
};
|
|
332
|
+
",
|
|
333
|
+
"LaserScan": "// Generated by https://github.com/foxglove/schemas
|
|
334
|
+
|
|
335
|
+
import { Pose } from "./Pose";
|
|
336
|
+
import { Time } from "./Time";
|
|
337
|
+
|
|
338
|
+
/** A single scan from a planar laser range-finder */
|
|
339
|
+
export type LaserScan = {
|
|
340
|
+
/** Timestamp of scan */
|
|
341
|
+
timestamp: Time;
|
|
342
|
+
|
|
343
|
+
/** Frame of reference */
|
|
344
|
+
frame_id: string;
|
|
345
|
+
|
|
346
|
+
/** Origin of scan relative to frame of reference; points are positioned in the x-y plane relative to this origin; angles are interpreted as counterclockwise rotations around the z axis with 0 rad being in the +x direction */
|
|
347
|
+
pose: Pose;
|
|
348
|
+
|
|
349
|
+
/** Bearing of first point, in radians */
|
|
350
|
+
start_angle: number;
|
|
351
|
+
|
|
352
|
+
/** Bearing of last point, in radians */
|
|
353
|
+
end_angle: number;
|
|
354
|
+
|
|
355
|
+
/** Distance of detections from origin; assumed to be at equally-spaced angles between \`start_angle\` and \`end_angle\` */
|
|
356
|
+
ranges: number[];
|
|
357
|
+
|
|
358
|
+
/** Intensity of detections */
|
|
359
|
+
intensities: number[];
|
|
360
|
+
};
|
|
361
|
+
",
|
|
362
|
+
"LinePrimitive": "// Generated by https://github.com/foxglove/schemas
|
|
363
|
+
|
|
364
|
+
import { Color } from "./Color";
|
|
365
|
+
import { LineType } from "./LineType";
|
|
366
|
+
import { Point3 } from "./Point3";
|
|
367
|
+
import { Pose } from "./Pose";
|
|
368
|
+
|
|
369
|
+
/** A primitive representing a series of points connected by lines */
|
|
370
|
+
export type LinePrimitive = {
|
|
371
|
+
/** Drawing primitive to use for lines */
|
|
372
|
+
type: LineType;
|
|
373
|
+
|
|
374
|
+
/** Origin of lines relative to reference frame */
|
|
375
|
+
pose: Pose;
|
|
376
|
+
|
|
377
|
+
/** Line thickness */
|
|
378
|
+
thickness: number;
|
|
379
|
+
|
|
380
|
+
/** Indicates whether \`thickness\` is a fixed size in screen pixels (true), or specified in world coordinates and scales with distance from the camera (false) */
|
|
381
|
+
scale_invariant: boolean;
|
|
382
|
+
|
|
383
|
+
/** Points along the line */
|
|
384
|
+
points: Point3[];
|
|
385
|
+
|
|
386
|
+
/** Solid color to use for the whole line. One of \`color\` or \`colors\` must be provided. */
|
|
387
|
+
color: Color;
|
|
388
|
+
|
|
389
|
+
/** Per-point colors (if specified, must have the same length as \`points\`). One of \`color\` or \`colors\` must be provided. */
|
|
390
|
+
colors: Color[];
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* Indices into the \`points\` and \`colors\` attribute arrays, which can be used to avoid duplicating attribute data.
|
|
394
|
+
*
|
|
395
|
+
* If omitted or empty, indexing will not be used. This default behavior is equivalent to specifying [0, 1, ..., N-1] for the indices (where N is the number of \`points\` provided).
|
|
396
|
+
*/
|
|
397
|
+
indices: number[];
|
|
398
|
+
};
|
|
399
|
+
",
|
|
400
|
+
"LineType": "// Generated by https://github.com/foxglove/schemas
|
|
401
|
+
|
|
402
|
+
/** An enumeration indicating how input points should be interpreted to create lines */
|
|
403
|
+
export enum LineType {
|
|
404
|
+
/** Connected line segments: 0-1, 1-2, ..., (n-1)-n */
|
|
405
|
+
LINE_STRIP = 0,
|
|
406
|
+
|
|
407
|
+
/** Closed polygon: 0-1, 1-2, ..., (n-1)-n, n-0 */
|
|
408
|
+
LINE_LOOP = 1,
|
|
409
|
+
|
|
410
|
+
/** Individual line segments: 0-1, 2-3, 4-5, ... */
|
|
411
|
+
LINE_LIST = 2,
|
|
412
|
+
}
|
|
413
|
+
",
|
|
414
|
+
"LocationFix": "// Generated by https://github.com/foxglove/schemas
|
|
415
|
+
|
|
416
|
+
import { PositionCovarianceType } from "./PositionCovarianceType";
|
|
417
|
+
import { Time } from "./Time";
|
|
418
|
+
|
|
419
|
+
/** A navigation satellite fix for any Global Navigation Satellite System */
|
|
420
|
+
export type LocationFix = {
|
|
421
|
+
/** Timestamp of the message */
|
|
422
|
+
timestamp: Time;
|
|
423
|
+
|
|
424
|
+
/** Frame for the sensor. Latitude and longitude readings are at the origin of the frame. */
|
|
425
|
+
frame_id: string;
|
|
426
|
+
|
|
427
|
+
/** Latitude in degrees */
|
|
428
|
+
latitude: number;
|
|
429
|
+
|
|
430
|
+
/** Longitude in degrees */
|
|
431
|
+
longitude: number;
|
|
432
|
+
|
|
433
|
+
/** Altitude in meters */
|
|
434
|
+
altitude: number;
|
|
435
|
+
|
|
436
|
+
/** Position covariance (m^2) defined relative to a tangential plane through the reported position. The components are East, North, and Up (ENU), in row-major order. */
|
|
437
|
+
position_covariance: [number, number, number, number, number, number, number, number, number];
|
|
438
|
+
|
|
439
|
+
/** If \`position_covariance\` is available, \`position_covariance_type\` must be set to indicate the type of covariance. */
|
|
440
|
+
position_covariance_type: PositionCovarianceType;
|
|
441
|
+
};
|
|
442
|
+
",
|
|
443
|
+
"Log": "// Generated by https://github.com/foxglove/schemas
|
|
444
|
+
|
|
445
|
+
import { LogLevel } from "./LogLevel";
|
|
446
|
+
import { Time } from "./Time";
|
|
447
|
+
|
|
448
|
+
/** A log message */
|
|
449
|
+
export type Log = {
|
|
450
|
+
/** Timestamp of log message */
|
|
451
|
+
timestamp: Time;
|
|
452
|
+
|
|
453
|
+
/** Log level */
|
|
454
|
+
level: LogLevel;
|
|
455
|
+
|
|
456
|
+
/** Log message */
|
|
457
|
+
message: string;
|
|
458
|
+
|
|
459
|
+
/** Process or node name */
|
|
460
|
+
name: string;
|
|
461
|
+
|
|
462
|
+
/** Filename */
|
|
463
|
+
file: string;
|
|
464
|
+
|
|
465
|
+
/** Line number in the file */
|
|
466
|
+
line: number;
|
|
467
|
+
};
|
|
468
|
+
",
|
|
469
|
+
"LogLevel": "// Generated by https://github.com/foxglove/schemas
|
|
470
|
+
|
|
471
|
+
/** Log level */
|
|
472
|
+
export enum LogLevel {
|
|
473
|
+
UNKNOWN = 0,
|
|
474
|
+
|
|
475
|
+
DEBUG = 1,
|
|
476
|
+
|
|
477
|
+
INFO = 2,
|
|
478
|
+
|
|
479
|
+
WARNING = 3,
|
|
480
|
+
|
|
481
|
+
ERROR = 4,
|
|
482
|
+
|
|
483
|
+
FATAL = 5,
|
|
484
|
+
}
|
|
485
|
+
",
|
|
486
|
+
"ModelPrimitive": "// Generated by https://github.com/foxglove/schemas
|
|
487
|
+
|
|
488
|
+
import { Color } from "./Color";
|
|
489
|
+
import { Pose } from "./Pose";
|
|
490
|
+
import { Vector3 } from "./Vector3";
|
|
491
|
+
|
|
492
|
+
/** A primitive representing a 3D model file loaded from an external URL or embedded data */
|
|
493
|
+
export type ModelPrimitive = {
|
|
494
|
+
/** Origin of model relative to reference frame */
|
|
495
|
+
pose: Pose;
|
|
496
|
+
|
|
497
|
+
/** Scale factor to apply to the model along each axis */
|
|
498
|
+
scale: Vector3;
|
|
499
|
+
|
|
500
|
+
/** Solid color to use for the whole model if \`override_color\` is true. */
|
|
501
|
+
color: Color;
|
|
502
|
+
|
|
503
|
+
/** Whether to use the color specified in \`color\` instead of any materials embedded in the original model. */
|
|
504
|
+
override_color: boolean;
|
|
505
|
+
|
|
506
|
+
/** URL pointing to model file. One of \`url\` or \`data\` should be provided. */
|
|
507
|
+
url: string;
|
|
508
|
+
|
|
509
|
+
/** [Media type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of embedded model (e.g. \`model/gltf-binary\`). Required if \`data\` is provided instead of \`url\`. Overrides the inferred media type if \`url\` is provided. */
|
|
510
|
+
media_type: string;
|
|
511
|
+
|
|
512
|
+
/** Embedded model. One of \`url\` or \`data\` should be provided. If \`data\` is provided, \`media_type\` must be set to indicate the type of the data. */
|
|
513
|
+
data: Uint8Array;
|
|
514
|
+
};
|
|
515
|
+
",
|
|
516
|
+
"NumericType": "// Generated by https://github.com/foxglove/schemas
|
|
517
|
+
|
|
518
|
+
/** Numeric type */
|
|
519
|
+
export enum NumericType {
|
|
520
|
+
UNKNOWN = 0,
|
|
521
|
+
|
|
522
|
+
UINT8 = 1,
|
|
523
|
+
|
|
524
|
+
INT8 = 2,
|
|
525
|
+
|
|
526
|
+
UINT16 = 3,
|
|
527
|
+
|
|
528
|
+
INT16 = 4,
|
|
529
|
+
|
|
530
|
+
UINT32 = 5,
|
|
531
|
+
|
|
532
|
+
INT32 = 6,
|
|
533
|
+
|
|
534
|
+
FLOAT32 = 7,
|
|
535
|
+
|
|
536
|
+
FLOAT64 = 8,
|
|
537
|
+
}
|
|
538
|
+
",
|
|
539
|
+
"PackedElementField": "// Generated by https://github.com/foxglove/schemas
|
|
540
|
+
|
|
541
|
+
import { NumericType } from "./NumericType";
|
|
542
|
+
|
|
543
|
+
/** A field present within each element in a byte array of packed elements. */
|
|
544
|
+
export type PackedElementField = {
|
|
545
|
+
/** Name of the field */
|
|
546
|
+
name: string;
|
|
547
|
+
|
|
548
|
+
/** Byte offset from start of data buffer */
|
|
549
|
+
offset: number;
|
|
550
|
+
|
|
551
|
+
/** Type of data in the field. Integers are stored using little-endian byte order. */
|
|
552
|
+
type: NumericType;
|
|
553
|
+
};
|
|
554
|
+
",
|
|
555
|
+
"Point2": "// Generated by https://github.com/foxglove/schemas
|
|
556
|
+
|
|
557
|
+
/** A point representing a position in 2D space */
|
|
558
|
+
export type Point2 = {
|
|
559
|
+
/** x coordinate position */
|
|
560
|
+
x: number;
|
|
561
|
+
|
|
562
|
+
/** y coordinate position */
|
|
563
|
+
y: number;
|
|
564
|
+
};
|
|
565
|
+
",
|
|
566
|
+
"Point3": "// Generated by https://github.com/foxglove/schemas
|
|
567
|
+
|
|
568
|
+
/** A point representing a position in 3D space */
|
|
569
|
+
export type Point3 = {
|
|
570
|
+
/** x coordinate position */
|
|
571
|
+
x: number;
|
|
572
|
+
|
|
573
|
+
/** y coordinate position */
|
|
574
|
+
y: number;
|
|
575
|
+
|
|
576
|
+
/** z coordinate position */
|
|
577
|
+
z: number;
|
|
578
|
+
};
|
|
579
|
+
",
|
|
580
|
+
"PointCloud": "// Generated by https://github.com/foxglove/schemas
|
|
581
|
+
|
|
582
|
+
import { PackedElementField } from "./PackedElementField";
|
|
583
|
+
import { Pose } from "./Pose";
|
|
584
|
+
import { Time } from "./Time";
|
|
585
|
+
|
|
586
|
+
/** A collection of N-dimensional points, which may contain additional fields with information like normals, intensity, etc. */
|
|
587
|
+
export type PointCloud = {
|
|
588
|
+
/** Timestamp of point cloud */
|
|
589
|
+
timestamp: Time;
|
|
590
|
+
|
|
591
|
+
/** Frame of reference */
|
|
592
|
+
frame_id: string;
|
|
593
|
+
|
|
594
|
+
/** The origin of the point cloud relative to the frame of reference */
|
|
595
|
+
pose: Pose;
|
|
596
|
+
|
|
597
|
+
/** Number of bytes between points in the \`data\` */
|
|
598
|
+
point_stride: number;
|
|
599
|
+
|
|
600
|
+
/** Fields in \`data\`. At least 2 coordinate fields from \`x\`, \`y\`, and \`z\` are required for each point's position; \`red\`, \`green\`, \`blue\`, and \`alpha\` are optional for customizing each point's color. */
|
|
601
|
+
fields: PackedElementField[];
|
|
602
|
+
|
|
603
|
+
/** Point data, interpreted using \`fields\` */
|
|
604
|
+
data: Uint8Array;
|
|
605
|
+
};
|
|
606
|
+
",
|
|
607
|
+
"PointsAnnotation": "// Generated by https://github.com/foxglove/schemas
|
|
608
|
+
|
|
609
|
+
import { Color } from "./Color";
|
|
610
|
+
import { Point2 } from "./Point2";
|
|
611
|
+
import { PointsAnnotationType } from "./PointsAnnotationType";
|
|
612
|
+
import { Time } from "./Time";
|
|
613
|
+
|
|
614
|
+
/** An array of points on a 2D image */
|
|
615
|
+
export type PointsAnnotation = {
|
|
616
|
+
/** Timestamp of annotation */
|
|
617
|
+
timestamp: Time;
|
|
618
|
+
|
|
619
|
+
/** Type of points annotation to draw */
|
|
620
|
+
type: PointsAnnotationType;
|
|
621
|
+
|
|
622
|
+
/** Points in 2D image coordinates (pixels) */
|
|
623
|
+
points: Point2[];
|
|
624
|
+
|
|
625
|
+
/** Outline color */
|
|
626
|
+
outline_color: Color;
|
|
627
|
+
|
|
628
|
+
/** Per-point colors, if \`type\` is \`POINTS\`, or per-segment stroke colors, if \`type\` is \`LINE_LIST\`. */
|
|
629
|
+
outline_colors: Color[];
|
|
630
|
+
|
|
631
|
+
/** Fill color */
|
|
632
|
+
fill_color: Color;
|
|
633
|
+
|
|
634
|
+
/** Stroke thickness in pixels */
|
|
635
|
+
thickness: number;
|
|
636
|
+
};
|
|
637
|
+
",
|
|
638
|
+
"PointsAnnotationType": "// Generated by https://github.com/foxglove/schemas
|
|
639
|
+
|
|
640
|
+
/** Type of points annotation */
|
|
641
|
+
export enum PointsAnnotationType {
|
|
642
|
+
UNKNOWN = 0,
|
|
643
|
+
|
|
644
|
+
/** Individual points: 0, 1, 2, ... */
|
|
645
|
+
POINTS = 1,
|
|
646
|
+
|
|
647
|
+
/** Closed polygon: 0-1, 1-2, ..., (n-1)-n, n-0 */
|
|
648
|
+
LINE_LOOP = 2,
|
|
649
|
+
|
|
650
|
+
/** Connected line segments: 0-1, 1-2, ..., (n-1)-n */
|
|
651
|
+
LINE_STRIP = 3,
|
|
652
|
+
|
|
653
|
+
/** Individual line segments: 0-1, 2-3, 4-5, ... */
|
|
654
|
+
LINE_LIST = 4,
|
|
655
|
+
}
|
|
656
|
+
",
|
|
657
|
+
"Pose": "// Generated by https://github.com/foxglove/schemas
|
|
658
|
+
|
|
659
|
+
import { Quaternion } from "./Quaternion";
|
|
660
|
+
import { Vector3 } from "./Vector3";
|
|
661
|
+
|
|
662
|
+
/** A position and orientation for an object or reference frame in 3D space */
|
|
663
|
+
export type Pose = {
|
|
664
|
+
/** Point denoting position in 3D space */
|
|
665
|
+
position: Vector3;
|
|
666
|
+
|
|
667
|
+
/** Quaternion denoting orientation in 3D space */
|
|
668
|
+
orientation: Quaternion;
|
|
669
|
+
};
|
|
670
|
+
",
|
|
671
|
+
"PoseInFrame": "// Generated by https://github.com/foxglove/schemas
|
|
672
|
+
|
|
673
|
+
import { Pose } from "./Pose";
|
|
674
|
+
import { Time } from "./Time";
|
|
675
|
+
|
|
676
|
+
/** A timestamped pose for an object or reference frame in 3D space */
|
|
677
|
+
export type PoseInFrame = {
|
|
678
|
+
/** Timestamp of pose */
|
|
679
|
+
timestamp: Time;
|
|
680
|
+
|
|
681
|
+
/** Frame of reference for pose position and orientation */
|
|
682
|
+
frame_id: string;
|
|
683
|
+
|
|
684
|
+
/** Pose in 3D space */
|
|
685
|
+
pose: Pose;
|
|
686
|
+
};
|
|
687
|
+
",
|
|
688
|
+
"PosesInFrame": "// Generated by https://github.com/foxglove/schemas
|
|
689
|
+
|
|
690
|
+
import { Pose } from "./Pose";
|
|
691
|
+
import { Time } from "./Time";
|
|
692
|
+
|
|
693
|
+
/** An array of timestamped poses for an object or reference frame in 3D space */
|
|
694
|
+
export type PosesInFrame = {
|
|
695
|
+
/** Timestamp of pose */
|
|
696
|
+
timestamp: Time;
|
|
697
|
+
|
|
698
|
+
/** Frame of reference for pose position and orientation */
|
|
699
|
+
frame_id: string;
|
|
700
|
+
|
|
701
|
+
/** Poses in 3D space */
|
|
702
|
+
poses: Pose[];
|
|
703
|
+
};
|
|
704
|
+
",
|
|
705
|
+
"PositionCovarianceType": "// Generated by https://github.com/foxglove/schemas
|
|
706
|
+
|
|
707
|
+
/** Type of position covariance */
|
|
708
|
+
export enum PositionCovarianceType {
|
|
709
|
+
UNKNOWN = 0,
|
|
710
|
+
|
|
711
|
+
APPROXIMATED = 1,
|
|
712
|
+
|
|
713
|
+
DIAGONAL_KNOWN = 2,
|
|
714
|
+
|
|
715
|
+
KNOWN = 3,
|
|
716
|
+
}
|
|
717
|
+
",
|
|
718
|
+
"Quaternion": "// Generated by https://github.com/foxglove/schemas
|
|
719
|
+
|
|
720
|
+
/** A [quaternion](https://eater.net/quaternions) representing a rotation in 3D space */
|
|
721
|
+
export type Quaternion = {
|
|
722
|
+
/** x value */
|
|
723
|
+
x: number;
|
|
724
|
+
|
|
725
|
+
/** y value */
|
|
726
|
+
y: number;
|
|
727
|
+
|
|
728
|
+
/** z value */
|
|
729
|
+
z: number;
|
|
730
|
+
|
|
731
|
+
/** w value */
|
|
732
|
+
w: number;
|
|
733
|
+
};
|
|
734
|
+
",
|
|
735
|
+
"RawImage": "// Generated by https://github.com/foxglove/schemas
|
|
736
|
+
|
|
737
|
+
import { Time } from "./Time";
|
|
738
|
+
|
|
739
|
+
/** A raw image */
|
|
740
|
+
export type RawImage = {
|
|
741
|
+
/** Timestamp of image */
|
|
742
|
+
timestamp: Time;
|
|
743
|
+
|
|
744
|
+
/** Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. */
|
|
745
|
+
frame_id: string;
|
|
746
|
+
|
|
747
|
+
/** Image width */
|
|
748
|
+
width: number;
|
|
749
|
+
|
|
750
|
+
/** Image height */
|
|
751
|
+
height: number;
|
|
752
|
+
|
|
753
|
+
/**
|
|
754
|
+
* Encoding of the raw image data
|
|
755
|
+
*
|
|
756
|
+
* Supported values: \`8UC1\`, \`8UC3\`, \`16UC1\`, \`32FC1\`, \`bayer_bggr8\`, \`bayer_gbrg8\`, \`bayer_grbg8\`, \`bayer_rggb8\`, \`bgr8\`, \`bgra8\`, \`mono8\`, \`mono16\`, \`rgb8\`, \`rgba8\`, \`yuv422\`
|
|
757
|
+
*/
|
|
758
|
+
encoding: string;
|
|
759
|
+
|
|
760
|
+
/** Byte length of a single row */
|
|
761
|
+
step: number;
|
|
762
|
+
|
|
763
|
+
/** Raw image data */
|
|
764
|
+
data: Uint8Array;
|
|
765
|
+
};
|
|
766
|
+
",
|
|
767
|
+
"SceneEntity": "// Generated by https://github.com/foxglove/schemas
|
|
768
|
+
|
|
769
|
+
import { ArrowPrimitive } from "./ArrowPrimitive";
|
|
770
|
+
import { CubePrimitive } from "./CubePrimitive";
|
|
771
|
+
import { CylinderPrimitive } from "./CylinderPrimitive";
|
|
772
|
+
import { Duration } from "./Duration";
|
|
773
|
+
import { KeyValuePair } from "./KeyValuePair";
|
|
774
|
+
import { LinePrimitive } from "./LinePrimitive";
|
|
775
|
+
import { ModelPrimitive } from "./ModelPrimitive";
|
|
776
|
+
import { SpherePrimitive } from "./SpherePrimitive";
|
|
777
|
+
import { TextPrimitive } from "./TextPrimitive";
|
|
778
|
+
import { Time } from "./Time";
|
|
779
|
+
import { TriangleListPrimitive } from "./TriangleListPrimitive";
|
|
780
|
+
|
|
781
|
+
/** A visual element in a 3D scene. An entity may be composed of multiple primitives which all share the same frame of reference. */
|
|
782
|
+
export type SceneEntity = {
|
|
783
|
+
/** Timestamp of the entity */
|
|
784
|
+
timestamp: Time;
|
|
785
|
+
|
|
786
|
+
/** Frame of reference */
|
|
787
|
+
frame_id: string;
|
|
788
|
+
|
|
789
|
+
/** Identifier for the entity. A entity will replace any prior entity on the same topic with the same \`id\`. */
|
|
790
|
+
id: string;
|
|
791
|
+
|
|
792
|
+
/** Length of time (relative to \`timestamp\`) after which the entity should be automatically removed. Zero value indicates the entity should remain visible until it is replaced or deleted. */
|
|
793
|
+
lifetime: Duration;
|
|
794
|
+
|
|
795
|
+
/** Whether the entity should keep its location in the fixed frame (false) or follow the frame specified in \`frame_id\` as it moves relative to the fixed frame (true) */
|
|
796
|
+
frame_locked: boolean;
|
|
797
|
+
|
|
798
|
+
/** Additional user-provided metadata associated with the entity. Keys must be unique. */
|
|
799
|
+
metadata: KeyValuePair[];
|
|
800
|
+
|
|
801
|
+
/** Arrow primitives */
|
|
802
|
+
arrows: ArrowPrimitive[];
|
|
803
|
+
|
|
804
|
+
/** Cube primitives */
|
|
805
|
+
cubes: CubePrimitive[];
|
|
806
|
+
|
|
807
|
+
/** Sphere primitives */
|
|
808
|
+
spheres: SpherePrimitive[];
|
|
809
|
+
|
|
810
|
+
/** Cylinder primitives */
|
|
811
|
+
cylinders: CylinderPrimitive[];
|
|
812
|
+
|
|
813
|
+
/** Line primitives */
|
|
814
|
+
lines: LinePrimitive[];
|
|
815
|
+
|
|
816
|
+
/** Triangle list primitives */
|
|
817
|
+
triangles: TriangleListPrimitive[];
|
|
818
|
+
|
|
819
|
+
/** Text primitives */
|
|
820
|
+
texts: TextPrimitive[];
|
|
821
|
+
|
|
822
|
+
/** Model primitives */
|
|
823
|
+
models: ModelPrimitive[];
|
|
824
|
+
};
|
|
825
|
+
",
|
|
826
|
+
"SceneEntityDeletion": "// Generated by https://github.com/foxglove/schemas
|
|
827
|
+
|
|
828
|
+
import { SceneEntityDeletionType } from "./SceneEntityDeletionType";
|
|
829
|
+
import { Time } from "./Time";
|
|
830
|
+
|
|
831
|
+
/** Command to remove previously published entities */
|
|
832
|
+
export type SceneEntityDeletion = {
|
|
833
|
+
/** Timestamp of the deletion. Only matching entities earlier than this timestamp will be deleted. */
|
|
834
|
+
timestamp: Time;
|
|
835
|
+
|
|
836
|
+
/** Type of deletion action to perform */
|
|
837
|
+
type: SceneEntityDeletionType;
|
|
838
|
+
|
|
839
|
+
/** Identifier which must match if \`type\` is \`MATCHING_ID\`. */
|
|
840
|
+
id: string;
|
|
841
|
+
};
|
|
842
|
+
",
|
|
843
|
+
"SceneEntityDeletionType": "// Generated by https://github.com/foxglove/schemas
|
|
844
|
+
|
|
845
|
+
/** An enumeration indicating which entities should match a SceneEntityDeletion command */
|
|
846
|
+
export enum SceneEntityDeletionType {
|
|
847
|
+
/** Delete the existing entity on the same topic that has the provided \`id\` */
|
|
848
|
+
MATCHING_ID = 0,
|
|
849
|
+
|
|
850
|
+
/** Delete all existing entities on the same topic */
|
|
851
|
+
ALL = 1,
|
|
852
|
+
}
|
|
853
|
+
",
|
|
854
|
+
"SceneUpdate": "// Generated by https://github.com/foxglove/schemas
|
|
855
|
+
|
|
856
|
+
import { SceneEntity } from "./SceneEntity";
|
|
857
|
+
import { SceneEntityDeletion } from "./SceneEntityDeletion";
|
|
858
|
+
|
|
859
|
+
/** An update to the entities displayed in a 3D scene */
|
|
860
|
+
export type SceneUpdate = {
|
|
861
|
+
/** Scene entities to delete */
|
|
862
|
+
deletions: SceneEntityDeletion[];
|
|
863
|
+
|
|
864
|
+
/** Scene entities to add or replace */
|
|
865
|
+
entities: SceneEntity[];
|
|
866
|
+
};
|
|
867
|
+
",
|
|
868
|
+
"SpherePrimitive": "// Generated by https://github.com/foxglove/schemas
|
|
869
|
+
|
|
870
|
+
import { Color } from "./Color";
|
|
871
|
+
import { Pose } from "./Pose";
|
|
872
|
+
import { Vector3 } from "./Vector3";
|
|
873
|
+
|
|
874
|
+
/** A primitive representing a sphere or ellipsoid */
|
|
875
|
+
export type SpherePrimitive = {
|
|
876
|
+
/** Position of the center of the sphere and orientation of the sphere */
|
|
877
|
+
pose: Pose;
|
|
878
|
+
|
|
879
|
+
/** Size (diameter) of the sphere along each axis */
|
|
880
|
+
size: Vector3;
|
|
881
|
+
|
|
882
|
+
/** Color of the sphere */
|
|
883
|
+
color: Color;
|
|
884
|
+
};
|
|
885
|
+
",
|
|
886
|
+
"TextAnnotation": "// Generated by https://github.com/foxglove/schemas
|
|
887
|
+
|
|
888
|
+
import { Color } from "./Color";
|
|
889
|
+
import { Point2 } from "./Point2";
|
|
890
|
+
import { Time } from "./Time";
|
|
891
|
+
|
|
892
|
+
/** A text label on a 2D image */
|
|
893
|
+
export type TextAnnotation = {
|
|
894
|
+
/** Timestamp of annotation */
|
|
895
|
+
timestamp: Time;
|
|
896
|
+
|
|
897
|
+
/** Bottom-left origin of the text label in 2D image coordinates (pixels) */
|
|
898
|
+
position: Point2;
|
|
899
|
+
|
|
900
|
+
/** Text to display */
|
|
901
|
+
text: string;
|
|
902
|
+
|
|
903
|
+
/** Font size in pixels */
|
|
904
|
+
font_size: number;
|
|
905
|
+
|
|
906
|
+
/** Text color */
|
|
907
|
+
text_color: Color;
|
|
908
|
+
|
|
909
|
+
/** Background fill color */
|
|
910
|
+
background_color: Color;
|
|
911
|
+
};
|
|
912
|
+
",
|
|
913
|
+
"TextPrimitive": "// Generated by https://github.com/foxglove/schemas
|
|
914
|
+
|
|
915
|
+
import { Color } from "./Color";
|
|
916
|
+
import { Pose } from "./Pose";
|
|
917
|
+
|
|
918
|
+
/** A primitive representing a text label */
|
|
919
|
+
export type TextPrimitive = {
|
|
920
|
+
/** Position of the center of the text box and orientation of the text. Identity orientation means the text is oriented in the xy-plane and flows from -x to +x. */
|
|
921
|
+
pose: Pose;
|
|
922
|
+
|
|
923
|
+
/** Whether the text should respect \`pose.orientation\` (false) or always face the camera (true) */
|
|
924
|
+
billboard: boolean;
|
|
925
|
+
|
|
926
|
+
/** Font size (height of one line of text) */
|
|
927
|
+
font_size: number;
|
|
928
|
+
|
|
929
|
+
/** Indicates whether \`font_size\` is a fixed size in screen pixels (true), or specified in world coordinates and scales with distance from the camera (false) */
|
|
930
|
+
scale_invariant: boolean;
|
|
931
|
+
|
|
932
|
+
/** Color of the text */
|
|
933
|
+
color: Color;
|
|
934
|
+
|
|
935
|
+
/** Text */
|
|
936
|
+
text: string;
|
|
937
|
+
};
|
|
938
|
+
",
|
|
939
|
+
"Time": "export type Time = {
|
|
940
|
+
sec: number;
|
|
941
|
+
nsec: number;
|
|
942
|
+
};
|
|
943
|
+
",
|
|
944
|
+
"TriangleListPrimitive": "// Generated by https://github.com/foxglove/schemas
|
|
945
|
+
|
|
946
|
+
import { Color } from "./Color";
|
|
947
|
+
import { Point3 } from "./Point3";
|
|
948
|
+
import { Pose } from "./Pose";
|
|
949
|
+
|
|
950
|
+
/** A primitive representing a set of triangles or a surface tiled by triangles */
|
|
951
|
+
export type TriangleListPrimitive = {
|
|
952
|
+
/** Origin of triangles relative to reference frame */
|
|
953
|
+
pose: Pose;
|
|
954
|
+
|
|
955
|
+
/** Vertices to use for triangles, interpreted as a list of triples (0-1-2, 3-4-5, ...) */
|
|
956
|
+
points: Point3[];
|
|
957
|
+
|
|
958
|
+
/** Solid color to use for the whole shape. One of \`color\` or \`colors\` must be provided. */
|
|
959
|
+
color: Color;
|
|
960
|
+
|
|
961
|
+
/** Per-vertex colors (if specified, must have the same length as \`points\`). One of \`color\` or \`colors\` must be provided. */
|
|
962
|
+
colors: Color[];
|
|
963
|
+
|
|
964
|
+
/**
|
|
965
|
+
* Indices into the \`points\` and \`colors\` attribute arrays, which can be used to avoid duplicating attribute data.
|
|
966
|
+
*
|
|
967
|
+
* If omitted or empty, indexing will not be used. This default behavior is equivalent to specifying [0, 1, ..., N-1] for the indices (where N is the number of \`points\` provided).
|
|
968
|
+
*/
|
|
969
|
+
indices: number[];
|
|
970
|
+
};
|
|
971
|
+
",
|
|
972
|
+
"Vector2": "// Generated by https://github.com/foxglove/schemas
|
|
973
|
+
|
|
974
|
+
/** A vector in 2D space that represents a direction only */
|
|
975
|
+
export type Vector2 = {
|
|
976
|
+
/** x coordinate length */
|
|
977
|
+
x: number;
|
|
978
|
+
|
|
979
|
+
/** y coordinate length */
|
|
980
|
+
y: number;
|
|
981
|
+
};
|
|
982
|
+
",
|
|
983
|
+
"Vector3": "// Generated by https://github.com/foxglove/schemas
|
|
984
|
+
|
|
985
|
+
/** A vector in 3D space that represents a direction only */
|
|
986
|
+
export type Vector3 = {
|
|
987
|
+
/** x coordinate length */
|
|
988
|
+
x: number;
|
|
989
|
+
|
|
990
|
+
/** y coordinate length */
|
|
991
|
+
y: number;
|
|
992
|
+
|
|
993
|
+
/** z coordinate length */
|
|
994
|
+
z: number;
|
|
995
|
+
};
|
|
996
|
+
",
|
|
997
|
+
"index": "export * from "./ArrowPrimitive";
|
|
998
|
+
export * from "./CameraCalibration";
|
|
999
|
+
export * from "./CircleAnnotation";
|
|
1000
|
+
export * from "./Color";
|
|
1001
|
+
export * from "./CompressedImage";
|
|
1002
|
+
export * from "./CubePrimitive";
|
|
1003
|
+
export * from "./CylinderPrimitive";
|
|
1004
|
+
export * from "./FrameTransform";
|
|
1005
|
+
export * from "./FrameTransforms";
|
|
1006
|
+
export * from "./GeoJSON";
|
|
1007
|
+
export * from "./Grid";
|
|
1008
|
+
export * from "./ImageAnnotations";
|
|
1009
|
+
export * from "./KeyValuePair";
|
|
1010
|
+
export * from "./LaserScan";
|
|
1011
|
+
export * from "./LinePrimitive";
|
|
1012
|
+
export * from "./LineType";
|
|
1013
|
+
export * from "./LocationFix";
|
|
1014
|
+
export * from "./Log";
|
|
1015
|
+
export * from "./LogLevel";
|
|
1016
|
+
export * from "./ModelPrimitive";
|
|
1017
|
+
export * from "./NumericType";
|
|
1018
|
+
export * from "./PackedElementField";
|
|
1019
|
+
export * from "./Point2";
|
|
1020
|
+
export * from "./Point3";
|
|
1021
|
+
export * from "./PointCloud";
|
|
1022
|
+
export * from "./PointsAnnotation";
|
|
1023
|
+
export * from "./PointsAnnotationType";
|
|
1024
|
+
export * from "./Pose";
|
|
1025
|
+
export * from "./PoseInFrame";
|
|
1026
|
+
export * from "./PosesInFrame";
|
|
1027
|
+
export * from "./PositionCovarianceType";
|
|
1028
|
+
export * from "./Quaternion";
|
|
1029
|
+
export * from "./RawImage";
|
|
1030
|
+
export * from "./SceneEntity";
|
|
1031
|
+
export * from "./SceneEntityDeletion";
|
|
1032
|
+
export * from "./SceneEntityDeletionType";
|
|
1033
|
+
export * from "./SceneUpdate";
|
|
1034
|
+
export * from "./SpherePrimitive";
|
|
1035
|
+
export * from "./TextAnnotation";
|
|
1036
|
+
export * from "./TextPrimitive";
|
|
1037
|
+
export * from "./TriangleListPrimitive";
|
|
1038
|
+
export * from "./Vector2";
|
|
1039
|
+
export * from "./Vector3";
|
|
1040
|
+
",
|
|
1041
|
+
}
|
|
1042
|
+
`;
|