@baidumap/mapv-three 1.3.2 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/wasm/lanelet.wasm +0 -0
- package/dist/mapvthree.module.js +20848 -37913
- package/dist/mapvthree.umd.js +2 -2
- package/dist/types/threemap/animations/ObjectTracker.d.ts +57 -47
- package/dist/types/threemap/animations/ObjectTracker_deprecated.d.ts +56 -0
- package/dist/types/threemap/animations/PathTracker.d.ts +0 -5
- package/dist/types/threemap/animations/RotateTracker.d.ts +29 -0
- package/dist/types/threemap/animations/TrackerAbstract.d.ts +14 -0
- package/package.json +1 -1
|
@@ -1,56 +1,66 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* const objectTracker = engine.add(new ObjectTracker())
|
|
6
|
-
* objectTracker.track(car, {
|
|
7
|
-
* radius: 50,
|
|
8
|
-
* pitch: 40,
|
|
9
|
-
* heading: 0
|
|
10
|
-
* })
|
|
11
|
-
* ```
|
|
12
|
-
*/
|
|
13
|
-
export class ObjectTracker {
|
|
1
|
+
export class ObjectTracker extends TrackerAbstract {
|
|
2
|
+
/**
|
|
3
|
+
* 计算世界坐标系下的变换后 AABB(修正为 8 个唯一顶点)
|
|
4
|
+
*/
|
|
14
5
|
static computeTransformedBoundingBox(box: any, transform: any): any;
|
|
15
6
|
/** @private */ private _trackObject;
|
|
16
|
-
/** @private */ private _trackStatus;
|
|
17
7
|
/** @private */ private _trackConfig;
|
|
18
|
-
/** @private */ private
|
|
19
|
-
/** @private */ private _lastTrackParams;
|
|
8
|
+
/** @private */ private _lastState;
|
|
20
9
|
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
10
|
+
* 开始追踪
|
|
11
|
+
* @param {Object3D|Vector3|[number,number,number]|{instance:any,instanceIndex:number}} object
|
|
12
|
+
* @param {{
|
|
13
|
+
* radius?:number, pitch?:number, heading?:number,
|
|
14
|
+
* lock?:boolean, height?:number, extraDir?:number,
|
|
15
|
+
* duration?:number, easing?:string|Function
|
|
16
|
+
* }} config
|
|
17
|
+
*/
|
|
18
|
+
track(object: Object3D | Vector3 | [number, number, number] | {
|
|
19
|
+
instance: any;
|
|
20
|
+
instanceIndex: number;
|
|
21
|
+
}, config?: {
|
|
22
|
+
radius?: number;
|
|
23
|
+
pitch?: number;
|
|
24
|
+
heading?: number;
|
|
25
|
+
lock?: boolean;
|
|
26
|
+
height?: number;
|
|
27
|
+
extraDir?: number;
|
|
28
|
+
duration?: number;
|
|
29
|
+
easing?: string | Function;
|
|
30
|
+
}): void;
|
|
31
|
+
/**
|
|
32
|
+
* 基类要求:根据 ratio(0~1)返回当前帧状态
|
|
33
|
+
* 返回 { point: 地图坐标数组, hpr: {heading, pitch, roll} }
|
|
34
|
+
*/
|
|
35
|
+
updatePositionByPercentage(): {
|
|
36
|
+
point: any[];
|
|
37
|
+
hpr: {
|
|
38
|
+
heading: number;
|
|
39
|
+
pitch: number;
|
|
40
|
+
roll: number;
|
|
41
|
+
};
|
|
42
|
+
} | null;
|
|
43
|
+
onTrackFrame(): void;
|
|
31
44
|
/**
|
|
32
|
-
*
|
|
45
|
+
* 计算目标点与朝向(内部统一从“世界坐标”推导 → 转为“地图坐标”返回)
|
|
33
46
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
47
|
+
_computeTargetState(target: any, view: any): {
|
|
48
|
+
point: any[];
|
|
49
|
+
hpr: {
|
|
50
|
+
heading: number;
|
|
51
|
+
pitch: number;
|
|
52
|
+
roll: number;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
41
55
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* @param {Number} [view.yaw=0] 平视角
|
|
47
|
-
* @param {Number} [view.pitch=-0.5*PI] 俯仰角
|
|
48
|
-
* @param {Number} [view.radius=0] 和目标物之间的距离
|
|
49
|
-
* @returns {Object} 相机
|
|
56
|
+
* 采样目标的“世界中心点 + 朝向”
|
|
57
|
+
* - 支持 instanced entity
|
|
58
|
+
* - 支持 Object3D(合并子层级包围盒 → 取 boundingSphere.center)
|
|
59
|
+
* - 支持 Vector3 / [x,y,z]
|
|
50
60
|
*/
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}): Object;
|
|
61
|
+
_sampleTargetWorldPose(target: any, view: any): {
|
|
62
|
+
worldCenter: any;
|
|
63
|
+
targetEuler: any;
|
|
64
|
+
};
|
|
56
65
|
}
|
|
66
|
+
import { TrackerAbstract } from './TrackerAbstract';
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 对象跟踪
|
|
3
|
+
* 用于追踪指定物体,跟随对象调整视野
|
|
4
|
+
* ```javascript
|
|
5
|
+
* const objectTracker = engine.add(new ObjectTracker())
|
|
6
|
+
* objectTracker.track(car, {
|
|
7
|
+
* radius: 50,
|
|
8
|
+
* pitch: 40,
|
|
9
|
+
* heading: 0
|
|
10
|
+
* })
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export class ObjectTracker {
|
|
14
|
+
static computeTransformedBoundingBox(box: any, transform: any): any;
|
|
15
|
+
/** @private */ private _trackObject;
|
|
16
|
+
/** @private */ private _trackStatus;
|
|
17
|
+
/** @private */ private _trackConfig;
|
|
18
|
+
/** @private */ private _trackParams;
|
|
19
|
+
/** @private */ private _lastTrackParams;
|
|
20
|
+
/**
|
|
21
|
+
* 追踪物体
|
|
22
|
+
* @param {*} object 物体
|
|
23
|
+
* @param {*} config 追踪配置
|
|
24
|
+
* @param {number?} config.radius 和对象的距离
|
|
25
|
+
* @param {number?} config.heading 视野偏航角
|
|
26
|
+
* @param {number?} config.pitch 视野俯仰角
|
|
27
|
+
* @param {boolean?} config.lock 锁定视角,默认为true
|
|
28
|
+
* @param {number?} config.height 相机高度
|
|
29
|
+
*/
|
|
30
|
+
track(object: any, config: any): void;
|
|
31
|
+
/**
|
|
32
|
+
* 停止追踪
|
|
33
|
+
*/
|
|
34
|
+
stop(): void;
|
|
35
|
+
/** @protected */
|
|
36
|
+
protected afterAddToEngine(engine: any): void;
|
|
37
|
+
_engine: any;
|
|
38
|
+
/** @protected */
|
|
39
|
+
protected onBeforeScenePrepareRender(engine: any, scene: any, camera: any, renderState: any): void;
|
|
40
|
+
onTrackFrame(lastTrackParams: any, trackParams: any): void;
|
|
41
|
+
/**
|
|
42
|
+
* 获取目标相机
|
|
43
|
+
* @param {Object} viewer 视图实例
|
|
44
|
+
* @param {any} target 可以是 Vector3或者[x,y,z]或者是几何体Mesh,Polygon,Line,Point等
|
|
45
|
+
* @param {Object} view 目标视线
|
|
46
|
+
* @param {Number} [view.yaw=0] 平视角
|
|
47
|
+
* @param {Number} [view.pitch=-0.5*PI] 俯仰角
|
|
48
|
+
* @param {Number} [view.radius=0] 和目标物之间的距离
|
|
49
|
+
* @returns {Object} 相机
|
|
50
|
+
*/
|
|
51
|
+
getCameraByTargetAndView(engine: any, target: any, view?: {
|
|
52
|
+
yaw?: number | undefined;
|
|
53
|
+
pitch?: number | undefined;
|
|
54
|
+
radius?: number | undefined;
|
|
55
|
+
}): Object;
|
|
56
|
+
}
|
|
@@ -115,11 +115,6 @@ export class PathTracker extends TrackerAbstract {
|
|
|
115
115
|
*/
|
|
116
116
|
set track(target: any[] | Object);
|
|
117
117
|
get track(): any[] | Object;
|
|
118
|
-
dirUpToHPR(direction: any, position: any, up: any): {
|
|
119
|
-
heading: any;
|
|
120
|
-
pitch: any;
|
|
121
|
-
roll: any;
|
|
122
|
-
};
|
|
123
118
|
set interpolateDirectThreshold(value: number);
|
|
124
119
|
get interpolateDirectThreshold(): number;
|
|
125
120
|
set pointHandle(value: any);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export class RotateTracker extends TrackerAbstract {
|
|
2
|
+
center: number[];
|
|
3
|
+
radius: number;
|
|
4
|
+
_orbitNormal: any;
|
|
5
|
+
_startVector: any;
|
|
6
|
+
_pitchOffset: number;
|
|
7
|
+
_runConfig: {
|
|
8
|
+
center: any;
|
|
9
|
+
radius: any;
|
|
10
|
+
startAngle: any;
|
|
11
|
+
endAngle: any;
|
|
12
|
+
clockwise: any;
|
|
13
|
+
loopMode: any;
|
|
14
|
+
height: any;
|
|
15
|
+
} | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* 根据 ratio 计算圆周位置
|
|
18
|
+
*/
|
|
19
|
+
updatePositionByPercentage(ratio: any): {
|
|
20
|
+
point: any;
|
|
21
|
+
hpr: {
|
|
22
|
+
heading: any;
|
|
23
|
+
pitch: any;
|
|
24
|
+
roll: any;
|
|
25
|
+
};
|
|
26
|
+
direction: any;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
import { TrackerAbstract } from './TrackerAbstract';
|
|
@@ -26,11 +26,18 @@ export class TrackerAbstract {
|
|
|
26
26
|
/** @public */ public onStart: null;
|
|
27
27
|
/** @public */ public onFinish: null;
|
|
28
28
|
/** @public */ public onUpdate: null;
|
|
29
|
+
/** @private */ private _loopMode;
|
|
30
|
+
/** @private */ private _runtime;
|
|
31
|
+
/** @private */ private _withoutTrack;
|
|
29
32
|
_debug: boolean;
|
|
30
33
|
_trackPoint: null;
|
|
31
34
|
_trackLists: any[];
|
|
35
|
+
_startPoint: null;
|
|
36
|
+
_startLists: any[];
|
|
37
|
+
_stratIndex: number;
|
|
32
38
|
_lockView: boolean;
|
|
33
39
|
_viewFollow: boolean;
|
|
40
|
+
_keepRunning: boolean;
|
|
34
41
|
_easingFn: (t: any) => any;
|
|
35
42
|
_currentEasingFn: (t: any) => any;
|
|
36
43
|
_resolveEasing(easing: any): any;
|
|
@@ -58,6 +65,11 @@ export class TrackerAbstract {
|
|
|
58
65
|
* 更新动画状态
|
|
59
66
|
*/
|
|
60
67
|
update: () => void;
|
|
68
|
+
dirUpToHPR(direction: any, position: any, up: any): {
|
|
69
|
+
heading: any;
|
|
70
|
+
pitch: any;
|
|
71
|
+
roll: any;
|
|
72
|
+
};
|
|
61
73
|
updateObject(animationState: any): void;
|
|
62
74
|
updateCamera(animationState: any): void;
|
|
63
75
|
_updateDebug(point: any): void;
|
|
@@ -86,4 +98,6 @@ export class TrackerAbstract {
|
|
|
86
98
|
set object(value: any);
|
|
87
99
|
get object(): any;
|
|
88
100
|
_object: any;
|
|
101
|
+
set loopMode(v: string);
|
|
102
|
+
get loopMode(): string;
|
|
89
103
|
}
|