@anov/3d 0.0.153 → 0.0.176
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/anov3d.js +23 -25
- package/dist/anov3d.js.map +1 -1
- package/dist/applicationApi.js +57 -90
- package/dist/applicationApi.js.map +1 -1
- package/dist/applicationApiType.js +2 -0
- package/dist/applicationApiType.js.map +1 -0
- package/dist/factory/unit/inspection/InspectionObject.js +17 -12
- package/dist/factory/unit/inspection/InspectionObject.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/module/animation/index.js +124 -0
- package/dist/module/animation/index.js.map +1 -0
- package/dist/module/animation/motion/index.js +82 -0
- package/dist/module/animation/motion/index.js.map +1 -0
- package/dist/module/animation/strategy.js +27 -0
- package/dist/module/animation/strategy.js.map +1 -0
- package/dist/module/camera/index.js +56 -19
- package/dist/module/camera/index.js.map +1 -1
- package/dist/module/entity/baseEntity.js +41 -10
- package/dist/module/entity/baseEntity.js.map +1 -1
- package/dist/module/entity/group/index.js +80 -0
- package/dist/module/entity/group/index.js.map +1 -0
- package/dist/module/entity/index.js +152 -73
- package/dist/module/entity/index.js.map +1 -1
- package/dist/module/entity/model/index.js +25 -5
- package/dist/module/entity/model/index.js.map +1 -1
- package/dist/module/entity/model/load/loadGlb.js +4 -3
- package/dist/module/entity/model/load/loadGlb.js.map +1 -1
- package/dist/module/entity/poi/index.js +19 -208
- package/dist/module/entity/poi/index.js.map +1 -1
- package/dist/module/entity/poi/style/index.js +6 -46
- package/dist/module/entity/poi/style/index.js.map +1 -1
- package/dist/module/entity/poi/style/plane.js +60 -0
- package/dist/module/entity/poi/style/plane.js.map +1 -0
- package/dist/module/entity/poi/utils.js +1 -1
- package/dist/module/entity/poi/utils.js.map +1 -1
- package/dist/module/entity/spline/index.js +1 -1
- package/dist/module/entity/spline/index.js.map +1 -1
- package/dist/module/entity/spline/style/line_01.js.map +1 -1
- package/dist/module/entity/strategy.js +21 -1
- package/dist/module/entity/strategy.js.map +1 -1
- package/dist/module/entity/type.js.map +1 -1
- package/dist/module/environment/index.js +7 -2
- package/dist/module/environment/index.js.map +1 -1
- package/dist/module/material/index.js +150 -0
- package/dist/module/material/index.js.map +1 -0
- package/dist/module/scene/fileParse.js +250 -0
- package/dist/module/scene/fileParse.js.map +1 -0
- package/dist/module/scene/index.js +36 -2
- package/dist/module/scene/index.js.map +1 -1
- package/dist/sdkEntry.js +8 -0
- package/dist/sdkEntry.js.map +1 -1
- package/package.json +5 -4
- package/dist/module/entity/poi/indexBack.js +0 -29
- package/dist/module/entity/poi/indexBack.js.map +0 -1
package/dist/anov3d.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
var _excluded = ["position"];
|
|
1
2
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
3
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
4
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
6
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
4
7
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
5
8
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
6
9
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
@@ -11,56 +14,51 @@ import { SceneControl, Vector3, utils } from '@anov/3d-core';
|
|
|
11
14
|
import EventBus from "./module/eventBus";
|
|
12
15
|
import { EWeatherType } from "./module/environment/weather/type";
|
|
13
16
|
import { object2Vector3 } from "./utils/index";
|
|
14
|
-
import Model from "./module/model";
|
|
15
17
|
import { defaultCameraParams } from "./index";
|
|
16
18
|
var Anov3D = /*#__PURE__*/_createClass(function Anov3D(opts) {
|
|
17
|
-
var _camera$fov, _camera$near, _camera$far, _opts$size$width, _opts$size, _opts$size$height, _opts$size2, _opts$size$width2, _opts$size3, _opts$size$height2, _opts$size4, _scene$controls, _opts$camera;
|
|
18
19
|
_classCallCheck(this, Anov3D);
|
|
19
20
|
_defineProperty(this, "zoomRatio", 1);
|
|
20
21
|
_defineProperty(this, "opts", void 0);
|
|
21
22
|
_defineProperty(this, "sceneControl", void 0);
|
|
22
23
|
_defineProperty(this, "eventBus", void 0);
|
|
23
24
|
_defineProperty(this, "EWeatherType", EWeatherType);
|
|
24
|
-
_defineProperty(this, "model", void 0);
|
|
25
25
|
this.opts = opts;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
|
|
27
|
+
// 获取默认和传入的相机参数
|
|
28
|
+
var _opts$camera = opts.camera,
|
|
29
|
+
camera = _opts$camera === void 0 ? {} : _opts$camera,
|
|
30
|
+
_opts$container = opts.container,
|
|
31
|
+
clientWidth = _opts$container.clientWidth,
|
|
32
|
+
clientHeight = _opts$container.clientHeight;
|
|
33
|
+
var defaultPosition = defaultCameraParams.position,
|
|
34
|
+
defaultRest = _objectWithoutProperties(defaultCameraParams, _excluded);
|
|
35
|
+
|
|
36
|
+
// 初始化相机参数
|
|
37
|
+
var cameraParams = _objectSpread(_objectSpread(_objectSpread({}, defaultRest), camera), {}, {
|
|
38
|
+
position: camera.position ? new Vector3().fromArray(camera.position) : object2Vector3(defaultPosition)
|
|
39
|
+
});
|
|
35
40
|
var scene = new SceneControl({
|
|
36
|
-
orbitControls:
|
|
41
|
+
orbitControls: {
|
|
37
42
|
use: true
|
|
38
43
|
},
|
|
39
|
-
defCameraOps: _objectSpread({
|
|
40
|
-
aspect:
|
|
41
|
-
}
|
|
44
|
+
defCameraOps: _objectSpread(_objectSpread({}, cameraParams), {}, {
|
|
45
|
+
aspect: clientWidth / clientHeight
|
|
46
|
+
}),
|
|
42
47
|
rendererOps: {
|
|
43
|
-
shadowMap: true
|
|
44
|
-
size: {
|
|
45
|
-
width: (_opts$size$width2 = opts === null || opts === void 0 || (_opts$size3 = opts.size) === null || _opts$size3 === void 0 ? void 0 : _opts$size3.width) !== null && _opts$size$width2 !== void 0 ? _opts$size$width2 : opts.container.clientWidth,
|
|
46
|
-
height: (_opts$size$height2 = opts === null || opts === void 0 || (_opts$size4 = opts.size) === null || _opts$size4 === void 0 ? void 0 : _opts$size4.height) !== null && _opts$size$height2 !== void 0 ? _opts$size$height2 : opts.container.clientHeight
|
|
47
|
-
}
|
|
48
|
+
shadowMap: true
|
|
48
49
|
},
|
|
49
50
|
reset: true,
|
|
50
51
|
css2DRenderer: true,
|
|
51
52
|
css3DRenderer: true,
|
|
52
53
|
ambientLight: true
|
|
53
|
-
// fog: 'FogExp2' as any,
|
|
54
54
|
});
|
|
55
55
|
scene.render(opts.container);
|
|
56
|
-
|
|
56
|
+
scene.controls.target.copy(object2Vector3(defaultCameraParams.lookAt));
|
|
57
57
|
utils.emitter.emit('scene-completed', scene);
|
|
58
58
|
|
|
59
59
|
// 不考虑 tree-shaking
|
|
60
60
|
this.sceneControl = scene;
|
|
61
61
|
this.eventBus = new EventBus(this);
|
|
62
|
-
this.model = new Model();
|
|
63
|
-
this.opts.model && this.model.load(this.opts.model);
|
|
64
62
|
utils.storeManagement.set('event-bus', this.eventBus);
|
|
65
63
|
utils.emitter.emit('instantiation-completed', this);
|
|
66
64
|
});
|
package/dist/anov3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SceneControl","Vector3","utils","EventBus","EWeatherType","object2Vector3","
|
|
1
|
+
{"version":3,"names":["SceneControl","Vector3","utils","EventBus","EWeatherType","object2Vector3","defaultCameraParams","Anov3D","_createClass","opts","_classCallCheck","_defineProperty","_opts$camera","camera","_opts$container","container","clientWidth","clientHeight","defaultPosition","position","defaultRest","_objectWithoutProperties","_excluded","cameraParams","_objectSpread","fromArray","scene","orbitControls","use","defCameraOps","aspect","rendererOps","shadowMap","reset","css2DRenderer","css3DRenderer","ambientLight","render","controls","target","copy","lookAt","emitter","emit","sceneControl","eventBus","storeManagement","set"],"sources":["../src/anov3d.ts"],"sourcesContent":["import { SceneControl, Vector3, utils } from '@anov/3d-core'\nimport EventBus from './module/eventBus'\nimport { EWeatherType } from './module/environment/weather/type'\nimport { object2Vector3 } from './utils/index'\nimport type { InitOptions } from './applicationApiType'\nimport { defaultCameraParams } from './index'\n\ntype Anov3DOptions = {\n container: HTMLElement\n camera?: InitOptions['camera']\n}\n\nclass Anov3D {\n zoomRatio = 1\n opts: Anov3DOptions\n sceneControl: SceneControl\n eventBus: EventBus\n EWeatherType: typeof EWeatherType = EWeatherType\n\n constructor(opts: Anov3DOptions) {\n this.opts = opts\n\n // 获取默认和传入的相机参数\n const { camera = {}, container: { clientWidth, clientHeight } } = opts\n const { position: defaultPosition, ...defaultRest } = defaultCameraParams\n\n // 初始化相机参数\n const cameraParams = {\n ...defaultRest,\n ...camera,\n position: camera.position ? new Vector3().fromArray(camera.position) : object2Vector3(defaultPosition),\n }\n\n const scene = new SceneControl({\n orbitControls: { use: true },\n defCameraOps: {\n ...cameraParams,\n aspect: clientWidth / clientHeight,\n },\n rendererOps: {\n shadowMap: true,\n },\n reset: true,\n css2DRenderer: true,\n css3DRenderer: true,\n ambientLight: true,\n })\n\n scene.render(opts.container)\n scene.controls.target.copy(object2Vector3(defaultCameraParams.lookAt))\n\n utils.emitter.emit('scene-completed', scene)\n\n // 不考虑 tree-shaking\n this.sceneControl = scene\n this.eventBus = new EventBus(this)\n\n utils.storeManagement.set('event-bus', this.eventBus)\n utils.emitter.emit('instantiation-completed', this)\n }\n}\n\nexport default Anov3D"],"mappings":";;;;;;;;;;;;AAAA,SAASA,YAAY,EAAEC,OAAO,EAAEC,KAAK,QAAQ,eAAe;AAC5D,OAAOC,QAAQ;AACf,SAASC,YAAY;AACrB,SAASC,cAAc;AAEvB,SAASC,mBAAmB;AAAiB,IAOvCC,MAAM,gBAAAC,YAAA,CAOV,SAAAD,OAAYE,IAAmB,EAAE;EAAAC,eAAA,OAAAH,MAAA;EAAAI,eAAA,oBANrB,CAAC;EAAAA,eAAA;EAAAA,eAAA;EAAAA,eAAA;EAAAA,eAAA,uBAIuBP,YAAY;EAG9C,IAAI,CAACK,IAAI,GAAGA,IAAI;;EAEhB;EACA,IAAAG,YAAA,GAAkEH,IAAI,CAA9DI,MAAM;IAANA,MAAM,GAAAD,YAAA,cAAG,CAAC,CAAC,GAAAA,YAAA;IAAAE,eAAA,GAA+CL,IAAI,CAAjDM,SAAS;IAAIC,WAAW,GAAAF,eAAA,CAAXE,WAAW;IAAEC,YAAY,GAAAH,eAAA,CAAZG,YAAY;EAC3D,IAAkBC,eAAe,GAAqBZ,mBAAmB,CAAjEa,QAAQ;IAAsBC,WAAW,GAAAC,wBAAA,CAAKf,mBAAmB,EAAAgB,SAAA;;EAEzE;EACA,IAAMC,YAAY,GAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACbJ,WAAW,GACXP,MAAM;IACTM,QAAQ,EAAEN,MAAM,CAACM,QAAQ,GAAG,IAAIlB,OAAO,CAAC,CAAC,CAACwB,SAAS,CAACZ,MAAM,CAACM,QAAQ,CAAC,GAAGd,cAAc,CAACa,eAAe;EAAC,EACvG;EAED,IAAMQ,KAAK,GAAG,IAAI1B,YAAY,CAAC;IAC7B2B,aAAa,EAAE;MAAEC,GAAG,EAAE;IAAK,CAAC;IAC5BC,YAAY,EAAAL,aAAA,CAAAA,aAAA,KACPD,YAAY;MACfO,MAAM,EAAEd,WAAW,GAAGC;IAAY,EACnC;IACDc,WAAW,EAAE;MACXC,SAAS,EAAE;IACb,CAAC;IACDC,KAAK,EAAE,IAAI;IACXC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE;EAChB,CAAC,CAAC;EAEFV,KAAK,CAACW,MAAM,CAAC5B,IAAI,CAACM,SAAS,CAAC;EAC5BW,KAAK,CAACY,QAAQ,CAACC,MAAM,CAACC,IAAI,CAACnC,cAAc,CAACC,mBAAmB,CAACmC,MAAM,CAAC,CAAC;EAEtEvC,KAAK,CAACwC,OAAO,CAACC,IAAI,CAAC,iBAAiB,EAAEjB,KAAK,CAAC;;EAE5C;EACA,IAAI,CAACkB,YAAY,GAAGlB,KAAK;EACzB,IAAI,CAACmB,QAAQ,GAAG,IAAI1C,QAAQ,CAAC,IAAI,CAAC;EAElCD,KAAK,CAAC4C,eAAe,CAACC,GAAG,CAAC,WAAW,EAAE,IAAI,CAACF,QAAQ,CAAC;EACrD3C,KAAK,CAACwC,OAAO,CAACC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC;AACrD,CAAC;AAGH,eAAepC,MAAM"}
|
package/dist/applicationApi.js
CHANGED
|
@@ -11,18 +11,16 @@ import { utils } from '@anov/3d-core';
|
|
|
11
11
|
import { getFnByFnkey } from "./utils/index";
|
|
12
12
|
import { MessageType, sendToMessage } from "./utils/messageFn";
|
|
13
13
|
import { EMessageStatus } from "./messageStatus";
|
|
14
|
-
import
|
|
15
|
-
import Anov3D
|
|
14
|
+
import FileParse from "./module/scene/fileParse";
|
|
15
|
+
import Anov3D from "./index";
|
|
16
16
|
var storeManagement = utils.storeManagement;
|
|
17
17
|
var Application = /*#__PURE__*/function () {
|
|
18
|
-
function Application(opts
|
|
18
|
+
function Application(opts) {
|
|
19
19
|
_classCallCheck(this, Application);
|
|
20
20
|
_defineProperty(this, "container", void 0);
|
|
21
21
|
_defineProperty(this, "iEngine", void 0);
|
|
22
|
-
_defineProperty(this, "progressCb", void 0);
|
|
23
|
-
_defineProperty(this, "lastProgressCount", 0);
|
|
24
22
|
this.container = opts.el;
|
|
25
|
-
|
|
23
|
+
utils.storeManagement.set('decoderPath', opts.decoderPath);
|
|
26
24
|
sendToMessage({
|
|
27
25
|
messageType: MessageType.Api,
|
|
28
26
|
messageName: 'engineReady',
|
|
@@ -32,82 +30,28 @@ var Application = /*#__PURE__*/function () {
|
|
|
32
30
|
_createClass(Application, [{
|
|
33
31
|
key: "init",
|
|
34
32
|
value: function init(params, id) {
|
|
35
|
-
var _this = this;
|
|
36
33
|
try {
|
|
37
|
-
var
|
|
34
|
+
var _set$zoomRatio;
|
|
38
35
|
var _ref = params || {},
|
|
39
36
|
_ref$camera = _ref.camera,
|
|
40
37
|
camera = _ref$camera === void 0 ? {} : _ref$camera,
|
|
41
38
|
set = _ref.set;
|
|
42
39
|
var cameraParams = {
|
|
43
|
-
|
|
44
|
-
near: (_camera$near = camera.near) !== null && _camera$near !== void 0 ? _camera$near : defaultCameraParams.near,
|
|
45
|
-
far: (_camera$far = camera.far) !== null && _camera$far !== void 0 ? _camera$far : defaultCameraParams.far,
|
|
46
|
-
position: camera.position,
|
|
47
|
-
target: camera.target
|
|
40
|
+
position: camera.position
|
|
48
41
|
};
|
|
49
42
|
var anov3D = new Anov3D({
|
|
50
43
|
container: this.container,
|
|
51
|
-
|
|
52
|
-
// temporary solution by LM
|
|
53
|
-
size: {
|
|
54
|
-
width: (_params$size$width = params === null || params === void 0 || (_params$size = params.size) === null || _params$size === void 0 ? void 0 : _params$size.width) !== null && _params$size$width !== void 0 ? _params$size$width : this.container.clientWidth,
|
|
55
|
-
height: (_params$size$height = params === null || params === void 0 || (_params$size2 = params.size) === null || _params$size2 === void 0 ? void 0 : _params$size2.height) !== null && _params$size$height !== void 0 ? _params$size$height : this.container.clientHeight
|
|
56
|
-
},
|
|
57
|
-
camera: _objectSpread({}, cameraParams),
|
|
58
|
-
environment: {
|
|
59
|
-
weather: params === null || params === void 0 || (_params$environment = params.environment) === null || _params$environment === void 0 ? void 0 : _params$environment.weather,
|
|
60
|
-
time: params === null || params === void 0 || (_params$environment2 = params.environment) === null || _params$environment2 === void 0 ? void 0 : _params$environment2.time
|
|
61
|
-
},
|
|
62
|
-
controls: params === null || params === void 0 ? void 0 : params.controls
|
|
44
|
+
camera: _objectSpread({}, cameraParams)
|
|
63
45
|
});
|
|
64
46
|
this.iEngine = anov3D;
|
|
65
47
|
this.iEngine.zoomRatio = (_set$zoomRatio = set === null || set === void 0 ? void 0 : set.zoomRatio) !== null && _set$zoomRatio !== void 0 ? _set$zoomRatio : 1;
|
|
66
48
|
storeManagement.set('container', this.container);
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
messageType: MessageType.Api,
|
|
74
|
-
messageName: 'core.init',
|
|
75
|
-
status: EMessageStatus.Success,
|
|
76
|
-
id: id
|
|
77
|
-
});
|
|
78
|
-
};
|
|
79
|
-
caseInstance.loadingManager.onProgress = function (_, loaded, total) {
|
|
80
|
-
var progress = loaded / total;
|
|
81
|
-
if (_this.progressCb && _this.lastProgressCount <= progress) {
|
|
82
|
-
_this.progressCb(progress);
|
|
83
|
-
_this.lastProgressCount = progress;
|
|
84
|
-
}
|
|
85
|
-
if (progress >= 1) {
|
|
86
|
-
sendToMessage({
|
|
87
|
-
messageType: MessageType.Api,
|
|
88
|
-
messageName: 'core.init',
|
|
89
|
-
status: EMessageStatus.Success,
|
|
90
|
-
id: id
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
sendToMessage({
|
|
94
|
-
messageType: MessageType.Event,
|
|
95
|
-
messageName: 'onInitProgress',
|
|
96
|
-
status: EMessageStatus.Success,
|
|
97
|
-
id: id
|
|
98
|
-
}, {
|
|
99
|
-
progress: progress
|
|
100
|
-
});
|
|
101
|
-
};
|
|
102
|
-
} else {
|
|
103
|
-
// 空场景,返回初始成功消息
|
|
104
|
-
sendToMessage({
|
|
105
|
-
messageType: MessageType.Api,
|
|
106
|
-
messageName: 'core.init',
|
|
107
|
-
status: EMessageStatus.Success,
|
|
108
|
-
id: id
|
|
109
|
-
});
|
|
110
|
-
}
|
|
49
|
+
sendToMessage({
|
|
50
|
+
messageType: MessageType.Api,
|
|
51
|
+
messageName: 'core.init',
|
|
52
|
+
status: EMessageStatus.Success,
|
|
53
|
+
id: id
|
|
54
|
+
});
|
|
111
55
|
} catch (error) {
|
|
112
56
|
sendToMessage({
|
|
113
57
|
messageType: MessageType.Api,
|
|
@@ -118,12 +62,54 @@ var Application = /*#__PURE__*/function () {
|
|
|
118
62
|
console.error(error);
|
|
119
63
|
}
|
|
120
64
|
}
|
|
65
|
+
}, {
|
|
66
|
+
key: "initScene",
|
|
67
|
+
value: function initScene(params, id) {
|
|
68
|
+
try {
|
|
69
|
+
var _scc$nodes;
|
|
70
|
+
var scc = params.scc;
|
|
71
|
+
// 相机参数
|
|
72
|
+
var cameraNode = scc === null || scc === void 0 || (_scc$nodes = scc.nodes) === null || _scc$nodes === void 0 ? void 0 : _scc$nodes.find(function (node) {
|
|
73
|
+
return node.type === 'camera';
|
|
74
|
+
});
|
|
75
|
+
var cameraParams = cameraNode ? _objectSpread(_objectSpread({}, cameraNode.private || {}), {}, {
|
|
76
|
+
position: cameraNode.position
|
|
77
|
+
}) : undefined;
|
|
78
|
+
var anov3D = new Anov3D({
|
|
79
|
+
container: this.container,
|
|
80
|
+
camera: cameraParams
|
|
81
|
+
});
|
|
82
|
+
this.iEngine = anov3D;
|
|
83
|
+
storeManagement.set('container', this.container);
|
|
84
|
+
|
|
85
|
+
// 解析SCC
|
|
86
|
+
var sccParse = new FileParse(anov3D, scc);
|
|
87
|
+
sccParse.parseScene();
|
|
88
|
+
sendToMessage({
|
|
89
|
+
messageType: MessageType.Api,
|
|
90
|
+
messageName: 'scene.init',
|
|
91
|
+
status: EMessageStatus.Success,
|
|
92
|
+
id: id
|
|
93
|
+
});
|
|
94
|
+
} catch (error) {
|
|
95
|
+
sendToMessage({
|
|
96
|
+
messageType: MessageType.Api,
|
|
97
|
+
messageName: 'scene.init',
|
|
98
|
+
status: EMessageStatus.EventHandleFailed,
|
|
99
|
+
id: id
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
121
103
|
}, {
|
|
122
104
|
key: "sendMessage",
|
|
123
105
|
value: function sendMessage(req) {
|
|
106
|
+
// core.init 遗留逻辑
|
|
124
107
|
if (req.name === 'Core.init' || req.name === 'core.init') {
|
|
125
108
|
this.init(req.params, req.id);
|
|
126
109
|
return;
|
|
110
|
+
} else if (req.name === 'scene.init') {
|
|
111
|
+
this.initScene(req.params, req.id);
|
|
112
|
+
return;
|
|
127
113
|
}
|
|
128
114
|
if (!this.iEngine) throw new Error('please init first!');
|
|
129
115
|
var fn = getFnByFnkey(this.iEngine, req.name, req.id);
|
|
@@ -153,33 +139,14 @@ var Application = /*#__PURE__*/function () {
|
|
|
153
139
|
value: function receiveMessage(eventName, cb) {
|
|
154
140
|
utils.storeManagement.set(eventName, cb);
|
|
155
141
|
}
|
|
156
|
-
|
|
157
|
-
// 此方法 用于直接加载案例
|
|
158
|
-
}, {
|
|
159
|
-
key: "loadCase",
|
|
160
|
-
value: function loadCase(anov3D, option) {
|
|
161
|
-
switch (option.case) {
|
|
162
|
-
case 'factory':
|
|
163
|
-
// eslint-disable-next-line no-case-declarations
|
|
164
|
-
var factory = new Factory3D({
|
|
165
|
-
model: option.model,
|
|
166
|
-
environment: option.envMaps.imgBox,
|
|
167
|
-
decoderPath: option.decoderPath,
|
|
168
|
-
controls: option.controls
|
|
169
|
-
});
|
|
170
|
-
factory.renderScene(anov3D.sceneControl);
|
|
171
|
-
return factory;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
142
|
}]);
|
|
175
143
|
return Application;
|
|
176
144
|
}();
|
|
177
145
|
/**
|
|
178
|
-
*
|
|
146
|
+
* create an instance of Application
|
|
179
147
|
* @returns
|
|
180
148
|
*/
|
|
181
149
|
export var createInstance = function createInstance(opts) {
|
|
182
|
-
|
|
183
|
-
return new Application(opts, progressCb !== null && progressCb !== void 0 ? progressCb : function () {});
|
|
150
|
+
return new Application(opts);
|
|
184
151
|
};
|
|
185
152
|
//# sourceMappingURL=applicationApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["utils","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Factory3D","Anov3D","defaultCameraParams","storeManagement","Application","opts","progressCb","_classCallCheck","_defineProperty","container","el","messageType","Api","messageName","status","Success","_createClass","key","value","init","params","id","_this","_camera$fov","_camera$near","_camera$far","_params$size$width","_params$size","_params$size$height","_params$size2","_params$environment","_params$environment2","_set$zoomRatio","_ref","_ref$camera","camera","set","cameraParams","fov","near","far","position","target","anov3D","model","case","size","width","clientWidth","height","clientHeight","_objectSpread","environment","weather","time","controls","iEngine","zoomRatio","caseInstance","loadCase","loadingManager","onLoad","onProgress","_","loaded","total","progress","lastProgressCount","Event","error","EventHandleFailed","console","sendMessage","req","name","Error","fn","res","Promise","resolve","then","failMessage","message","receiveMessage","eventName","cb","option","factory","envMaps","imgBox","decoderPath","renderScene","sceneControl","createInstance","arguments","length","undefined"],"sources":["../src/applicationApi.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { getFnByFnkey } from './utils/index'\nimport { MessageType, sendToMessage } from './utils/messageFn'\nimport { EMessageStatus } from './messageStatus'\nimport Factory3D from './factory/3d'\nimport Anov3D, { defaultCameraParams } from './index'\n\nconst { storeManagement } = utils\n\ntype ApplicationOptions = {\n el: HTMLElement\n}\n\nexport type InitOptions = {\n case?: string // 案例名称,用于兼容init直接加载项目\n camera?: {\n fov?: number\n near?: number\n far?: number\n position?: [\n number,\n number,\n number,\n ]\n target?: [\n number,\n number,\n number,\n ]\n }\n model?: string\n decoderPath?: string // DRACO压缩 资源文件路径\n size?: {\n width: number\n height: number\n }\n environment?: {\n weather?: string\n time?: number\n }\n envMaps: {\n use?: boolean\n imgBox?: Array<string> | string\n }\n controls: {\n // 相机缩放范围\n minDistance?: number\n maxDistance?: number\n // 上下旋转范围\n minPolarAngle?: number// 默认值0\n maxPolarAngle?: number\n // 左右旋转范围\n minAzimuthAngle?: number\n maxAzimuthAngle?: number\n }\n set?: {\n zoomRatio?: number\n }\n}\n\nclass Application {\n container: HTMLElement\n iEngine: Anov3D | undefined\n private progressCb: (progress: number) => {}\n private lastProgressCount = 0\n\n constructor(opts: ApplicationOptions, progressCb: () => {}) {\n this.container = opts.el\n this.progressCb = progressCb\n\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'engineReady',\n status: EMessageStatus.Success,\n })\n }\n\n private init(params: InitOptions, id: string) {\n try {\n const { camera = {}, set } = params || {}\n\n const cameraParams = {\n fov: camera.fov ?? defaultCameraParams.fov,\n near: camera.near ?? defaultCameraParams.near,\n far: camera.far ?? defaultCameraParams.far,\n position: camera.position,\n target: camera.target,\n }\n\n const anov3D = new Anov3D({\n container: this.container,\n model: params?.case ? '' : params?.model, // temporary solution by LM\n size: {\n width: params?.size?.width ?? this.container.clientWidth,\n height: params?.size?.height ?? this.container.clientHeight,\n },\n camera: {\n ...cameraParams,\n },\n environment: {\n weather: params?.environment?.weather,\n time: params?.environment?.time,\n },\n controls: params?.controls,\n })\n\n this.iEngine = anov3D\n this.iEngine.zoomRatio = set?.zoomRatio ?? 1\n\n storeManagement.set('container', this.container)\n const caseInstance = params?.case && this.loadCase(anov3D, params)\n\n if (caseInstance) {\n // @ts-ignore\n this.iEngine.caseInstance = caseInstance\n\n caseInstance.loadingManager.onLoad = () => {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n\n caseInstance.loadingManager.onProgress = (_, loaded, total) => {\n const progress = loaded / total\n\n if (this.progressCb && this.lastProgressCount <= progress) {\n this.progressCb(progress)\n this.lastProgressCount = progress\n }\n\n if (progress >= 1) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onInitProgress',\n status: EMessageStatus.Success,\n id,\n },\n {\n progress,\n })\n }\n }\n else {\n // 空场景,返回初始成功消息\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n }\n catch (error) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.EventHandleFailed,\n id,\n })\n console.error(error)\n }\n }\n\n sendMessage(req: { name: string; id: string; params: any }) {\n if (req.name === 'Core.init' || req.name === 'core.init') {\n this.init(req.params, req.id)\n return\n }\n\n if (!this.iEngine)\n throw new Error('please init first!')\n\n const fn = getFnByFnkey(this.iEngine, req.name, req.id) as any\n\n try {\n const res = fn(req.params)\n\n Promise.resolve(res).then((res) => {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.Success,\n id: req.id,\n }, res)\n })\n }\n catch (error: any) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.EventHandleFailed,\n id: req.id,\n }, {\n failMessage: error.message,\n })\n }\n }\n\n receiveMessage(eventName: string, cb: (params: any) => void) {\n utils.storeManagement.set(eventName, cb)\n }\n\n // 此方法 用于直接加载案例\n private loadCase(anov3D: Anov3D, option: InitOptions) {\n switch (option.case) {\n case 'factory':\n\n // eslint-disable-next-line no-case-declarations\n const factory = new Factory3D({ model: option.model, environment: option.envMaps.imgBox as string, decoderPath: option.decoderPath, controls: option.controls })\n factory.renderScene(anov3D.sceneControl)\n return factory\n }\n }\n}\n\n/**\n * createInstance\n * @returns\n */\nexport const createInstance = (opts: ApplicationOptions, progressCb = () => {}): Application => {\n return new Application(opts, progressCb ?? (() => { }) as any)\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["utils","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","FileParse","Anov3D","storeManagement","Application","opts","_classCallCheck","_defineProperty","container","el","set","decoderPath","messageType","Api","messageName","status","Success","_createClass","key","value","init","params","id","_set$zoomRatio","_ref","_ref$camera","camera","cameraParams","position","anov3D","_objectSpread","iEngine","zoomRatio","error","EventHandleFailed","console","initScene","_scc$nodes","scc","cameraNode","nodes","find","node","type","private","undefined","sccParse","parseScene","sendMessage","req","name","Error","fn","res","Promise","resolve","then","failMessage","message","receiveMessage","eventName","cb","createInstance"],"sources":["../src/applicationApi.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { getFnByFnkey } from './utils/index'\nimport { MessageType, sendToMessage } from './utils/messageFn'\nimport { EMessageStatus } from './messageStatus'\nimport type { InitOptions } from './applicationApiType'\nimport FileParse from './module/scene/fileParse'\nimport Anov3D, { defaultCameraParams } from './index'\n\nconst { storeManagement } = utils\n\ntype ApplicationOptions = {\n el: HTMLElement\n decoderPath?: string\n}\n\nclass Application {\n container: HTMLElement\n iEngine: Anov3D\n\n constructor(opts: ApplicationOptions) {\n this.container = opts.el\n\n utils.storeManagement.set('decoderPath', opts.decoderPath)\n\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'engineReady',\n status: EMessageStatus.Success,\n })\n }\n\n private init(params: InitOptions, id: string) {\n try {\n const { camera = {}, set } = params || {}\n\n const cameraParams = {\n position: camera.position,\n }\n\n const anov3D = new Anov3D({\n container: this.container,\n camera: {\n ...cameraParams,\n },\n })\n\n this.iEngine = anov3D\n this.iEngine.zoomRatio = set?.zoomRatio ?? 1\n\n storeManagement.set('container', this.container)\n\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n\n catch (error) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.EventHandleFailed,\n id,\n })\n console.error(error)\n }\n }\n\n private initScene(params: any, id: string) {\n try {\n const { scc } = params\n // 相机参数\n const cameraNode = scc?.nodes?.find(node => node.type === 'camera')\n const cameraParams = cameraNode\n ? {\n ...(cameraNode.private || {}),\n position: cameraNode.position,\n }\n : undefined\n\n const anov3D = new Anov3D({\n container: this.container,\n camera: cameraParams,\n })\n this.iEngine = anov3D\n\n storeManagement.set('container', this.container)\n\n // 解析SCC\n const sccParse = new FileParse(anov3D, scc)\n sccParse.parseScene()\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'scene.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n catch (error) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'scene.init',\n status: EMessageStatus.EventHandleFailed,\n id,\n })\n }\n }\n\n sendMessage(req: { name: string; id: string; params: any }) {\n // core.init 遗留逻辑\n if (req.name === 'Core.init' || req.name === 'core.init') {\n this.init(req.params, req.id)\n return\n }\n else if (req.name === 'scene.init') {\n this.initScene(req.params, req.id)\n return\n }\n\n if (!this.iEngine)\n throw new Error('please init first!')\n\n const fn = getFnByFnkey(this.iEngine, req.name, req.id) as any\n\n try {\n const res = fn(req.params)\n\n Promise.resolve(res).then((res) => {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.Success,\n id: req.id,\n }, res)\n })\n }\n catch (error: any) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.EventHandleFailed,\n id: req.id,\n }, {\n failMessage: error.message,\n })\n }\n }\n\n receiveMessage(eventName: string, cb: (params: any) => void) {\n utils.storeManagement.set(eventName, cb)\n }\n}\n\n/**\n * create an instance of Application\n * @returns\n */\nexport const createInstance = (opts: ApplicationOptions): Application => {\n return new Application(opts)\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../src/applicationApiType.ts"],"sourcesContent":["export type InitOptions = {\n camera?: {\n position?: [\n number,\n number,\n number,\n ]\n }\n set?: {\n zoomRatio?: number\n }\n}\n"],"mappings":""}
|
|
@@ -232,7 +232,8 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
232
232
|
_context2.next = 3;
|
|
233
233
|
return this.loadModel();
|
|
234
234
|
case 3:
|
|
235
|
-
this.control = utils.moveWithLine(this.model, curve,
|
|
235
|
+
this.control = utils.moveWithLine(this.model, curve, {
|
|
236
|
+
speed: 10,
|
|
236
237
|
groundCurve: this.inspection.groundCurve
|
|
237
238
|
});
|
|
238
239
|
this.model.position.copy(curve.getPointAt(0));
|
|
@@ -489,14 +490,15 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
489
490
|
var _this7 = this;
|
|
490
491
|
var currentPosition = this.model.position;
|
|
491
492
|
var upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 20, currentPosition.z));
|
|
492
|
-
var upControl = utils.moveWithLine(this.model, upCurve,
|
|
493
|
-
|
|
493
|
+
var upControl = utils.moveWithLine(this.model, upCurve, {
|
|
494
|
+
speed: 10,
|
|
495
|
+
repeat: 1,
|
|
494
496
|
lookat: false
|
|
495
497
|
});
|
|
496
498
|
this.compassInfo.horizontalSpeed = 0;
|
|
497
499
|
this.compassInfo.verticalSpeed = 10;
|
|
498
500
|
upControl.addEventListener('end', function () {
|
|
499
|
-
_this7.control.
|
|
501
|
+
_this7.control.continue();
|
|
500
502
|
_this7.compassInfo.verticalSpeed = 0;
|
|
501
503
|
_this7.compassInfo.horizontalSpeed = 10;
|
|
502
504
|
});
|
|
@@ -519,8 +521,9 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
519
521
|
_this8.generateTempPathMesh(_this8.generateTempPath(new Vector3(_this8.model.position.x, 1.1, _this8.model.position.z), tempPathMeshtargetPosition));
|
|
520
522
|
var currentPosition = _this8.model.position;
|
|
521
523
|
var upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 50, currentPosition.z));
|
|
522
|
-
var upControl = utils.moveWithLine(_this8.model, upCurve,
|
|
523
|
-
|
|
524
|
+
var upControl = utils.moveWithLine(_this8.model, upCurve, {
|
|
525
|
+
speed: 10,
|
|
526
|
+
repeat: 1,
|
|
524
527
|
lookat: targetPosition
|
|
525
528
|
});
|
|
526
529
|
_this8.compassInfo.verticalSpeed = 10;
|
|
@@ -529,8 +532,9 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
529
532
|
// up end
|
|
530
533
|
upControl.addEventListener('end', function () {
|
|
531
534
|
var tempCurve = _this8.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z));
|
|
532
|
-
var tempControl = utils.moveWithLine(_this8.model, tempCurve,
|
|
533
|
-
|
|
535
|
+
var tempControl = utils.moveWithLine(_this8.model, tempCurve, {
|
|
536
|
+
speed: 60,
|
|
537
|
+
repeat: 1,
|
|
534
538
|
lookat: false
|
|
535
539
|
});
|
|
536
540
|
_this8.compassInfo.verticalSpeed = 0;
|
|
@@ -540,8 +544,9 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
540
544
|
tempControl.addEventListener('end', function () {
|
|
541
545
|
var lastPosition = _this8.model.position;
|
|
542
546
|
var downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 50, lastPosition.z));
|
|
543
|
-
var downControl = utils.moveWithLine(_this8.model, downCurve,
|
|
544
|
-
|
|
547
|
+
var downControl = utils.moveWithLine(_this8.model, downCurve, {
|
|
548
|
+
speed: 10,
|
|
549
|
+
repeat: 1,
|
|
545
550
|
lookat: false
|
|
546
551
|
});
|
|
547
552
|
_this8.compassInfo.verticalSpeed = 10;
|
|
@@ -559,7 +564,7 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
559
564
|
_this8.cleanTempPathMesh();
|
|
560
565
|
_this8.isAnimation = false;
|
|
561
566
|
_this8.control.setProgress(targetProgress);
|
|
562
|
-
_this8.control.
|
|
567
|
+
_this8.control.continue();
|
|
563
568
|
_this8.compassInfo.verticalSpeed = 0;
|
|
564
569
|
_this8.compassInfo.horizontalSpeed = 10;
|
|
565
570
|
}, 500);
|
|
@@ -583,7 +588,7 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
583
588
|
key: "contineMove",
|
|
584
589
|
value: function contineMove() {
|
|
585
590
|
if (!this.control) throw new Error('control not init');
|
|
586
|
-
if (this.contineCount === 0) this.takeOffAnimation();else this.control.
|
|
591
|
+
if (this.contineCount === 0) this.takeOffAnimation();else this.control.continue();
|
|
587
592
|
this.contineCount++;
|
|
588
593
|
this.isStartUp = true;
|
|
589
594
|
utils.emitter.emit('continue', true);
|