@speckle/viewer
Version:
A 3d viewer for Speckle, based on threejs.
52 lines (51 loc) • 1.19 kB
TypeScript
export interface Query {
id?: string;
operation: string;
}
export type QueryResult = PointQueryResult | IntersectionQueryResult;
export type QueryOperation = 'Project' | 'Unproject' | 'Occlusion' | 'Pick';
export interface PointQuery extends Query {
point: {
x: number;
y: number;
z?: number;
w?: number;
};
operation: 'Project' | 'Unproject';
}
export interface IntersectionQuery extends Query {
point: {
x: number;
y: number;
z?: number;
w?: number;
};
tolerance?: number;
operation: 'Occlusion' | 'Pick';
}
export interface PointQueryResult {
x: number;
y: number;
z?: number;
w?: number;
inFrustum?: boolean;
}
export interface IntersectionQueryResult {
objects: Array<{
guid: string;
object?: Record<string, unknown>;
point: {
x: number;
y: number;
z: number;
};
}> | null;
}
export type QueryArgsResultMap = {
Project: PointQueryResult;
Unproject: PointQueryResult;
Occlusion: IntersectionQueryResult;
Pick: IntersectionQueryResult;
} & {
[key: string]: unknown;
};