Преглед на файлове

add midCartesian math

tags/2.3.1
Caven Chen преди 4 години
родител
ревизия
9306a024a0
променени са 4 файла, в които са добавени 27 реда и са изтрити 16 реда
  1. 4
    3
      modules/math/index.js
  2. 13
    0
      modules/math/midCartesian.js
  3. 5
    11
      modules/math/midPosition.js
  4. 5
    2
      packages/core/src/components.js

+ 4
- 3
modules/math/index.js Целия файл

@@ -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'

+ 13
- 0
modules/math/midCartesian.js Целия файл

@@ -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)
}

modules/math/mid.js → modules/math/midPosition.js Целия файл

@@ -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

+ 5
- 2
packages/core/src/components.js Целия файл

@@ -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


Loading…
Отказ
Запис