UNPKG

@itwin/measure-tools-react

Version:
198 lines 7.91 kB
import type { DecorateContext, GraphicBuilder, HitDetail, ScreenViewport } from "@itwin/core-frontend"; import { type IModelConnection } from "@itwin/core-frontend"; import type { XYProps, XYZProps } from "@itwin/core-geometry"; import { Point3d } from "@itwin/core-geometry"; import { Transform } from "@itwin/core-geometry"; import { Point2d } from "@itwin/core-geometry"; import type { DrawingMetadata } from "./Measurement.js"; export declare namespace SheetMeasurementHelper { enum DrawingTypeEnum { ProfileOrElevation = 5, Section = 3, Detail = 4, Plan = 6 } type DrawingType = DrawingTypeEnum | SheetMeasurementsHelper.DrawingType; interface SheetToWorldTransformProps { SVDOrigin?: XYZProps; SVDExtents?: XYZProps; SVDYaw?: number; SVDPitch?: number; SVDRoll?: number; sheetScale?: number; DVDOrigin?: XYProps; transformParams?: CivilSheetTransformParams; } interface DrawingTypeData { id: string; type?: number; origin: { x: number; y: number; }; bBoxLow: { x: number; y: number; }; bBoxHigh: { x: number; y: number; }; } /** Information needed to use the old Civil transform but will eventually be removed @deprecated */ interface CivilSheetTransformParams { masterOrigin: Point3d; sheetTov8Drawing: Transform; v8DrawingToDesign: Transform; } /** * Maps out the drawing types of every drawing in the imodel * @param imodel * @returns */ function getDrawingsTypes(imodel: IModelConnection): Promise<Map<string, number>>; /** * Position and general information for every drawing in the given sheet * @param imodel * @param sheetId * @returns */ function getDrawingInfo(imodel: IModelConnection, sheetId: string): Promise<DrawingTypeData[]>; function checkIfInDrawing(point: Point3d, drawingOrigin: Point2d, drawingExtents: Point2d): boolean; /** * Uses drawing metaData to transform a point from sheet coordinates to 3d world coordinates * @param point In sheet coordinates * @param transform * @returns Point in world coordinates */ function getCivilTransform(sheetToWorldTransform?: SheetToWorldTransformProps): Transform; /** * Main transform for drawings, takes a sheet point and transforms it to world coordinates * @param viewAttachmentOrigin * @param sheetToWorldTransform * @returns */ function getTransform(viewAttachmentOrigin?: XYProps, sheetToWorldTransformProps?: SheetToWorldTransformProps): Transform; /** * Gets the spatial info needed to create the transform, it will first check if it can do the generic transform but if not * every relation needed is present in the model, it'll try to fall back to the old civil method * @param imodel * @param drawing * @returns */ function getSpatialInfo(imodel: IModelConnection, drawing: DrawingTypeData): Promise<SheetToWorldTransformProps | undefined>; /** * Gives all the data needed for transforming points from 2d to 3d and what's needed to draw drawing contour * @param imodel * @param id * @param mousePos */ function getDrawingData(imodel: IModelConnection, id: string, mousePos: Point3d): Promise<{ sheetToWorldTransform: Transform; viewAttachmentOrigin: { x: number; y: number; }; viewAttachmentExtent: { x: number; y: number; }; transformProps: SheetToWorldTransformProps; drawingId: string; } | undefined>; function getSheetToolTipText(hit: HitDetail, allowedDrawingTypesList: SheetMeasurementHelper.DrawingType[], defaultToolTip: (hit: HitDetail) => Promise<HTMLElement | string>): Promise<string | HTMLElement>; function getDrawingContourGraphic(context: DecorateContext, origin: Point2d, extents: Point2d): GraphicBuilder; /** * Checks if the drawing pointed by the event is allowed according to the provided drawing types * Will return true if no drawing detected * @param ev * @param allowedDrawingTypes * @returns */ function checkIfAllowedDrawingType(viewport: ScreenViewport | undefined, point: Point3d, allowedDrawingTypes: DrawingType[]): boolean; function getDrawingMetadata(imodel: IModelConnection, id: string, mousePos: Point3d): Promise<DrawingMetadata | undefined>; } /** * @deprecated Use SheetMeasurementHelper instead */ export declare namespace SheetMeasurementsHelper { /** This maps directly to the viewType field found in the schema on BisCore.viewAttachment * @deprecated Use SheetMeasurementHelper.DrawingType instead */ enum DrawingType { CrossSection = 3, Profile = 5, Plan = 6 } /** * Used as parameter for measurement transform operation which is a 3 step process * @deprecated use SheetMeasurementHelper.SheetTransformParams instead */ interface SheetTransformParams { masterOrigin: Point3d; sheetTov8Drawing: Transform; v8DrawingToDesign: Transform; } /** * @deprecated use SheetMeasurementHelper.DrawingTypeData instead */ interface DrawingTypeData { origin: Point2d; extents: Point2d; type: DrawingType; } /** * @deprecated Use SheetMeasurementHelper's functions instead * @param imodel * @param id SheetViewDefinition ID * @param mousePos position of the mouse click * @returns Drawing metadata */ function getDrawingId(imodel: IModelConnection, id: string, mousePos: Point3d): Promise<DrawingMetadata | undefined>; /** * @deprecated use SheetMeasurementHelper.checkIfInDrawing instead * @param point * @param drawingOrigin * @param drawingExtents * @returns */ function checkIfInDrawing(point: Point3d, drawingOrigin: Point2d, drawingExtents: Point2d): boolean; /** * @deprecated use SheetMeasurementHelper.getDrawingContourGraphic instead * @param context * @param origin * @param extents * @returns */ function getDrawingContourGraphic(context: DecorateContext, origin: Point2d, extents: Point2d): GraphicBuilder; /** * Uses drawing metaData to transform a point from sheet coordinates to 3d world coordinates * @deprecated use SheetMeasurementHelper's functions instead * @param point In sheet coordinates * @param transform * @returns Point in world coordinates */ function measurementTransform(point: Point3d, transform: SheetTransformParams): Point3d; /** * @deprecated use SheetMeasurementHelper's functions instead */ function getSheetTypes(imodel: IModelConnection, id: string): Promise<DrawingTypeData[]>; /** * @deprecated use SheetMeasurementHelper.checkIfAllowedDrawingType instead * Checks if the drawing pointed by the event is allowed according to the provided drawing types * Will return true if no drawing detected * @param ev * @param allowedDrawingTypes * @returns */ function checkIfAllowedDrawingType(viewport: ScreenViewport | undefined, point: Point3d, allowedDrawingTypes: DrawingType[]): boolean; /** * @deprecated use SheetMeasurementHelper.getSheetToolTipText instead * @param hit * @param allowedDrawingTypesList * @param defaultToolTip * @returns */ function getSheetToolTipText(hit: HitDetail, allowedDrawingTypesList: SheetMeasurementsHelper.DrawingType[], defaultToolTip: (hit: HitDetail) => Promise<HTMLElement | string>): Promise<string | HTMLElement>; } //# sourceMappingURL=SheetMeasurementHelper.d.ts.map