import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Color } from "./Color"; import { Point3 } from "./Point3"; import { Pose } from "./Pose"; /** A primitive representing a set of triangles or a surface tiled by triangles */ export interface TriangleListPrimitive { $type: "foxglove.TriangleListPrimitive"; /** Origin of triangles relative to reference frame */ pose: Pose | undefined; /** Vertices to use for triangles, interpreted as a list of triples (0-1-2, 3-4-5, ...) */ points: Point3[]; /** Solid color to use for the whole shape. One of `color` or `colors` must be provided. */ color: Color | undefined; /** Per-vertex 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[]; } export declare const TriangleListPrimitive: 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 {};