spot-sdk-ts
Version:
TypeScript bindings based on protobufs (proto3) provided by Boston Dynamics
450 lines • 20.7 kB
TypeScript
import { RequestHeader, ResponseHeader } from "./header";
import { Ray, Vec3, FrameTreeSnapshot } from "./geometry";
import _m0 from "protobufjs/minimal";
export declare const protobufPackage = "bosdyn.api";
export interface RaycastRequest {
/** Common request header. */
header: RequestHeader | undefined;
/** The ray's coordinate frame. When unset, this will default to vision frame. */
rayFrameName: string;
/** The ray, containing and origin and an direction. */
ray: Ray | undefined;
/**
* Ignore intersections closer than this location on the ray.
* Defaults to 0 if not provided.
*/
minIntersectionDistance: number;
/**
* Type of the raycast you want to perform. If multiple are set, the result will wait until
* all raycasts are complete and return a single result proto.
*
* If this field is left empty, all available sources are used.
*/
intersectionTypes: RayIntersection_Type[];
}
export interface RayIntersection {
/** Type of the raycast intersection that was performed. */
type: RayIntersection_Type;
/** Position of ray cast hit in the RaycastResponse hit_frame. */
hitPositionInHitFrame: Vec3 | undefined;
/** Distance of hit from ray origin. */
distanceMeters: number;
}
export declare enum RayIntersection_Type {
/** TYPE_UNKNOWN - TYPE_UNKNOWN should not be used. */
TYPE_UNKNOWN = 0,
/** TYPE_GROUND_PLANE - Intersected against estimated ground plane. */
TYPE_GROUND_PLANE = 1,
/** TYPE_TERRAIN_MAP - Intersected against the terrain map. */
TYPE_TERRAIN_MAP = 2,
/** TYPE_VOXEL_MAP - Intersected against the full 3D voxel map. */
TYPE_VOXEL_MAP = 3,
/** TYPE_HAND_DEPTH - Intersected against the hand depth data. */
TYPE_HAND_DEPTH = 4,
UNRECOGNIZED = -1
}
export declare function rayIntersection_TypeFromJSON(object: any): RayIntersection_Type;
export declare function rayIntersection_TypeToJSON(object: RayIntersection_Type): string;
export interface RaycastResponse {
/** Common response header. */
header: ResponseHeader | undefined;
/** Return status for a request. */
status: RaycastResponse_Status;
/** Human-readable error description. Not for programmatic analysis. */
message: string;
/**
* The frame raycast hits are returned in. Generally this should be the same frame the client
* initially requested in.
*/
hitFrameName: string;
/** Ray cast hits, sorted with the closest hit first along the ray's extent. */
hits: RayIntersection[];
/**
* A tree-based collection of transformations, which will include the
* transformations to each of the returned world objects in addition to
* transformations to the common frames ("vision", "body", "odom"). All
* transforms within the snapshot are taken at the time when the request is received.
*
* Note that each object's frame names are defined within the properties
* submessage e.g. "frame_name".
*/
transformsSnapshot: FrameTreeSnapshot | undefined;
}
export declare enum RaycastResponse_Status {
/** STATUS_UNKNOWN - An unknown / unexpected error occurred. */
STATUS_UNKNOWN = 0,
/** STATUS_OK - Request was accepted. */
STATUS_OK = 1,
/** STATUS_INVALID_REQUEST - [Programming Error] Request was invalid / malformed in some way. */
STATUS_INVALID_REQUEST = 2,
/** STATUS_INVALID_INTERSECTION_TYPE - [Programming Error] Requested source not valid for current robot configuration. */
STATUS_INVALID_INTERSECTION_TYPE = 3,
/** STATUS_UNKNOWN_FRAME - [Frame Error] The frame_name for a command was not a known frame. */
STATUS_UNKNOWN_FRAME = 4,
UNRECOGNIZED = -1
}
export declare function raycastResponse_StatusFromJSON(object: any): RaycastResponse_Status;
export declare function raycastResponse_StatusToJSON(object: RaycastResponse_Status): string;
export declare const RaycastRequest: {
encode(message: RaycastRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): RaycastRequest;
fromJSON(object: any): RaycastRequest;
toJSON(message: RaycastRequest): unknown;
fromPartial<I extends {
header?: {
requestTimestamp?: Date | undefined;
clientName?: string | undefined;
disableRpcLogging?: boolean | undefined;
} | undefined;
rayFrameName?: string | undefined;
ray?: {
origin?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} | undefined;
direction?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} | undefined;
} | undefined;
minIntersectionDistance?: number | undefined;
intersectionTypes?: RayIntersection_Type[] | undefined;
} & {
header?: ({
requestTimestamp?: Date | undefined;
clientName?: string | undefined;
disableRpcLogging?: boolean | undefined;
} & {
requestTimestamp?: Date | undefined;
clientName?: string | undefined;
disableRpcLogging?: boolean | undefined;
} & { [K in Exclude<keyof I["header"], keyof RequestHeader>]: never; }) | undefined;
rayFrameName?: string | undefined;
ray?: ({
origin?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} | undefined;
direction?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} | undefined;
} & {
origin?: ({
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} & {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} & { [K_1 in Exclude<keyof I["ray"]["origin"], keyof Vec3>]: never; }) | undefined;
direction?: ({
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} & {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} & { [K_2 in Exclude<keyof I["ray"]["direction"], keyof Vec3>]: never; }) | undefined;
} & { [K_3 in Exclude<keyof I["ray"], keyof Ray>]: never; }) | undefined;
minIntersectionDistance?: number | undefined;
intersectionTypes?: (RayIntersection_Type[] & RayIntersection_Type[] & { [K_4 in Exclude<keyof I["intersectionTypes"], keyof RayIntersection_Type[]>]: never; }) | undefined;
} & { [K_5 in Exclude<keyof I, keyof RaycastRequest>]: never; }>(object: I): RaycastRequest;
};
export declare const RayIntersection: {
encode(message: RayIntersection, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): RayIntersection;
fromJSON(object: any): RayIntersection;
toJSON(message: RayIntersection): unknown;
fromPartial<I extends {
type?: RayIntersection_Type | undefined;
hitPositionInHitFrame?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} | undefined;
distanceMeters?: number | undefined;
} & {
type?: RayIntersection_Type | undefined;
hitPositionInHitFrame?: ({
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} & {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} & { [K in Exclude<keyof I["hitPositionInHitFrame"], keyof Vec3>]: never; }) | undefined;
distanceMeters?: number | undefined;
} & { [K_1 in Exclude<keyof I, keyof RayIntersection>]: never; }>(object: I): RayIntersection;
};
export declare const RaycastResponse: {
encode(message: RaycastResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): RaycastResponse;
fromJSON(object: any): RaycastResponse;
toJSON(message: RaycastResponse): unknown;
fromPartial<I extends {
header?: {
requestHeader?: {
requestTimestamp?: Date | undefined;
clientName?: string | undefined;
disableRpcLogging?: boolean | undefined;
} | undefined;
requestReceivedTimestamp?: Date | undefined;
responseTimestamp?: Date | undefined;
error?: {
code?: import("./header").CommonError_Code | undefined;
message?: string | undefined;
data?: {
typeUrl?: string | undefined;
value?: Uint8Array | undefined;
} | undefined;
} | undefined;
request?: {
typeUrl?: string | undefined;
value?: Uint8Array | undefined;
} | undefined;
} | undefined;
status?: RaycastResponse_Status | undefined;
message?: string | undefined;
hitFrameName?: string | undefined;
hits?: {
type?: RayIntersection_Type | undefined;
hitPositionInHitFrame?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} | undefined;
distanceMeters?: number | undefined;
}[] | undefined;
transformsSnapshot?: {
childToParentEdgeMap?: {
[x: string]: {
parentFrameName?: string | undefined;
parentTformChild?: {
position?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} | undefined;
rotation?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
w?: number | undefined;
} | undefined;
} | undefined;
} | undefined;
} | undefined;
} | undefined;
} & {
header?: ({
requestHeader?: {
requestTimestamp?: Date | undefined;
clientName?: string | undefined;
disableRpcLogging?: boolean | undefined;
} | undefined;
requestReceivedTimestamp?: Date | undefined;
responseTimestamp?: Date | undefined;
error?: {
code?: import("./header").CommonError_Code | undefined;
message?: string | undefined;
data?: {
typeUrl?: string | undefined;
value?: Uint8Array | undefined;
} | undefined;
} | undefined;
request?: {
typeUrl?: string | undefined;
value?: Uint8Array | undefined;
} | undefined;
} & {
requestHeader?: ({
requestTimestamp?: Date | undefined;
clientName?: string | undefined;
disableRpcLogging?: boolean | undefined;
} & {
requestTimestamp?: Date | undefined;
clientName?: string | undefined;
disableRpcLogging?: boolean | undefined;
} & { [K in Exclude<keyof I["header"]["requestHeader"], keyof RequestHeader>]: never; }) | undefined;
requestReceivedTimestamp?: Date | undefined;
responseTimestamp?: Date | undefined;
error?: ({
code?: import("./header").CommonError_Code | undefined;
message?: string | undefined;
data?: {
typeUrl?: string | undefined;
value?: Uint8Array | undefined;
} | undefined;
} & {
code?: import("./header").CommonError_Code | undefined;
message?: string | undefined;
data?: ({
typeUrl?: string | undefined;
value?: Uint8Array | undefined;
} & {
typeUrl?: string | undefined;
value?: Uint8Array | undefined;
} & { [K_1 in Exclude<keyof I["header"]["error"]["data"], keyof import("../../google/protobuf/any").Any>]: never; }) | undefined;
} & { [K_2 in Exclude<keyof I["header"]["error"], keyof import("./header").CommonError>]: never; }) | undefined;
request?: ({
typeUrl?: string | undefined;
value?: Uint8Array | undefined;
} & {
typeUrl?: string | undefined;
value?: Uint8Array | undefined;
} & { [K_3 in Exclude<keyof I["header"]["request"], keyof import("../../google/protobuf/any").Any>]: never; }) | undefined;
} & { [K_4 in Exclude<keyof I["header"], keyof ResponseHeader>]: never; }) | undefined;
status?: RaycastResponse_Status | undefined;
message?: string | undefined;
hitFrameName?: string | undefined;
hits?: ({
type?: RayIntersection_Type | undefined;
hitPositionInHitFrame?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} | undefined;
distanceMeters?: number | undefined;
}[] & ({
type?: RayIntersection_Type | undefined;
hitPositionInHitFrame?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} | undefined;
distanceMeters?: number | undefined;
} & {
type?: RayIntersection_Type | undefined;
hitPositionInHitFrame?: ({
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} & {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} & { [K_5 in Exclude<keyof I["hits"][number]["hitPositionInHitFrame"], keyof Vec3>]: never; }) | undefined;
distanceMeters?: number | undefined;
} & { [K_6 in Exclude<keyof I["hits"][number], keyof RayIntersection>]: never; })[] & { [K_7 in Exclude<keyof I["hits"], keyof {
type?: RayIntersection_Type | undefined;
hitPositionInHitFrame?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} | undefined;
distanceMeters?: number | undefined;
}[]>]: never; }) | undefined;
transformsSnapshot?: ({
childToParentEdgeMap?: {
[x: string]: {
parentFrameName?: string | undefined;
parentTformChild?: {
position?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} | undefined;
rotation?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
w?: number | undefined;
} | undefined;
} | undefined;
} | undefined;
} | undefined;
} & {
childToParentEdgeMap?: ({
[x: string]: {
parentFrameName?: string | undefined;
parentTformChild?: {
position?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} | undefined;
rotation?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
w?: number | undefined;
} | undefined;
} | undefined;
} | undefined;
} & {
[x: string]: ({
parentFrameName?: string | undefined;
parentTformChild?: {
position?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} | undefined;
rotation?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
w?: number | undefined;
} | undefined;
} | undefined;
} & {
parentFrameName?: string | undefined;
parentTformChild?: ({
position?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} | undefined;
rotation?: {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
w?: number | undefined;
} | undefined;
} & {
position?: ({
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} & {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
} & { [K_8 in Exclude<keyof I["transformsSnapshot"]["childToParentEdgeMap"][string]["parentTformChild"]["position"], keyof Vec3>]: never; }) | undefined;
rotation?: ({
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
w?: number | undefined;
} & {
x?: number | undefined;
y?: number | undefined;
z?: number | undefined;
w?: number | undefined;
} & { [K_9 in Exclude<keyof I["transformsSnapshot"]["childToParentEdgeMap"][string]["parentTformChild"]["rotation"], keyof import("./geometry").Quaternion>]: never; }) | undefined;
} & { [K_10 in Exclude<keyof I["transformsSnapshot"]["childToParentEdgeMap"][string]["parentTformChild"], keyof import("./geometry").SE3Pose>]: never; }) | undefined;
} & { [K_11 in Exclude<keyof I["transformsSnapshot"]["childToParentEdgeMap"][string], keyof import("./geometry").FrameTreeSnapshot_ParentEdge>]: never; }) | undefined;
} & { [K_12 in Exclude<keyof I["transformsSnapshot"]["childToParentEdgeMap"], string | number>]: never; }) | undefined;
} & { [K_13 in Exclude<keyof I["transformsSnapshot"], "childToParentEdgeMap">]: never; }) | undefined;
} & { [K_14 in Exclude<keyof I, keyof RaycastResponse>]: never; }>(object: I): RaycastResponse;
};
declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
[K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
declare type KeysOfUnion<T> = T extends T ? keyof T : never;
export declare type Exact<P, I extends P> = P extends Builtin ? P : P & {
[K in keyof P]: Exact<P[K], I[K]>;
} & {
[K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
export {};
//# sourceMappingURL=ray_cast.d.ts.map