import { Vector3 } from "../bundle/sdk"; import { UNITS } from "./types"; /** * Convert BIM (Z-up) to Matterport (Y-up) * Converts a coordinate from a right handed Z-up coordinates system to a right handed Y-up coordinate system * @param revitCoords - coordinates * @param mpBasePoint - (optional) - if defined will offset the position based on the MP basepoint * @param bimBasepoint - (optional) - if defined will offset the position based on the BIM basepoint * @param unit - (optional) - default is m (meters). All other units will be converted to meters before scaling * @param scaleFactor - (optional) - default is 1 (1:1 scale). Applied after conversion to meters * @returns coordinates in meters */ export declare function convertZupToYup(revitCoords: { x: number; y: number; z: number; }, mpBasePoint?: { x: number; y: number; z: number; }, bimBasepoint?: { x: number; y: number; z: number; }, unit?: UNITS.MILLIMETER | UNITS.CENTIMETER | UNITS.METER | UNITS.FOOT | UNITS.INCH, scaleFactor?: number): Vector3; /** * Converts degress to quaternions * @param revitRotX * @param revitRotY * @param revitRotZ * @returns */ export declare function convertDegreeToQuarternion(revitRotX: number, revitRotY: number, revitRotZ: number): import("three").Quaternion; /** * Converts scale value from Z-up coordinates system to Y-up coordinate system * @param scale * @param unit - (optional) - default is m (meters). All other units will be converted to meters before scaling * @param scaleFactor - (optional) - default is 1 (1:1 scale). Applied after conversion to meters * @returns */ export declare function convertZupScaleToYupScale(scale: { x: number; y: number; z: number; }, unit?: UNITS.MILLIMETER | UNITS.CENTIMETER | UNITS.METER | UNITS.FOOT | UNITS.INCH, scaleFactor?: number): { x: number; y: number; z: number; }; /** * Convert Matterport (Y-up) to BIM (Z-up) * Converts a coordinate from a right handed Y-up coordinate system to a right handed Z-up coordinate system * @param objectPosition - coordinates in meters (ThreeJS uses meters) * @param mpBasePoint - (optional) - if defined will offset the position based on the MP basepoint * @param bimBasepoint - (optional) - if defined will offset the position based on the BIM basepoint * @param unit - (optional) - default is m (meters). Only affects the basePoint conversion * @param scaleFactor - (optional) - default is 1 (1:1 scale). Applied to coordinates in meters * @returns coordinates in the specified unit */ export declare function convertYupToZup(objectPosition: Vector3, mpBasePoint?: { x: number; y: number; z: number; }, bimBasepoint?: { x: number; y: number; z: number; }, unit?: UNITS.MILLIMETER | UNITS.CENTIMETER | UNITS.METER | UNITS.FOOT | UNITS.INCH, scaleFactor?: number): { x: number; y: number; z: number; }; export declare function convertQuaternionToDegree(quaternion: any): { x: number; y: number; z: number; }; /** * Converts scale value from Z-up coordinates system to Y-up coordinate system * @param scale * @param unit - (optional) - default is m (meters). * @param scaleFactor - (optional) - default is 1 (1:1 scale). * @returns */ export declare function convertYupScaleToZupScale(scale: { x: number; y: number; z: number; }, unit?: UNITS.MILLIMETER | UNITS.CENTIMETER | UNITS.METER | UNITS.FOOT | UNITS.INCH, scaleFactor?: number): { x: number; y: number; z: number; }; export declare function getOffsetPositionFromBasepoint(position: Vector3, basePoint: Vector3, unit?: 'mm' | 'cm' | 'm' | 'ft' | 'in', scaleFactor?: number): Vector3; /** * Gives you the simple relative position of an object to another object in the Matterport Space. Does not perform * @param position * @param relativeTo * @returns */ export declare function getRelativePosition(position: Vector3, relativeTo: Vector3): Vector3; /** * Gives your the original position of an object's relative position to another object. use this * to reverse the result given by getRelativePosition * @param position * @param relativeTo * @returns */ export declare function getOriginalWorldPosition(position: Vector3, relativeTo: Vector3): Vector3;