@anov/3d 0.0.108 → 0.0.109
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/applicationApi.d.ts
CHANGED
package/dist/applicationApi.js
CHANGED
|
@@ -20,6 +20,7 @@ var Application = /*#__PURE__*/function () {
|
|
|
20
20
|
_defineProperty(this, "container", void 0);
|
|
21
21
|
_defineProperty(this, "iEngine", void 0);
|
|
22
22
|
_defineProperty(this, "progressCb", void 0);
|
|
23
|
+
_defineProperty(this, "lastProgressCount", 0);
|
|
23
24
|
this.container = opts.el;
|
|
24
25
|
this.progressCb = progressCb;
|
|
25
26
|
sendToMessage(MessageType.Api, 'engineReady', EMessageStatus.Success);
|
|
@@ -68,7 +69,10 @@ var Application = /*#__PURE__*/function () {
|
|
|
68
69
|
};
|
|
69
70
|
caseInstance.loadingManager.onProgress = function (_, loaded, total) {
|
|
70
71
|
var progress = loaded / total;
|
|
71
|
-
if (_this.progressCb
|
|
72
|
+
if (_this.progressCb && _this.lastProgressCount <= progress) {
|
|
73
|
+
_this.progressCb(progress);
|
|
74
|
+
_this.lastProgressCount = progress;
|
|
75
|
+
}
|
|
72
76
|
sendToMessage(MessageType.Event, 'onInitProgress', EMessageStatus.Success, undefined, {
|
|
73
77
|
progress: progress
|
|
74
78
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["utils","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Factory3D","Anov3D","defaultCameraParams","storeManagement","Application","opts","progressCb","container","el","Api","Success","params","id","camera","set","cameraParams","fov","near","far","position","target","anov3D","model","case","size","width","clientWidth","height","clientHeight","environment","weather","time","controls","iEngine","zoomRatio","caseInstance","loadCase","loadingManager","onLoad","onProgress","_","loaded","total","progress","
|
|
1
|
+
{"version":3,"names":["utils","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Factory3D","Anov3D","defaultCameraParams","storeManagement","Application","opts","progressCb","container","el","Api","Success","params","id","camera","set","cameraParams","fov","near","far","position","target","anov3D","model","case","size","width","clientWidth","height","clientHeight","environment","weather","time","controls","iEngine","zoomRatio","caseInstance","loadCase","loadingManager","onLoad","onProgress","_","loaded","total","progress","lastProgressCount","Event","undefined","error","EventHandleFailed","console","req","name","init","Error","fn","res","Promise","resolve","then","failMessage","message","eventName","cb","option","factory","envMaps","imgBox","decoderPath","renderScene","sceneControl","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 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\n private lastProgressCount = 0\n\n constructor(opts: ApplicationOptions, progressCb: () => {}) {\n this.container = opts.el\n this.progressCb = progressCb\n\n sendToMessage(MessageType.Api, 'engineReady', EMessageStatus.Success)\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 = this.loadCase(anov3D, params)\n\n // @ts-ignore\n this.iEngine.caseInstance = caseInstance\n\n caseInstance.loadingManager.onLoad = () => {\n sendToMessage(MessageType.Api, 'core.init', EMessageStatus.Success, id)\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 sendToMessage(MessageType.Event, 'onInitProgress', EMessageStatus.Success, undefined, {\n progress,\n })\n }\n }\n catch (error) {\n sendToMessage(MessageType.Api, 'core.init', EMessageStatus.EventHandleFailed)\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(MessageType.Api, req.name, EMessageStatus.Success, req.id, res)\n })\n }\n catch (error: any) {\n sendToMessage(MessageType.Api, req.name, EMessageStatus.EventHandleFailed, req.id, {\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)\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anov/3d",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.109",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"localforage": "^1.10.0",
|
|
23
23
|
"resize-observer-polyfill": "^1.5.1",
|
|
24
24
|
"uuid": "^9.0.1",
|
|
25
|
-
"@anov/3d-
|
|
26
|
-
"@anov/3d-
|
|
25
|
+
"@anov/3d-ability": "^0.0.14",
|
|
26
|
+
"@anov/3d-core": "^0.0.13"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/uuid": "^9.0.7"
|