UNPKG

@itwin/core-common

Version:

iTwin.js components common to frontend and backend

89 lines 3.62 kB
/** @packageDocumentation * @module Geometry */ import { Transform } from "@itwin/core-geometry"; /** An affine transformation with an additional Z Offset. * The equations are: * given a = scale * cos(rotation) and b = scale * sin(rotation) * X = a * x - b * y + translationX * Y = b * x + a * y + translationY * Z = z + translationZ * @public * @extensions */ export interface Helmert2DWithZOffsetProps { /** The X post translation */ translationX: number; /** The Y post-translation */ translationY: number; /** The Z post-translation or Z offset*/ translationZ: number; /** The rotation in the trigonometric (CCW) direction in degrees. */ rotDeg: number; /** The scale. This scale applies to both X and Y axises. Does not apply to Z. */ scale: number; } /** An affine transformation with an additional Z Offset. * The equations are: * given a = scale * cos(rotation) and b = scale * sin(rotation) * X = a * x - b * y + translationX * Y = b * x + a * y + translationY * Z = z + translationZ * * Note that the class only implements the definition and not the operation. * @public */ export declare class Helmert2DWithZOffset implements Helmert2DWithZOffsetProps { /** The X post translation */ translationX: number; /** The Y post-translation */ translationY: number; /** The Z post-translation or Z offset*/ translationZ: number; /** The rotation in the trigonometric (CCW) direction in degrees. */ rotDeg: number; /** The scale. This scale applies to both X and Y axises. Does not apply to Z. */ scale: number; constructor(data?: Helmert2DWithZOffsetProps); /** Creates an Helmert Transform from JSON representation. * @public */ static fromJSON(data: Helmert2DWithZOffsetProps): Helmert2DWithZOffset; /** Creates a JSON from the Helmert Transform definition * @public */ toJSON(): Helmert2DWithZOffsetProps; /** Compares two Helmert2DWithZOffset objects applying a minuscule tolerance. * @public */ equals(other: Helmert2DWithZOffset): boolean; /** Convert Helmert2DWithZOffset object into Transfrom object * @public */ convertHelmertToTransform(): Transform; } /** Additional Transform definition * @public * @extensions */ export interface AdditionalTransformProps { /** The properties of a 2D Helmert transform with Z offset if one is defined. */ helmert2DWithZOffset?: Helmert2DWithZOffsetProps; } /** Additional Transform implementation. * An additional transform is a transformation that can apply to either the horizontal or vertical coordinates of a * geographic CRS. The transformation is applied after the latitude/longitude have been projected thus the process * is applied to the result Cartesian coordinates of the projection process. * @public */ export declare class AdditionalTransform implements AdditionalTransformProps { /** The properties of a 2D Helmert transform with Z offset if one is defined. */ readonly helmert2DWithZOffset?: Helmert2DWithZOffset; constructor(data?: AdditionalTransformProps); /** Creates an Additional Transform from JSON representation. * @public */ static fromJSON(data: AdditionalTransformProps): AdditionalTransform; /** Creates a JSON from the Additional Transform definition * @public */ toJSON(): AdditionalTransformProps; /** Compares two additional transforms applying a minuscule tolerance to comparing numbers. * @public */ equals(other: AdditionalTransform): boolean; } //# sourceMappingURL=AdditionalTransform.d.ts.map