| @@ -4,11 +4,12 @@ | |||
| */ | |||
| export { default as area } from './area' | |||
| export { default as center } from './center' | |||
| export { default as bounds } from './bounds' | |||
| export { default as mid } from './mid' | |||
| export { default as center } from './center' | |||
| export { default as curve } from './curve' | |||
| export { default as distance } from './distance' | |||
| export { default as heading } from './heading' | |||
| export { default as isBetween } from './isBetween' | |||
| export { default as midCartesian } from './midCartesian' | |||
| export { default as midPosition } from './midPosition' | |||
| export { default as parabola } from './parabola' | |||
| export { default as curve } from './curve' | |||
| @@ -0,0 +1,13 @@ | |||
| /** | |||
| * @Author: Caven | |||
| * @Date: 2020-08-21 18:16:52 | |||
| */ | |||
| import { Cesium } from '@dc-modules/namespace' | |||
| export default function midCartesian(start, end) { | |||
| let c1 = Cesium.Ellipsoid.WGS84.cartesianToCartographic(start) | |||
| let c2 = Cesium.Ellipsoid.WGS84.cartesianToCartographic(end) | |||
| let cm = new Cesium.EllipsoidGeodesic(c1, c2).interpolateUsingFraction(0.5) | |||
| return Cesium.Ellipsoid.WGS84.cartographicToCartesian(cm) | |||
| } | |||
| @@ -8,17 +8,11 @@ import { Transform } from '@dc-modules/transform' | |||
| import Parse from '@dc-modules/parse/Parse' | |||
| import Position from '@dc-modules/position/Position' | |||
| export default function mid(start, end) { | |||
| let startPosition = start | |||
| let endPosition = end | |||
| if (!(start instanceof Cesium.Cartesian3)) { | |||
| startPosition = Parse.parsePosition(start) | |||
| startPosition = Transform.transformWGS84ToCartesian(startPosition) | |||
| } | |||
| if (!(end instanceof Cesium.Cartesian3)) { | |||
| endPosition = Parse.parsePosition(end) | |||
| endPosition = Transform.transformWGS84ToCartesian(endPosition) | |||
| } | |||
| export default function midPosition(start, end) { | |||
| let startPosition = Parse.parsePosition(start) | |||
| let endPosition = Parse.parsePosition(end) | |||
| startPosition = Transform.transformWGS84ToCartographic(startPosition) | |||
| endPosition = Transform.transformWGS84ToCartographic(endPosition) | |||
| let mc = new Cesium.EllipsoidGeodesic( | |||
| startPosition, | |||
| endPosition | |||
| @@ -22,7 +22,8 @@ import { | |||
| distance, | |||
| heading, | |||
| isBetween, | |||
| mid, | |||
| midCartesian, | |||
| midPosition, | |||
| parabola | |||
| } from '@dc-modules/math' | |||
| import Viewer from '@dc-modules/viewer/Viewer' | |||
| @@ -208,11 +209,13 @@ import thirdPart from '@dc-modules/thirdpart' | |||
| Cesium.Math.area = area | |||
| Cesium.Math.bounds = bounds | |||
| Cesium.Math.mid = mid | |||
| Cesium.Math.center = center | |||
| Cesium.Math.distance = distance | |||
| Cesium.Math.heading = heading | |||
| Cesium.Math.isBetween = isBetween | |||
| Cesium.Math.midCartesian = midCartesian | |||
| Cesium.Math.mid = midPosition | |||
| Cesium.Math.midPosition = midPosition | |||
| Cesium.Math.parabola = parabola | |||
| Cesium.Math.curve = curve | |||