import { Cartographic } from './Cartographic';


/**
 * 椭圆测地线 计算测地距离
 */
export class EllipsoidGeodesic {
    start: Cartographic;
    end: Cartographic;

    constructor(_ellipsoid: any) {
        this.start = new Cartographic()
        this.end = new Cartographic()
    }

    computeProperties(ellipsoid: { cartographicToCartesian: (arg0: any, arg1: any) => any; maximumRadius: any; minimumRadius: any; }) {
        // var firstCartesian = Cartesian3.normalize(
        //     ellipsoid.cartographicToCartesian(start, scratchCart2),
        //     scratchCart1
        // );
        // var lastCartesian = Cartesian3.normalize(
        //     ellipsoid.cartographicToCartesian(end, scratchCart2),
        //     scratchCart2
        // );

        // //>>includeStart('debug', pragmas.debug);
        // Check.typeOf.number.greaterThanOrEquals(
        //     "value",
        //     Math.abs(
        //         Math.abs(Cartesian3.angleBetween(firstCartesian, lastCartesian)) - Math.PI
        //     ),
        //     0.0125
        // );
        // //>>includeEnd('debug');

        // vincentyInverseFormula(
        //     this,
        //     ellipsoid.maximumRadius,
        //     ellipsoid.minimumRadius,
        //     start.longitude,
        //     start.latitude,
        //     end.longitude,
        //     end.latitude
        // );

        // ellipsoidGeodesic._start = Cartographic.clone(
        //     start,
        //     ellipsoidGeodesic._start
        // );
        // ellipsoidGeodesic._end = Cartographic.clone(end, ellipsoidGeodesic._end);
        // ellipsoidGeodesic._start.height = 0;
        // ellipsoidGeodesic._end.height = 0;

        // setConstants(ellipsoidGeodesic);
    }
}