/** @packageDocumentation * @module OrbitGT */ declare type int32 = number; import { AList } from "../../system/collection/AList"; import { Coordinate } from "../geom/Coordinate"; import { Axis } from "./Axis"; import { Unit } from "./Unit"; /** * Class CoordinateSystem manages the different coordinate systems. * * @version 1.0 October 2014 */ /** @internal */ export declare class CoordinateSystem { /** The name of this module */ private static readonly MODULE; /** The type of coordinate reference system (PROJECTED,GEOGRAPHIC_2D,...) */ private _type; /** The coordinate-system code */ private _csCode; /** The coordinate axes (defined by the csCode) */ private _axes; /** The X axis (derived) */ private _xAxis; /** The Y axis (derived) */ private _yAxis; /** The Z axis (derived) */ private _zAxis; /** The X unit (derived) */ private _xUnit; /** The Y unit (derived) */ private _yUnit; /** The Z unit (derived) */ private _zUnit; /** * Check if easting-northing axis order is swapped? * @param csCode the code of the coordinate-system. * @return true for swapped CRS. */ static isSwappedEN(csCode: int32): boolean; /** * Create a coordinate system. * @param type the type of coordinate reference system (PROJECTED,GEOGRAPHIC_2D,...). * @param csCode the coordinate-system code. * @param axes the (sorted on order) coordinate axes. * @return the coordinate system (null for an identify system). */ static create(type: int32, csCode: int32, axes: AList): CoordinateSystem; /** * Create a new coordinate system. * @param type the type of coordinate reference system (PROJECTED,GEOGRAPHIC_2D,...). * @param csCode the coordinate-system code. * @param axes the (sorted on order) coordinate axes. */ constructor(type: int32, csCode: int32, axes: AList); /** * Get the type of coordinate reference system (PROJECTED,GEOGRAPHIC_2D,...). * @return the type. */ getType(): int32; /** * Get the code of the coordinate system. * @return the code of the coordinate system. */ getCode(): int32; /** * Get the coordinate axes. * @return the coordinate axes. */ getAxes(): AList; /** * Do we have an identity transformation between local and standard forms? * @return true for an identity transform. */ isIdentity(): boolean; /** * Get the X axis. * @return the X axis. */ getXAxis(): Axis; /** * Get the Y axis. * @return the Y axis. */ getYAxis(): Axis; /** * Get the Z axis. * @return the Z axis. */ getZAxis(): Axis; /** * Get the unit of the first axis. * @return the unit of the first axis (null for the default unit). */ getXUnit(): Unit; /** * Get the unit of the second axis. * @return the unit of the second axis (null for the default unit). */ getYUnit(): Unit; /** * Get the unit of the third axis. * @return the unit of the third axis (null for the default unit). */ getZUnit(): Unit; /** * Parse a projection type coordinate system. */ private parseProjection; /** * Get a local coordinate. * @param local the coordinate. * @param axis the standard axis to retrieve. * @param order the default order. * @return the coordinate. */ private static getLocalCoordinate; /** * Convert a coordinate from the local to the standard form. * @param local the local coordinate (input). * @param standard the standard coordinate (can be same as local) (output). */ localToStandard(local: Coordinate, standard: Coordinate): void; /** * Get a standard coordinate. * @param x the standard x coordinate. * @param y the standard y coordinate. * @param z the standard z coordinate. * @param axis the local axis to consider. * @param index the default index. * @return the coordinate. */ private getStandardCoordinate; /** * Convert a coordinate from the standard to the local form. * @param standard the standard coordinate (input). * @param local the local coordinate (can be same as standard) (output). */ standardToLocal(standard: Coordinate, local: Coordinate): void; } export {}; //# sourceMappingURL=CoordinateSystem.d.ts.map