@itwin/core-common
Version:
iTwin.js components common to frontend and backend
89 lines • 3.62 kB
TypeScript
/** @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