model-action 2.2.1 → 2.2.2

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/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export { StatusAction } from './modules/Status';
8
8
  export { CameraViewAction } from './modules/CameraView';
9
9
  export { FocusAction } from './modules/Focus';
10
10
  export { SceneAction } from './modules/Scene';
11
+ export { SceneMarkAction } from './modules/SceneMark';
11
12
  export { SceneAssetAction } from './modules/SceneAsset';
12
13
  export { GameModeAction } from './modules/GameMode';
13
14
  export { AnimationAction } from './modules/Animation';
@@ -16,8 +17,10 @@ export { InitAction } from './modules/Init';
16
17
  export { VideoFusionAction } from './modules/VideoFusion';
17
18
  export { WindowAction } from './modules/Window';
18
19
  export { SingleMeshAction } from './modules/SingleMesh';
20
+ export { SpatialOperationAction } from './modules/SpatialOperation';
19
21
  export type { SceneAssetActionType, SceneAssetType, RoomMapLocationParam, PoiMapLocationParam, SceneAssetMapLocationPayload, SceneAssetPayload, SceneAssetOnAssetSelectedData, SceneAssetOnEditAssetData, SceneAssetPushData, SceneAssetPushMessage } from './modules/SceneAsset';
20
22
  export type { WindowActionType, WindowCrudAction, WindowPopType, WindowDetailRowType, WindowDetailParam, WindowInfo, WindowPayload } from './modules/Window';
21
23
  export type { SingleMeshOp, SingleMeshSceneType, SingleMeshDeviceModelType, SingleMeshDeviceCategory, SingleMeshDevice, SingleMeshScene, SingleMeshPayload } from './modules/SingleMesh';
22
24
  export type { InitVideoOptions } from './modules/Init';
25
+ export type { SpatialSelectType, SpatialMeasureType } from './modules/SpatialOperation';
23
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,YAAY,EACR,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC5B,iBAAiB,EACjB,6BAA6B,EAC7B,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,EACxB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EACR,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,aAAa,EAChB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACR,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACpB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,YAAY,EACR,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC5B,iBAAiB,EACjB,6BAA6B,EAC7B,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,EACxB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EACR,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,aAAa,EAChB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACR,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACpB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA"}
package/dist/index.js CHANGED
@@ -8,6 +8,7 @@ export { StatusAction } from './modules/Status';
8
8
  export { CameraViewAction } from './modules/CameraView';
9
9
  export { FocusAction } from './modules/Focus';
10
10
  export { SceneAction } from './modules/Scene';
11
+ export { SceneMarkAction } from './modules/SceneMark';
11
12
  export { SceneAssetAction } from './modules/SceneAsset';
12
13
  export { GameModeAction } from './modules/GameMode';
13
14
  export { AnimationAction } from './modules/Animation';
@@ -16,4 +17,5 @@ export { InitAction } from './modules/Init';
16
17
  export { VideoFusionAction } from './modules/VideoFusion';
17
18
  export { WindowAction } from './modules/Window';
18
19
  export { SingleMeshAction } from './modules/SingleMesh';
20
+ export { SpatialOperationAction } from './modules/SpatialOperation';
19
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA"}
@@ -36,7 +36,7 @@ export declare class Action {
36
36
  * @param param 发送的参数
37
37
  * @param msg 打印的信息
38
38
  * @param timeout 超时时间(毫秒),默认 10 秒
39
- * @returns 收到响应时 resolve 为三维数据;超时时 resolve `{ timedOut: true, requestId }`(不 reject)
39
+ * @returns 收到响应时 resolve 为三维数据;超时时 reject(含 requestId 于错误信息)
40
40
  */
41
41
  static sendParam<T extends SendParam>(param: T, msg?: string, timeout?: number): Promise<any>;
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Action.d.ts","sourceRoot":"","sources":["../../src/modules/Action.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnF,MAAM,WAAW,SAAS;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE;QACF,MAAM,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACtB,CAAC;CACL;AAeD,qBAAa,MAAM;IAEf,OAAO,CAAC,MAAM,CAAC,eAAe,CAAqC;IAEnE,yEAAyE;IACzE,OAAO,CAAC,MAAM,CAAC,aAAa,CAA8B;IAG1D,OAAO,CAAC,MAAM,CAAC,cAAc,CAAS;IAEtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC;;;;OAIG;IACH;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAKlC;;;;OAIG;IACH,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;IAkErF,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG;IAgBvC;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,SAAS,EAChC,KAAK,EAAE,CAAC,EACR,GAAG,GAAE,MAAW,EAChB,OAAO,GAAE,MAA4B,GACtC,OAAO,CAAC,GAAG,CAAC;CAqClB"}
1
+ {"version":3,"file":"Action.d.ts","sourceRoot":"","sources":["../../src/modules/Action.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnF,MAAM,WAAW,SAAS;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE;QACF,MAAM,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACtB,CAAC;CACL;AAeD,qBAAa,MAAM;IAEf,OAAO,CAAC,MAAM,CAAC,eAAe,CAAqC;IAEnE,yEAAyE;IACzE,OAAO,CAAC,MAAM,CAAC,aAAa,CAA8B;IAG1D,OAAO,CAAC,MAAM,CAAC,cAAc,CAAS;IAEtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC;;;;OAIG;IACH;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAKlC;;;;OAIG;IACH,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;IAkErF,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG;IAgBvC;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,SAAS,EAChC,KAAK,EAAE,CAAC,EACR,GAAG,GAAE,MAAW,EAChB,OAAO,GAAE,MAA4B,GACtC,OAAO,CAAC,GAAG,CAAC;CAoClB"}
@@ -103,7 +103,7 @@ export class Action {
103
103
  * @param param 发送的参数
104
104
  * @param msg 打印的信息
105
105
  * @param timeout 超时时间(毫秒),默认 10 秒
106
- * @returns 收到响应时 resolve 为三维数据;超时时 resolve `{ timedOut: true, requestId }`(不 reject)
106
+ * @returns 收到响应时 resolve 为三维数据;超时时 reject(含 requestId 于错误信息)
107
107
  */
108
108
  static sendParam(param, msg = '', timeout = this.defaultTimeout) {
109
109
  return new Promise((resolve, reject) => {
@@ -115,8 +115,7 @@ export class Action {
115
115
  console.log(`发送给三维|${msg}`, JSON.stringify(paramWithId));
116
116
  const timeoutHandle = setTimeout(() => {
117
117
  this.pendingRequests.delete(requestId);
118
- console.warn(`请求等待超时(三维可能不返回): ${msg}`);
119
- resolve({ timedOut: true, requestId });
118
+ reject(new Error(`请求等待超时(三维可能不返回): ${msg} [requestId=${requestId}]`));
120
119
  }, timeout);
121
120
  // 存储待处理的请求(通过 requestId 匹配)
122
121
  this.pendingRequests.set(requestId, {
@@ -1 +1 @@
1
- {"version":3,"file":"Action.js","sourceRoot":"","sources":["../../src/modules/Action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Action.js","sourceRoot":"","sources":["../../src/modules/Action.ts"],"names":[],"mappings":"AAuBA,MAAM,OAAO,MAAM;IAUf;;OAEG;IACK,MAAM,CAAC,iBAAiB;QAC5B,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACH;;OAEG;IACK,MAAM,CAAC,mBAAmB,CAAC,UAAkB;QACjD,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC1D,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,wBAAwB,CAAC,GAAoB,EAAE,SAA+B;QACjF,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,GAAU,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,IAAI,CAAC,CAAC;YAClB,OAAO;QACX,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrF,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,IAAS,CAAC;YACd,IAAI,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC5B,OAAO;YACX,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,IAAI,CAAC,CAAC;YAClB,OAAO;QACX,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE1B,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjF,OAAO;QACX,CAAC;QAED,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACtC,OAAO;YACX,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,IAAI,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACvF,CAAC;YACD,OAAO;QACX,CAAC;QAED,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACtC,OAAO;YACX,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,IAAI,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,IAAI,IAAS,CAAC;YACd,IAAI,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;gBACpC,OAAO;YACX,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,IAAI,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,YAAiB;QACnC,0CAA0C;QAC1C,IAAI,YAAY,CAAC,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAE,CAAC;YAClE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAEpD,4BAA4B;YAC5B,IAAI,YAAY,CAAC,IAAI,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACvD,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC;YAC9D,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CACZ,KAAQ,EACR,MAAc,EAAE,EAChB,UAAkB,IAAI,CAAC,cAAc;QAErC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;YACnC,WAAW;YACX,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE3C,qBAAqB;YACrB,MAAM,WAAW,mCACV,KAAK,KACR,SAAS,GACZ,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;YAEzD,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBAClC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,GAAG,eAAe,SAAS,GAAG,CAAC,CAAC,CAAC;YAC1E,CAAC,EAAE,OAAO,CAAC,CAAC;YAEZ,4BAA4B;YAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE;gBAChC,OAAO;gBACP,MAAM;gBACN,OAAO,EAAE,aAAa;aACzB,CAAC,CAAC;YAEH,iEAAiE;YACjE,IAAI,CAAC;gBACD,MAAC,MAAc,CAAC,EAAE,0CAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACvC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;;AAlKD,2BAA2B;AACZ,sBAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;AAEnE,yEAAyE;AAC1D,oBAAa,GAAyB,IAAI,CAAC;AAE1D,aAAa;AACE,qBAAc,GAAG,KAAK,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * 场景取点(标记)相关指令
3
+ */
4
+ import { Action } from "./Action";
5
+ /** 取点指令:启用 / 禁用 / 获取当前鼠标在场景中的坐标 */
6
+ export type SceneMarkActionType = "enable" | "disable" | "get";
7
+ export declare class SceneMarkAction extends Action {
8
+ /**
9
+ * 启用取点功能
10
+ * `{ "cmd": "senceMark", "data": { "action": "enable" } }`
11
+ */
12
+ static enable(): Promise<any>;
13
+ /**
14
+ * 禁用取点功能
15
+ * `{ "cmd": "senceMark", "data": { "action": "disable" } }`
16
+ */
17
+ static disable(): Promise<any>;
18
+ /**
19
+ * 取当前鼠标在场景中的点坐标
20
+ * `{ "cmd": "senceMark", "data": { "action": "get" } }`
21
+ */
22
+ static get(): Promise<any>;
23
+ }
24
+ //# sourceMappingURL=SceneMark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneMark.d.ts","sourceRoot":"","sources":["../../src/modules/SceneMark.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAE7C,mCAAmC;AACnC,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;AAS/D,qBAAa,eAAgB,SAAQ,MAAM;IACvC;;;OAGG;IACH,MAAM,CAAC,MAAM;IAQb;;;OAGG;IACH,MAAM,CAAC,OAAO;IAQd;;;OAGG;IACH,MAAM,CAAC,GAAG;CAOb"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * 场景取点(标记)相关指令
3
+ */
4
+ import { Action } from "./Action";
5
+ export class SceneMarkAction extends Action {
6
+ /**
7
+ * 启用取点功能
8
+ * `{ "cmd": "senceMark", "data": { "action": "enable" } }`
9
+ */
10
+ static enable() {
11
+ const sendParam = {
12
+ cmd: "senceMark",
13
+ data: { action: "enable" },
14
+ };
15
+ return this.sendParam(sendParam, "启用取点功能");
16
+ }
17
+ /**
18
+ * 禁用取点功能
19
+ * `{ "cmd": "senceMark", "data": { "action": "disable" } }`
20
+ */
21
+ static disable() {
22
+ const sendParam = {
23
+ cmd: "senceMark",
24
+ data: { action: "disable" },
25
+ };
26
+ return this.sendParam(sendParam, "禁用取点功能");
27
+ }
28
+ /**
29
+ * 取当前鼠标在场景中的点坐标
30
+ * `{ "cmd": "senceMark", "data": { "action": "get" } }`
31
+ */
32
+ static get() {
33
+ const sendParam = {
34
+ cmd: "senceMark",
35
+ data: { action: "get" },
36
+ };
37
+ return this.sendParam(sendParam, "取当前鼠标在场景中的点坐标");
38
+ }
39
+ }
40
+ //# sourceMappingURL=SceneMark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneMark.js","sourceRoot":"","sources":["../../src/modules/SceneMark.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAY7C,MAAM,OAAO,eAAgB,SAAQ,MAAM;IACvC;;;OAGG;IACH,MAAM,CAAC,MAAM;QACT,MAAM,SAAS,GAAuB;YAClC,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAO;QACV,MAAM,SAAS,GAAuB;YAClC,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;SAC9B,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG;QACN,MAAM,SAAS,GAAuB;YAClC,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;SAC1B,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACtD,CAAC;CACJ"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * 空间操作:场景选择(框选/圈选等)与测绘(点、距离、面积等)。
3
+ */
4
+ import { Action } from "./Action";
5
+ /** action = select:选择场景中的 actor */
6
+ export type SpatialSelectType = "box" | "circle" | "circle3D" | "close";
7
+ /** action = measure:测量 */
8
+ export type SpatialMeasureType = "Point" | "Distance" | "Area" | "Height" | "Elevation" | "Volume" | "Close";
9
+ export declare class SpatialOperationAction extends Action {
10
+ /**
11
+ * 选择场景中的 actor。
12
+ * - `box`:框选
13
+ * - `circle`:基于屏幕圈选
14
+ * - `circle3D`:基于模型圈选
15
+ * - `close`:关闭选择功能
16
+ */
17
+ static select(type: SpatialSelectType): Promise<any>;
18
+ /**
19
+ * 测绘。
20
+ * - `Point` / `Distance` / `Area` / `Height` / `Elevation` / `Volume`:对应测量模式
21
+ * - `Close`:停止绘制
22
+ */
23
+ static measure(type: SpatialMeasureType): Promise<any>;
24
+ }
25
+ //# sourceMappingURL=SpatialOperation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpatialOperation.d.ts","sourceRoot":"","sources":["../../src/modules/SpatialOperation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAE7C,mCAAmC;AACnC,MAAM,MAAM,iBAAiB,GACvB,KAAK,GACL,QAAQ,GACR,UAAU,GACV,OAAO,CAAC;AAEd,0BAA0B;AAC1B,MAAM,MAAM,kBAAkB,GACxB,OAAO,GACP,UAAU,GACV,MAAM,GACN,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,CAAC;AASd,qBAAa,sBAAuB,SAAQ,MAAM;IAC9C;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB;IAcrC;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB;CAO1C"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * 空间操作:场景选择(框选/圈选等)与测绘(点、距离、面积等)。
3
+ */
4
+ import { Action } from "./Action";
5
+ export class SpatialOperationAction extends Action {
6
+ /**
7
+ * 选择场景中的 actor。
8
+ * - `box`:框选
9
+ * - `circle`:基于屏幕圈选
10
+ * - `circle3D`:基于模型圈选
11
+ * - `close`:关闭选择功能
12
+ */
13
+ static select(type) {
14
+ const sendParam = {
15
+ cmd: "spatialOperation",
16
+ data: { action: "select", type },
17
+ };
18
+ const typeLabel = {
19
+ box: "框选",
20
+ circle: "屏幕圈选",
21
+ circle3D: "模型圈选",
22
+ close: "关闭选择",
23
+ };
24
+ return this.sendParam(sendParam, `空间选择 - ${typeLabel[type]}`);
25
+ }
26
+ /**
27
+ * 测绘。
28
+ * - `Point` / `Distance` / `Area` / `Height` / `Elevation` / `Volume`:对应测量模式
29
+ * - `Close`:停止绘制
30
+ */
31
+ static measure(type) {
32
+ const sendParam = {
33
+ cmd: "spatialOperation",
34
+ data: { action: "measure", type },
35
+ };
36
+ return this.sendParam(sendParam, `空间测绘 - ${type}`);
37
+ }
38
+ }
39
+ //# sourceMappingURL=SpatialOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpatialOperation.js","sourceRoot":"","sources":["../../src/modules/SpatialOperation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AA0B7C,MAAM,OAAO,sBAAuB,SAAQ,MAAM;IAC9C;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,IAAuB;QACjC,MAAM,SAAS,GAA8B;YACzC,GAAG,EAAE,kBAAkB;YACvB,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;SACnC,CAAC;QACF,MAAM,SAAS,GAAsC;YACjD,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,MAAM;SAChB,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,IAAwB;QACnC,MAAM,SAAS,GAA8B;YACzC,GAAG,EAAE,kBAAkB;YACvB,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;SACpC,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "model-action",
3
- "version": "2.2.1",
3
+ "version": "2.2.2",
4
4
  "description": "与三维交互api",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -8,6 +8,7 @@ export { StatusAction } from './modules/Status'
8
8
  export { CameraViewAction } from './modules/CameraView'
9
9
  export { FocusAction } from './modules/Focus'
10
10
  export { SceneAction } from './modules/Scene'
11
+ export { SceneMarkAction } from './modules/SceneMark'
11
12
  export { SceneAssetAction } from './modules/SceneAsset'
12
13
  export { GameModeAction } from './modules/GameMode'
13
14
  export { AnimationAction } from './modules/Animation'
@@ -16,6 +17,7 @@ export { InitAction } from './modules/Init'
16
17
  export { VideoFusionAction } from './modules/VideoFusion'
17
18
  export { WindowAction } from './modules/Window'
18
19
  export { SingleMeshAction } from './modules/SingleMesh'
20
+ export { SpatialOperationAction } from './modules/SpatialOperation'
19
21
  export type {
20
22
  SceneAssetActionType,
21
23
  SceneAssetType,
@@ -46,4 +48,5 @@ export type {
46
48
  SingleMeshScene,
47
49
  SingleMeshPayload
48
50
  } from './modules/SingleMesh'
49
- export type { InitVideoOptions } from './modules/Init'
51
+ export type { InitVideoOptions } from './modules/Init'
52
+ export type { SpatialSelectType, SpatialMeasureType } from './modules/SpatialOperation'
@@ -143,7 +143,7 @@ export class Action {
143
143
  * @param param 发送的参数
144
144
  * @param msg 打印的信息
145
145
  * @param timeout 超时时间(毫秒),默认 10 秒
146
- * @returns 收到响应时 resolve 为三维数据;超时时 resolve `{ timedOut: true, requestId }`(不 reject)
146
+ * @returns 收到响应时 resolve 为三维数据;超时时 reject(含 requestId 于错误信息)
147
147
  */
148
148
  static sendParam<T extends SendParam>(
149
149
  param: T,
@@ -164,8 +164,7 @@ export class Action {
164
164
 
165
165
  const timeoutHandle = setTimeout(() => {
166
166
  this.pendingRequests.delete(requestId);
167
- console.warn(`请求等待超时(三维可能不返回): ${msg}`);
168
- resolve({ timedOut: true, requestId });
167
+ reject(new Error(`请求等待超时(三维可能不返回): ${msg} [requestId=${requestId}]`));
169
168
  }, timeout);
170
169
 
171
170
  // 存储待处理的请求(通过 requestId 匹配)
@@ -0,0 +1,52 @@
1
+ /**
2
+ * 场景取点(标记)相关指令
3
+ */
4
+ import { Action, SendParam } from "./Action";
5
+
6
+ /** 取点指令:启用 / 禁用 / 获取当前鼠标在场景中的坐标 */
7
+ export type SceneMarkActionType = "enable" | "disable" | "get";
8
+
9
+ type SceneMarkParamType = SendParam & {
10
+ cmd: "senceMark";
11
+ data: {
12
+ action: SceneMarkActionType;
13
+ };
14
+ };
15
+
16
+ export class SceneMarkAction extends Action {
17
+ /**
18
+ * 启用取点功能
19
+ * `{ "cmd": "senceMark", "data": { "action": "enable" } }`
20
+ */
21
+ static enable() {
22
+ const sendParam: SceneMarkParamType = {
23
+ cmd: "senceMark",
24
+ data: { action: "enable" },
25
+ };
26
+ return this.sendParam(sendParam, "启用取点功能");
27
+ }
28
+
29
+ /**
30
+ * 禁用取点功能
31
+ * `{ "cmd": "senceMark", "data": { "action": "disable" } }`
32
+ */
33
+ static disable() {
34
+ const sendParam: SceneMarkParamType = {
35
+ cmd: "senceMark",
36
+ data: { action: "disable" },
37
+ };
38
+ return this.sendParam(sendParam, "禁用取点功能");
39
+ }
40
+
41
+ /**
42
+ * 取当前鼠标在场景中的点坐标
43
+ * `{ "cmd": "senceMark", "data": { "action": "get" } }`
44
+ */
45
+ static get() {
46
+ const sendParam: SceneMarkParamType = {
47
+ cmd: "senceMark",
48
+ data: { action: "get" },
49
+ };
50
+ return this.sendParam(sendParam, "取当前鼠标在场景中的点坐标");
51
+ }
52
+ }
@@ -0,0 +1,64 @@
1
+ /**
2
+ * 空间操作:场景选择(框选/圈选等)与测绘(点、距离、面积等)。
3
+ */
4
+ import { Action, SendParam } from "./Action";
5
+
6
+ /** action = select:选择场景中的 actor */
7
+ export type SpatialSelectType =
8
+ | "box"
9
+ | "circle"
10
+ | "circle3D"
11
+ | "close";
12
+
13
+ /** action = measure:测量 */
14
+ export type SpatialMeasureType =
15
+ | "Point"
16
+ | "Distance"
17
+ | "Area"
18
+ | "Height"
19
+ | "Elevation"
20
+ | "Volume"
21
+ | "Close";
22
+
23
+ type SpatialOperationParamType = SendParam & {
24
+ cmd: "spatialOperation";
25
+ data:
26
+ | { action: "select"; type: SpatialSelectType }
27
+ | { action: "measure"; type: SpatialMeasureType };
28
+ };
29
+
30
+ export class SpatialOperationAction extends Action {
31
+ /**
32
+ * 选择场景中的 actor。
33
+ * - `box`:框选
34
+ * - `circle`:基于屏幕圈选
35
+ * - `circle3D`:基于模型圈选
36
+ * - `close`:关闭选择功能
37
+ */
38
+ static select(type: SpatialSelectType) {
39
+ const sendParam: SpatialOperationParamType = {
40
+ cmd: "spatialOperation",
41
+ data: { action: "select", type },
42
+ };
43
+ const typeLabel: Record<SpatialSelectType, string> = {
44
+ box: "框选",
45
+ circle: "屏幕圈选",
46
+ circle3D: "模型圈选",
47
+ close: "关闭选择",
48
+ };
49
+ return this.sendParam(sendParam, `空间选择 - ${typeLabel[type]}`);
50
+ }
51
+
52
+ /**
53
+ * 测绘。
54
+ * - `Point` / `Distance` / `Area` / `Height` / `Elevation` / `Volume`:对应测量模式
55
+ * - `Close`:停止绘制
56
+ */
57
+ static measure(type: SpatialMeasureType) {
58
+ const sendParam: SpatialOperationParamType = {
59
+ cmd: "spatialOperation",
60
+ data: { action: "measure", type },
61
+ };
62
+ return this.sendParam(sendParam, `空间测绘 - ${type}`);
63
+ }
64
+ }