UNPKG

@itwin/core-common

Version:

iTwin.js components common to frontend and backend

56 lines 2.16 kB
/** @packageDocumentation * @module Geometry */ import { Id64Array, Id64String } from "@itwin/core-bentley"; import { Matrix4dProps, TransformProps, XYZProps } from "@itwin/core-geometry"; import { GeometryStreamProps } from "../geometry/GeometryStream"; import { GeometryClass } from "../GeometryParams"; import { ViewFlagProps } from "../ViewFlags"; /** Information required to request a *snap* to a pickable decoration from the front end to the back end. * @internal RPC glue. */ export interface DecorationGeometryProps { readonly id: Id64String; readonly geometryStream: GeometryStreamProps; } /** Information required to request a *snap* to an element from the front end to the back end. * Includes the viewing parameters so that snap can be relative to the view direction, viewing mode, etc. * @internal RPC glue. */ export interface SnapRequestProps { id: Id64String; testPoint: XYZProps; closePoint: XYZProps; worldToView: Matrix4dProps; viewFlags?: ViewFlagProps; snapModes?: number[]; snapAperture?: number; snapDivisor?: number; subCategoryId?: Id64String; geometryClass?: GeometryClass; intersectCandidates?: Id64Array; decorationGeometry?: DecorationGeometryProps[]; /** A transform to be applied to the snap geometry. * testPoint, closePoint, and worldToView are in "world" coordinates (the coordinates of the viewport's iModel). * The snap geometry is in "model" coordinates (the coordinates of the iModel to which we're snapping). * In normal cases these are the same iModel. They may differ when people draw multiple iModels into the same viewport. */ modelToWorld?: TransformProps; } /** Information returned from the back end to the front end holding the result of a *snap* operation. * @internal RPC glue. */ export interface SnapResponseProps { status: number; snapMode?: number; heat?: number; geomType?: number; parentGeomType?: number; hitPoint?: XYZProps; snapPoint?: XYZProps; normal?: XYZProps; curve?: any; intersectCurve?: any; intersectId?: string; } //# sourceMappingURL=Snapping.d.ts.map