import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Color } from "./Color"; import { Point3 } from "./Point3"; import { Pose } from "./Pose"; /** A primitive representing a series of points connected by lines */ export interface LinePrimitive { $type: "foxglove.LinePrimitive"; /** Drawing primitive to use for lines */ type: LinePrimitive_Type; /** Origin of lines relative to reference frame */ pose: Pose | undefined; /** Line thickness */ thickness: number; /** Indicates whether `thickness` is a fixed size in screen pixels (true), or specified in world coordinates and scales with distance from the camera (false) */ scaleInvariant: boolean; /** Points along the line */ points: Point3[]; /** Solid color to use for the whole line. One of `color` or `colors` must be provided. */ color: Color | undefined; /** Per-point colors (if specified, must have the same length as `points`). One of `color` or `colors` must be provided. */ colors: Color[]; /** * Indices into the `points` and `colors` attribute arrays, which can be used to avoid duplicating attribute data. * * 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). */ indices: number[]; } /** An enumeration indicating how input points should be interpreted to create lines */ export declare enum LinePrimitive_Type { /** LINE_STRIP - Connected line segments: 0-1, 1-2, ..., (n-1)-n */ LINE_STRIP = 0, /** LINE_LOOP - Closed polygon: 0-1, 1-2, ..., (n-1)-n, n-0 */ LINE_LOOP = 1, /** LINE_LIST - Individual line segments: 0-1, 2-3, 4-5, ... */ LINE_LIST = 2, UNRECOGNIZED = -1 } export declare function linePrimitive_TypeFromJSON(object: any): LinePrimitive_Type; export declare function linePrimitive_TypeToJSON(object: LinePrimitive_Type): string; export declare const LinePrimitive: MessageFns; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; type DeepPartial = T extends Builtin ? T : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in Exclude]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude | "$type">]: never; }; interface MessageFns { readonly $type: V; encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create, I>>(base?: I): T; fromPartial, I>>(object: I): T; } export {};